diff --git a/index.html b/index.html
index 3a42269..0fd4556 100644
--- a/index.html
+++ b/index.html
@@ -1,10 +1,21 @@
-
+
-
+
+
- <%= title %>
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/router/index.ts b/src/router/index.ts
index e7b8ee5..bb793fa 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -23,4 +23,25 @@ router.beforeEach((to, _from, next) => {
}
next()
})
+//路由后置卫士
+router.afterEach((to) => {
+ //填充mate元信息
+ const { title , keywords, description } = to.meta
+ //详情页标题
+ const detailTitle = title
+ //设置title
+ if (detailTitle) {
+ document.title = detailTitle + ' - ' + import.meta.env.VITE_APP_TITLE
+ } else {
+ document.title = import.meta.env.VITE_APP_TITLE
+ }
+
+ //设置meta
+ document.querySelector('meta[name="keywords"]')?.setAttribute("content", `${keywords}`)
+ document.querySelector('meta[name="description"]')?.setAttribute("content", `${description}`)
+ //设置meta og
+ document.querySelector('meta[property="og:title"]')?.setAttribute("content", `${document.title}`)
+ document.querySelector('meta[property="og:site_name"]')?.setAttribute("content", `${document.title}`)
+ document.querySelector('meta[property="og:description"]')?.setAttribute("content", `${description}`)
+})
export default router
diff --git a/src/router/router.ts b/src/router/router.ts
index 61d54af..33e24d1 100644
--- a/src/router/router.ts
+++ b/src/router/router.ts
@@ -5,7 +5,8 @@ export const constantRoute = [
component: () => import('@/components/Home/Home.vue'),
name: 'home',
meta: {
- title: ""
+ keywords: '然部落工具坊,在线工具,开发人员工具,时间戳转换,加密,解密,md5,进制转换,二维码,正则表达式,json格式化,照片处理,字数统计',
+ description: '然部落工具坊,在线工具大全,开发人员工具,日常生活工具,办公助手,时间戳转换,加密,解密,md5,进制转换,二维码,正则表达式,json格式化,照片处理,字数统计',
}
},
{
@@ -13,7 +14,9 @@ export const constantRoute = [
component: () => import('@/components/TimeTran/TimeTran.vue'),
name: 'timetran',
meta: {
- title: "时间戳转换"
+ title: "时间戳转换",
+ keywords: '时间,日期转换时间戳,Unix时间戳',
+ description: 'Unix时间戳转换可以把Unix时间转成北京时间。',
}
},
{
@@ -21,7 +24,9 @@ export const constantRoute = [
component: () => import('@/components/MD5/MD5.vue'),
name: 'MD5',
meta: {
- title: "MD5在线加密"
+ title: "MD5在线加密",
+ keywords: 'md5加密,md5在线加密,md5',
+ description: '在线md5加密,一键生成md5加密字符串,可生成16位或32位md5加密字符串,md5双重加密',
}
},
{
@@ -29,7 +34,9 @@ export const constantRoute = [
component: () => import('@/components/JsonTran/JsonTran.vue'),
name: 'json',
meta: {
- title: "Json在线转换"
+ title: "Json在线转换",
+ keywords: 'json编辑器,json格式化,json压缩,json转义,json去转义',
+ description: 'json编辑器,json解析,json格式化,json压缩,json转义,json去转义',
}
},
{
@@ -37,7 +44,9 @@ export const constantRoute = [
component: () => import('@/components/RegTest/RegTest.vue'),
name: 'reg',
meta: {
- title: "正则表达式测试"
+ title: "正则表达式测试",
+ keywords: '正则表达式测试工具,常用正则表达式,在线正则表达式',
+ description: '正则表达式测试工具,常用正则表达式,在线正则表达式',
}
},
{
@@ -45,7 +54,9 @@ export const constantRoute = [
component: () => import('@/components/Unicode/Unicode.vue'),
name: 'unicode',
meta: {
- title: "Unicode转中文"
+ title: "Unicode转中文",
+ keywords: '在线Unicode编码转换,中文转Unicode,Unicode转中文',
+ description: '在线Unicode编码转换,中文转Unicode,Unicode转中文,在文本框里输入要转换的内容,然后点击要转换的类型按钮,转换完成后即可看到对应的内容。..',
}
},
{
@@ -53,7 +64,9 @@ export const constantRoute = [
component: () => import('@/components/WordCount/WordCount.vue'),
name: 'wordcount',
meta: {
- title: "在线字数统计"
+ title: "在线字数统计",
+ keywords: '在线字数计算器,计算字数,在线字数统计器,字数计数器',
+ description: '在线字数计数器,主要是方便计算字数,以控制文字数量的小工具(小说作者、论文、文案文档、文字编辑必备工具)。',
}
},
{
@@ -61,7 +74,9 @@ export const constantRoute = [
component: () => import('@/components/Ip/Ip.vue'),
name: 'ip',
meta: {
- title: "IP查询"
+ title: "IP查询",
+ keywords: 'ip,ip查询,ip地址查询,ip138,查ip,我的ip,公网ip,ip归属地查询',
+ description: '公网ip地址归属地查询',
}
},
{
@@ -69,7 +84,9 @@ export const constantRoute = [
component: () => import('@/components/ScaleTran/ScaleTran.vue'),
name: 'scaletran',
meta: {
- title: "常用进制转换"
+ title: "常用进制转换",
+ keywords: '进制转换,进制转换工具,10进制转2进制,2进制转10进制,10进制转62进制,62进制转10进制',
+ description: '常用进制转换工具,支持32进制以上进制转换',
}
},
{
@@ -77,7 +94,9 @@ export const constantRoute = [
component: () => import('@/components/SignImage/SignImage.vue'),
name: 'signimage',
meta: {
- title: "在线编辑图片"
+ title: "在线编辑图片",
+ keywords: '图片裁剪,图片滤镜,图片旋转,图片编辑,美化图片',
+ description: '图片裁剪,图片滤镜,图片旋转,图片编辑,美化图片',
}
},
{
@@ -85,7 +104,9 @@ export const constantRoute = [
component: () => import('@/components/RandomPassword/RandomPassword.vue'),
name: 'random_password',
meta: {
- title: "随机密码生成"
+ title: "随机密码生成",
+ keywords: '在线生成随机密码,批量生成随机密码,密码生成',
+ description: '在线随机密码生成',
}
},
{
@@ -93,7 +114,9 @@ export const constantRoute = [
component: () => import('@/components/UrlEncode/UrlEncode.vue'),
name: 'urlencode',
meta: {
- title: "URL编码/解码"
+ title: "URL编码/解码",
+ keywords: 'url编码,url解码,url加密,url解密',
+ description: '在线url编码,在线url解码工具',
}
},
{
@@ -101,7 +124,9 @@ export const constantRoute = [
component: () => import('@/components/ASCII/ASCII.vue'),
name: 'ascii',
meta: {
- title: "ASCII码表"
+ title: "ASCII码表",
+ keywords: 'ascii,ascii码表,ascii对照表,ascii控制字符,ascii打印字符,ascii扩展码',
+ description: 'ascii全面对照表,包含控制字符,打印字符,扩展码',
}
},
{
@@ -109,7 +134,9 @@ export const constantRoute = [
component: () => import('@/components/UUID/UUID.vue'),
name: 'uuid',
meta: {
- title: "UUID生成器"
+ title: "UUID生成器",
+ keywords: 'UUID生成器',
+ description: 'uuid生成器,批量uuid生成',
}
},
{
@@ -117,7 +144,9 @@ export const constantRoute = [
component: () => import('@/components/Barrage/Barrage.vue'),
name: 'barrage',
meta: {
- title: "手持弹幕"
+ title: "手持弹幕",
+ keywords: '手持弹幕,弹幕工具',
+ description: '手持弹幕是一种新型的互动沟通工具,可以方便地为各种户外活动、演出嘉年华等活动增加趣味性和互动性。手持弹幕具有轻便、易携带、易操作等优点,可以让每个参与者都变成活动的一部分。同时,手持弹幕还可以通过预先编写的文本、表情等形式,表达参与者的情感和想法,实现沟通互动。在社交媒体时代,手持弹幕的使用也带来了更广泛的社交效应,增加了活动的互动性和传播度。无论是举办方还是参与者,手持弹幕都是一个非常有价值的互动工具。',
}
},
{
@@ -125,7 +154,9 @@ export const constantRoute = [
component: () => import('@/components/Palettes/Palettes.vue'),
name: 'palettes',
meta: {
- title: "色板"
+ title: "色板",
+ keywords: '色板,颜色板',
+ description: '在线复制颜色,好看的颜色组合色板',
}
},
{
@@ -133,7 +164,9 @@ export const constantRoute = [
component: () => import('@/components/Unit/Unit.vue'),
name: 'unit',
meta: {
- title: "单位转换"
+ title: "单位转换",
+ keywords: '在线单位换算,长度单位换算,面积单位换算,时间单位换算,重量单位换算,温度单位换算,压力单位换算,热量单位换算,功率单位换算。',
+ description: '在线单位换算,长度单位换算,面积单位换算,时间单位换算,重量单位换算,温度单位换算,压力单位换算,热量单位换算,功率单位换算。',
}
},
{
@@ -141,7 +174,9 @@ export const constantRoute = [
component: () => import('@/components/Qrcode/Qrcode.vue'),
name: 'qrcode',
meta: {
- title: "二维码生成"
+ title: "二维码生成",
+ keywords: '二维码,qrcode,二维码制作,二维码生成,微信二维码',
+ description: '在线生成二维码,logo二维码',
}
},
{
diff --git a/vite.config.ts b/vite.config.ts
index 67b5818..f955978 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -26,13 +26,13 @@ export default defineConfig(({command, mode}) => {
localEnabled: env.VITE_IS_MOCK == 'true' ? command === 'serve' : false,
}),
//修改html插件
- createHtmlPlugin({
- inject: {
- data: {
- title: env.VITE_APP_TITLE
- }
- }
- }),
+ // createHtmlPlugin({
+ // inject: {
+ // data: {
+ // title: env.VITE_APP_TITLE
+ // }
+ // }
+ // }),
seoperender()
],
resolve: {