9 Commits
Author SHA1 Message Date
taoran 4fa19c1aed Merge branch 'feature/06' 2024-07-27 00:24:45 +08:00
taoran d984af3ebe fix: 修复多次搜索后无结果问题,修复骰子工具骰子图片丢失问题 2024-07-27 00:24:12 +08:00
taoran f289facdba Merge branch 'feature/06' 2024-07-09 18:25:43 +08:00
taoran 3604407dd7 fix: 路由名称seo优化 2024-07-09 18:25:17 +08:00
taoran a5233c55c6 Merge branch 'feature/06' 2024-07-05 18:29:43 +08:00
taoran ae62d59fa3 docs 2024-07-05 18:29:18 +08:00
taoran ba71938f01 fix 2024-07-04 10:38:48 +08:00
taoran 84f42c6825 Merge branch 'feature/06' 2024-06-28 12:12:57 +08:00
taoran c90524bac1 feat: add favicon 2024-06-28 12:12:50 +08:00
8 changed files with 52 additions and 50 deletions
+2
View File
@@ -25,3 +25,5 @@ dist-ssr
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
public/sitemap.txt
+2 -1
View File
@@ -3,7 +3,8 @@
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/src/assets/logo.png" /> <link rel="icon" type="image/svg+xml" href="/src/assets/logo.png" />
<link rel="shortcut icon" type="image/svg+xml" href="/src/assets/logo.png" /> <link rel="shortcut icon" type="image/svg+xml" href="/public/favicon.ico" />
<link rel="canonical" href="https://tools.ranblogs.com/">
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="renderer" content="webkit"> <meta name="renderer" content="webkit">
<meta name="keywords" content=""> <meta name="keywords" content="">
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

