diff --git a/.gitignore b/.gitignore index 6f2e1ff..9098747 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ dist-ssr *.njsproj *.sln *.sw? + +public/sitemap.txt \ No newline at end of file diff --git a/README.md b/README.md index b803a53..01309f7 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ [![vue](https://img.shields.io/badge/any_text-3.3.10-origin?label=vue)](vue) [![tailwindcss](https://img.shields.io/badge/any_text-3.3.5-yellow?label=tailwindcss)](tailwindcss) [![elementplus](https://img.shields.io/badge/any_text-2.7-blue?label=element-plus)](elementplus) -[![license](https://img.shields.io/github/license/taoran1401/tools-web)](LICENSE) +[![license](https://img.shields.io/github/license/naroat/tools-web)](LICENSE) @@ -51,7 +51,7 @@ npm install pnpm -g 克隆 ``` -git clone --depth=1 https://github.com/taoran1401/tools-web.git +git clone --depth=1 https://github.com/naroat/tools-web.git ``` 安装 diff --git a/index.html b/index.html index f0c1cb4..24f236e 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,8 @@ - + + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..5ccb939 Binary files /dev/null and b/public/favicon.ico differ diff --git a/src/components/Home/About.vue b/src/components/Home/About.vue index 5ac6efe..238c082 100644 --- a/src/components/Home/About.vue +++ b/src/components/Home/About.vue @@ -6,16 +6,16 @@

关于 Tools-Web

- Tools-Web 是一款免费开源的轻量在线工具箱,包含开发、文本、媒体、图表、生活、查询等实用工具;如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!顺便再点个⭐️吧! + Tools-Web 是一款免费开源的轻量在线工具箱,包含开发、文本、媒体、图表、生活、查询等实用工具;如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!顺便再点个⭐️吧!

技术

- 主要基于Vite + Vue + ElementPlus + Typescript + TailwindCss开发,某些工具使用了第三方开源库,您可以在仓库的 package.json 文件中找到完整的列表。 + 主要基于Vite + Vue + ElementPlus + Typescript + TailwindCss开发,某些工具使用了第三方开源库,您可以在仓库的 package.json 文件中找到完整的列表。

发现了 Bug?

- 如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 issues 中提交错误报告。 + 如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 issues 中提交错误报告。

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