+2 -2
View File
@@ -42,7 +42,7 @@ const searchTools = async (query: string) => {
loading.value = true loading.value = true
if (query) { if (query) {
searchParam.title = query searchParam.title = query
await toolsStore.getTools(searchParam) options.value = await toolsStore.getTools(searchParam)
} else { } else {
options.value = [] options.value = []
} }
@@ -129,7 +129,7 @@ onMounted(() => {
size="large" size="large"
> >
<el-option <el-option
v-for="item in toolsStore.list" v-for="item in options"
:key="item.id" :key="item.id"
:label="item.title + ' - ' + item.desc" :label="item.title + ' - ' + item.desc"
:value="item.id" :value="item.id"
+10 -10
View File
@@ -9,25 +9,25 @@ const isDicing = ref(false)
const aniIndex = ref(0) const aniIndex = ref(0)
//掷筛子动画所用到的图片(4张骰子旋转过程中的图) //掷筛子动画所用到的图片(4张骰子旋转过程中的图)
const diceAnimationImages = ref([ const diceAnimationImages = ref([
'/public/images/dice/dice_run1.png', '/images/dice/dice_run1.png',
'/public/images/dice/dice_run2.png', '/images/dice/dice_run2.png',
'/public/images/dice/dice_run3.png', '/images/dice/dice_run3.png',
'/public/images/dice/dice_run4.png' '/images/dice/dice_run4.png'
]) ])
//骰子每一个点的对应的图片 //骰子每一个点的对应的图片
const diceImages = ref({ const diceImages = ref({
//1点的图片 //1点的图片
1: '/public/images/dice/dice1.png', 1: '/images/dice/dice1.png',
//2点的图片 //2点的图片
2: '/public/images/dice/dice2.png', 2: '/images/dice/dice2.png',
//3点的图片 //3点的图片
3: '/public/images/dice/dice3.png', 3: '/images/dice/dice3.png',
//4点的图片 //4点的图片
4: '/public/images/dice/dice4.png', 4: '/images/dice/dice4.png',
//5点的图片 //5点的图片
5: '/public/images/dice/dice5.png', 5: '/images/dice/dice5.png',
//6点的图片 //6点的图片
6: '/public/images/dice/dice6.png' 6: '/images/dice/dice6.png'
}) })
//当前掷筛子掷到的点数(默认1点) //当前掷筛子掷到的点数(默认1点)
const currentPoint = ref(1) const currentPoint = ref(1)
+16 -17
View File
@@ -13,7 +13,7 @@ export function getToolsCate() {
title: '随机密码生成', title: '随机密码生成',
logo: '/images/logo/keywords.png', logo: '/images/logo/keywords.png',
desc: '密码生成器、随机字符串生成,批量生成', desc: '密码生成器、随机字符串生成,批量生成',
url: '/random_password/', url: '/randompassword/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -49,7 +49,7 @@ export function getToolsCate() {
title: 'MD5在线加密', title: 'MD5在线加密',
logo: '/images/logo/md5.png', logo: '/images/logo/md5.png',
desc: 'MD5在线加密,长度包含32位、16位', desc: 'MD5在线加密,长度包含32位、16位',
url: '/MD5/', url: '/md5/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -85,7 +85,7 @@ export function getToolsCate() {
title: 'HTTP状态码', title: 'HTTP状态码',
logo: '/images/logo/http_code.png', logo: '/images/logo/http_code.png',
desc: 'http状态对应的名称和含义解释', desc: 'http状态对应的名称和含义解释',
url: '/HttpStatusCode/', url: '/httpstatuscode/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -103,7 +103,7 @@ export function getToolsCate() {
title: 'html实体转义', title: 'html实体转义',
logo: '/images/logo/HtmlEntity.png', logo: '/images/logo/HtmlEntity.png',
desc: 'html实体转义,实体转义成html', desc: 'html实体转义,实体转义成html',
url: '/HtmlEntity/', url: '/htmlentity/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -112,7 +112,7 @@ export function getToolsCate() {
title: 'js代码格式化/压缩', title: 'js代码格式化/压缩',
logo: '/images/logo/JSForamt.png', logo: '/images/logo/JSForamt.png',
desc: 'JS格式化/压缩工具,提供在线JS格式化、JS压缩、JS混淆、JS解密', desc: 'JS格式化/压缩工具,提供在线JS格式化、JS压缩、JS混淆、JS解密',
url: '/JSForamt/', url: '/jsforamt/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -121,7 +121,7 @@ export function getToolsCate() {
title: 'Html代码格式化', title: 'Html代码格式化',
logo: '/images/logo/HtmlFormat.png', logo: '/images/logo/HtmlFormat.png',
desc: '提供在线html、xml格式化', desc: '提供在线html、xml格式化',
url: '/HtmlFormat/', url: '/htmlformat/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
}, },
@@ -130,7 +130,7 @@ export function getToolsCate() {
title: 'Css代码格式化/压缩', title: 'Css代码格式化/压缩',
logo: '/images/logo/CssFormat.png', logo: '/images/logo/CssFormat.png',
desc: 'css格式化/压缩工具,提供在线css格式化、css压缩', desc: 'css格式化/压缩工具,提供在线css格式化、css压缩',
url: '/CssFormat/', url: '/cssformat/',
cateId: 2, cateId: 2,
cate: '开发运维', cate: '开发运维',
} }
@@ -164,7 +164,7 @@ export function getToolsCate() {
title: '字数统计', title: '字数统计',
logo: '/images/logo/wordCount.png', logo: '/images/logo/wordCount.png',
desc: '在线统计字符串的字数、段落、标点符号数量', desc: '在线统计字符串的字数、段落、标点符号数量',
url: '/wordCount/', url: '/wordcount/',
cateId: 3, cateId: 3,
cate: '文本处理', cate: '文本处理',
}, },
@@ -173,7 +173,7 @@ export function getToolsCate() {
title: '文本去重', title: '文本去重',
logo: '/images/logo/textRemoveDuplicate.png', logo: '/images/logo/textRemoveDuplicate.png',
desc: '可以删除或去除文本或字符串中的重复行', desc: '可以删除或去除文本或字符串中的重复行',
url: '/textRemoveDuplicate/', url: '/textremoveduplicate/',
cateId: 3, cateId: 3,
cate: '文本处理', cate: '文本处理',
}, },
@@ -182,7 +182,7 @@ export function getToolsCate() {
title: 'ASCII字形生成器', title: 'ASCII字形生成器',
logo: '/images/logo/ascii_word_pic.png', logo: '/images/logo/ascii_word_pic.png',
desc: '在线生成字形ASCII画', desc: '在线生成字形ASCII画',
url: '/asciiWordPic/', url: '/asciiwordpic/',
cateId: 3, cateId: 3,
cate: '文本处理', cate: '文本处理',
}, },
@@ -191,7 +191,7 @@ export function getToolsCate() {
title: '在线文本编辑/HTML获取', title: '在线文本编辑/HTML获取',
logo: '/images/logo/richtextEditor.png', logo: '/images/logo/richtextEditor.png',
desc: '在线富文本编辑, html实时预览,在线编辑文本,文本编辑获取html', desc: '在线富文本编辑, html实时预览,在线编辑文本,文本编辑获取html',
url: '/textEdit/', url: '/textedit/',
cateId: 3, cateId: 3,
cate: '文本处理' cate: '文本处理'
}, },
@@ -340,7 +340,7 @@ export function getToolsCate() {
title: '文本转图片', title: '文本转图片',
logo: '/images/logo/text_to_img.png', logo: '/images/logo/text_to_img.png',
desc: '把文本转换成图片,生成长图,具有超多个性文字排版', desc: '把文本转换成图片,生成长图,具有超多个性文字排版',
url: '/textToImg/', url: '/texttoimg/',
cateId: 5, cateId: 5,
cate: '图片处理' cate: '图片处理'
}, },
@@ -349,7 +349,7 @@ export function getToolsCate() {
title: '图片分割', title: '图片分割',
logo: '/images/logo/imgCut.png', logo: '/images/logo/imgCut.png',
desc: '将图片分割成四宫格、九宫格、十六宫格,支持自定义行与列', desc: '将图片分割成四宫格、九宫格、十六宫格,支持自定义行与列',
url: '/imgCut/', url: '/imgcut/',
cateId: 5, cateId: 5,
cate: '图片处理', cate: '图片处理',
}, },
@@ -475,7 +475,7 @@ export function getToolsCate() {
title: '数字转金额大写', title: '数字转金额大写',
logo: '/images/logo/numberToChinese.png', logo: '/images/logo/numberToChinese.png',
desc: '在线数字一键转换成人民币大写,中文大写转换数字', desc: '在线数字一键转换成人民币大写,中文大写转换数字',
url: '/numberToChinese/', url: '/numbertochinese/',
cateId: 7, cateId: 7,
cate: '其他工具' cate: '其他工具'
}, },
@@ -502,7 +502,7 @@ export function getToolsCate() {
title: 'Color选择器', title: 'Color选择器',
logo: '/images/logo/color_picker.png', logo: '/images/logo/color_picker.png',
desc: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色', desc: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色',
url: '/ColorPicker/', url: '/colorpicker/',
cateId: 7, cateId: 7,
cate: '其他工具' cate: '其他工具'
} }
@@ -542,13 +542,12 @@ export function getTools(data: ToolsReqData) {
const { cateId, title } = data const { cateId, title } = data
//获取工具list //获取工具list
let list = toolsList() let list = toolsList()
//标题筛选 //标题筛选
if (title != '') { if (title != '') {
list = list.filter(item => { list = list.filter(item => {
let tmpValue = item.title.toLowerCase() let tmpValue = item.title.toLowerCase()
let tmpDesc = item.desc.toLowerCase() let tmpDesc = item.desc.toLowerCase()
console.log(tmpValue.indexOf(title.toLowerCase())) // console.log(tmpValue.indexOf(title.toLowerCase()))
return tmpValue.indexOf(title.toLowerCase()) !== -1 || tmpDesc.indexOf(title.toLowerCase()) !== -1; return tmpValue.indexOf(title.toLowerCase()) !== -1 || tmpDesc.indexOf(title.toLowerCase()) !== -1;
}); });
} }
+1 -1
View File
@@ -33,7 +33,7 @@ router.afterEach((to) => {
if (detailTitle) { if (detailTitle) {
document.title = detailTitle + '-' + import.meta.env.VITE_APP_TITLE document.title = detailTitle + '-' + import.meta.env.VITE_APP_TITLE
} else { } else {
document.title = import.meta.env.VITE_APP_TITLE document.title = import.meta.env.VITE_APP_TITLE + '-' + import.meta.env.VITE_APP_DESC
} }
//设置meta //设置meta
+19 -19
View File
@@ -22,7 +22,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/MD5', path: '/md5',
component: () => import('@/components/Tools/MD5/MD5.vue'), component: () => import('@/components/Tools/MD5/MD5.vue'),
name: 'MD5', name: 'MD5',
meta: { meta: {
@@ -102,7 +102,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/random_password', path: '/randompassword',
component: () => import('@/components/Tools/RandomPassword/RandomPassword.vue'), component: () => import('@/components/Tools/RandomPassword/RandomPassword.vue'),
name: 'random_password', name: 'random_password',
meta: { meta: {
@@ -212,7 +212,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/numberToChinese', path: '/numbertochinese',
component: () => import('@/components/Tools/NumberToChinese/NumberToChinese.vue'), component: () => import('@/components/Tools/NumberToChinese/NumberToChinese.vue'),
name: 'numberToChinese', name: 'numberToChinese',
meta: { meta: {
@@ -242,7 +242,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/textToImg', path: '/texttoimg',
component: () => import('@/components/Tools/TextToImg/TextToImg.vue'), component: () => import('@/components/Tools/TextToImg/TextToImg.vue'),
name: 'textToImg', name: 'textToImg',
meta: { meta: {
@@ -252,7 +252,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/webInfo', path: '/webinfo',
component: () => import('@/components/Tools/WebInfo/WebInfo.vue'), component: () => import('@/components/Tools/WebInfo/WebInfo.vue'),
name: 'webInfo', name: 'webInfo',
meta: { meta: {
@@ -282,7 +282,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/Pie', path: '/pie',
component: () => import('@/components/Tools/Chart/Pie/Pie.vue'), component: () => import('@/components/Tools/Chart/Pie/Pie.vue'),
name: 'pie', name: 'pie',
meta: { meta: {
@@ -292,7 +292,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/Scatter', path: '/scatter',
component: () => import('@/components/Tools/Chart/Scatter/Scatter.vue'), component: () => import('@/components/Tools/Chart/Scatter/Scatter.vue'),
name: 'scatter', name: 'scatter',
meta: { meta: {
@@ -302,7 +302,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/Coin', path: '/coin',
component: () => import('@/components/Tools/Coin/Coin.vue'), component: () => import('@/components/Tools/Coin/Coin.vue'),
name: 'coin', name: 'coin',
meta: { meta: {
@@ -312,7 +312,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/Dice', path: '/dice',
component: () => import('@/components/Tools/Dice/Dice.vue'), component: () => import('@/components/Tools/Dice/Dice.vue'),
name: 'dice', name: 'dice',
meta: { meta: {
@@ -322,7 +322,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/TextRemoveDuplicate', path: '/textremoveduplicate',
component: () => import('@/components/Tools/TextRemoveDuplicate/TextRemoveDuplicate.vue'), component: () => import('@/components/Tools/TextRemoveDuplicate/TextRemoveDuplicate.vue'),
name: 'textRemoveDuplicate', name: 'textRemoveDuplicate',
meta: { meta: {
@@ -332,7 +332,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/ImgCut', path: '/imgcut',
component: () => import('@/components/Tools/ImgCut/ImgCut.vue'), component: () => import('@/components/Tools/ImgCut/ImgCut.vue'),
name: 'imgCut', name: 'imgCut',
meta: { meta: {
@@ -342,7 +342,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/HttpStatusCode', path: '/httpstatuscode',
component: () => import('@/components/Tools/HttpStatusCode/HttpStatusCode.vue'), component: () => import('@/components/Tools/HttpStatusCode/HttpStatusCode.vue'),
name: 'HttpStatusCode', name: 'HttpStatusCode',
meta: { meta: {
@@ -362,7 +362,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/HtmlEntity', path: '/htmlentity',
component: () => import('@/components/Tools/HtmlEntity/HtmlEntity.vue'), component: () => import('@/components/Tools/HtmlEntity/HtmlEntity.vue'),
name: 'HtmlEntity', name: 'HtmlEntity',
meta: { meta: {
@@ -372,7 +372,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/ColorPicker', path: '/colorpicker',
component: () => import('@/components/Tools/ColorPicker/ColorPicker.vue'), component: () => import('@/components/Tools/ColorPicker/ColorPicker.vue'),
name: 'ColorPicker', name: 'ColorPicker',
meta: { meta: {
@@ -382,7 +382,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/asciiWordPic', path: '/asciiwordpic',
component: () => import('@/components/Tools/ASCIIWordPic/ASCIIWordPic.vue'), component: () => import('@/components/Tools/ASCIIWordPic/ASCIIWordPic.vue'),
name: 'asciiWordPic', name: 'asciiWordPic',
meta: { meta: {
@@ -392,7 +392,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/JSForamt', path: '/jsforamt',
component: () => import('@/components/Tools/JSFormat/JSFormat.vue'), component: () => import('@/components/Tools/JSFormat/JSFormat.vue'),
name: 'JSForamt', name: 'JSForamt',
meta: { meta: {
@@ -402,7 +402,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/HtmlFormat', path: '/htmlformat',
component: () => import('@/components/Tools/HtmlFormat/HtmlFormat.vue'), component: () => import('@/components/Tools/HtmlFormat/HtmlFormat.vue'),
name: 'HtmlFormat', name: 'HtmlFormat',
meta: { meta: {
@@ -412,7 +412,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/CssFormat', path: '/cssformat',
component: () => import('@/components/Tools/CssFormat/CssFormat.vue'), component: () => import('@/components/Tools/CssFormat/CssFormat.vue'),
name: 'CssFormat', name: 'CssFormat',
meta: { meta: {
@@ -422,7 +422,7 @@ export const constantRoute = [
} }
}, },
{ {
path: '/TextEdit', path: '/textedit',
component: () => import('@/components/Tools/TextEdit/TextEdit.vue'), component: () => import('@/components/Tools/TextEdit/TextEdit.vue'),
name: 'TextEdit', name: 'TextEdit',
meta: { meta: {