From 144c22eb5654299d87b927fdb1312fdb57af9a68 Mon Sep 17 00:00:00 2001 From: osiris Date: Thu, 30 May 2024 17:54:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E5=E4=B8=AA=E5=B7=A5?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - WT解析器 - Http状态码 - html实体转义(#) - 颜色选择、转换器 - ASCII字形生成器 --- package.json | 4 + pnpm-lock.yaml | 33 ++- public/images/logo/HtmlEntity.png | Bin 0 -> 10411 bytes public/images/logo/ascii_word_pic.png | Bin 0 -> 5441 bytes public/images/logo/color_picker.png | Bin 0 -> 8410 bytes public/images/logo/http_code.png | Bin 0 -> 5123 bytes public/images/logo/jwt_parse.png | Bin 0 -> 3895 bytes .../Tools/ASCIIWordPic/ASCIIWordPic.vue | 184 +++++++++++++ .../Tools/ColorPicker/ColorPicker.vue | 248 ++++++++++++++++++ .../Tools/HtmlEntity/HtmlEntity.vue | 71 +++++ .../Tools/HttpStatusCode/HttpStatusCode.vue | 137 ++++++++++ src/components/Tools/JWT/JWT.vue | 98 +++++++ src/components/Tools/tools.ts | 107 +++++--- src/router/router.ts | 50 ++++ src/store/modules/linux.ts | 21 -- src/store/modules/tools.ts | 16 +- 16 files changed, 902 insertions(+), 67 deletions(-) create mode 100644 public/images/logo/HtmlEntity.png create mode 100644 public/images/logo/ascii_word_pic.png create mode 100644 public/images/logo/color_picker.png create mode 100644 public/images/logo/http_code.png create mode 100644 public/images/logo/jwt_parse.png create mode 100644 src/components/Tools/ASCIIWordPic/ASCIIWordPic.vue create mode 100644 src/components/Tools/ColorPicker/ColorPicker.vue create mode 100644 src/components/Tools/HtmlEntity/HtmlEntity.vue create mode 100644 src/components/Tools/HttpStatusCode/HttpStatusCode.vue create mode 100644 src/components/Tools/JWT/JWT.vue delete mode 100644 src/store/modules/linux.ts diff --git a/package.json b/package.json index 92c8acc..b9142b2 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,16 @@ "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^1.6.2", + "colord": "^2.9.3", "default-passive-events": "^2.0.0", "echarts": "^5.5.0", "element-plus": "^2.4.2", + "figlet": "^1.7.0", "highlight.js": "^11.9.0", "html2canvas": "^1.4.1", "imorse": "^1.0.0", + "jwt-decode": "^4.0.0", + "lodash": "^4.17.21", "prismjs": "^1.29.0", "qrcode-vue3": "^1.6.8", "sass": "^1.69.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44d11f4..402612b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,6 +53,9 @@ dependencies: axios: specifier: ^1.6.2 version: 1.6.2 + colord: + specifier: ^2.9.3 + version: 2.9.3 default-passive-events: specifier: ^2.0.0 version: 2.0.0 @@ -62,6 +65,9 @@ dependencies: element-plus: specifier: ^2.4.2 version: 2.4.3(vue@3.3.10) + figlet: + specifier: ^1.7.0 + version: 1.7.0 highlight.js: specifier: ^11.9.0 version: 11.9.0 @@ -71,6 +77,12 @@ dependencies: imorse: specifier: ^1.0.0 version: 1.0.0 + jwt-decode: + specifier: ^4.0.0 + version: 4.0.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -2109,6 +2121,10 @@ packages: dev: false optional: true + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: false + /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true @@ -2853,8 +2869,8 @@ packages: resolution: {integrity: sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==} dev: false - /dompurify@3.0.6: - resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} + /dompurify@3.1.4: + resolution: {integrity: sha512-2gnshi6OshmuKil8rMZuQCGiUF3cUxHY3NGDzUAdUx/NPEe5DVnO8BDoAQouvgwnx0R/+a6jUn36Z0FSdq8vww==} dev: false /domutils@1.7.0: @@ -3309,6 +3325,12 @@ packages: pend: 1.2.0 dev: false + /figlet@1.7.0: + resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} + engines: {node: '>= 0.4.0'} + hasBin: true + dev: false + /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -4188,6 +4210,11 @@ packages: dev: false optional: true + /jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + dev: false + /katex@0.13.24: resolution: {integrity: sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==} hasBin: true @@ -4533,7 +4560,7 @@ packages: d3-sankey: 0.12.3 dagre-d3-es: 7.0.10 dayjs: 1.11.10 - dompurify: 3.0.6 + dompurify: 3.1.4 elkjs: 0.8.2 khroma: 2.1.0 lodash-es: 4.17.21 diff --git a/public/images/logo/HtmlEntity.png b/public/images/logo/HtmlEntity.png new file mode 100644 index 0000000000000000000000000000000000000000..f612ae22db0debb7abd134e88f2db356c5ba1d32 GIT binary patch literal 10411 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 E0E}n|p#T5? literal 0 HcmV?d00001 diff --git a/public/images/logo/ascii_word_pic.png b/public/images/logo/ascii_word_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..47dbe5a07a1d4249d1f5b8251a91147baebc6724 GIT binary patch literal 5441 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ઍ*y5^rEiOf07{D|Wom}lv!*o}_k771t`A4V*h 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 literal 0 HcmV?d00001 diff --git a/public/images/logo/http_code.png b/public/images/logo/http_code.png new file mode 100644 index 0000000000000000000000000000000000000000..80535a956a231538b302004e052e33ddf6c6c355 GIT binary patch literal 5123 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 PpU5BsJuJFL$CdbBLr2Hw literal 0 HcmV?d00001 diff --git a/src/components/Tools/ASCIIWordPic/ASCIIWordPic.vue b/src/components/Tools/ASCIIWordPic/ASCIIWordPic.vue new file mode 100644 index 0000000..9566d94 --- /dev/null +++ b/src/components/Tools/ASCIIWordPic/ASCIIWordPic.vue @@ -0,0 +1,184 @@ + + + + + \ No newline at end of file diff --git a/src/components/Tools/ColorPicker/ColorPicker.vue b/src/components/Tools/ColorPicker/ColorPicker.vue new file mode 100644 index 0000000..e83e980 --- /dev/null +++ b/src/components/Tools/ColorPicker/ColorPicker.vue @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file diff --git a/src/components/Tools/HtmlEntity/HtmlEntity.vue b/src/components/Tools/HtmlEntity/HtmlEntity.vue new file mode 100644 index 0000000..810fb10 --- /dev/null +++ b/src/components/Tools/HtmlEntity/HtmlEntity.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/src/components/Tools/HttpStatusCode/HttpStatusCode.vue b/src/components/Tools/HttpStatusCode/HttpStatusCode.vue new file mode 100644 index 0000000..3ec6bb8 --- /dev/null +++ b/src/components/Tools/HttpStatusCode/HttpStatusCode.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/src/components/Tools/JWT/JWT.vue b/src/components/Tools/JWT/JWT.vue new file mode 100644 index 0000000..18667a1 --- /dev/null +++ b/src/components/Tools/JWT/JWT.vue @@ -0,0 +1,98 @@ + + + + + \ No newline at end of file diff --git a/src/components/Tools/tools.ts b/src/components/Tools/tools.ts index 8dcac6e..fd98baa 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: '/random_password/', cateId: 2, cate: '开发运维', }, @@ -22,7 +22,7 @@ export function getToolsCate() { title: 'URL编码/解码', logo: '/images/logo/url.png', desc: 'URL在线编码解码工具(UrlEncode编码 和 UrlDecode解码)', - url: '/urlencode', + url: '/urlencode/', cateId: 2, cate: '开发运维', }, @@ -31,7 +31,7 @@ export function getToolsCate() { title: 'UUID生成器', logo: '/images/logo/uuid.png', desc: '批量生成UUID', - url: '/uuid', + url: '/uuid/', cateId: 2, cate: '开发运维', }, @@ -40,7 +40,7 @@ export function getToolsCate() { title: '时间戳转换', logo: '/images/logo/Time.png', desc: '在线时间戳转换工具以及获取当前时间戳', - url: '/timetran', + url: '/timetran/', 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: '开发运维', }, @@ -58,7 +58,7 @@ export function getToolsCate() { title: 'Json在线转换', logo: '/images/logo/json.png', desc: '在线编辑json, 语法检查', - url: '/json', + url: '/json/', cateId: 2, cate: '开发运维', }, @@ -67,7 +67,7 @@ export function getToolsCate() { title: '正则测试工具', logo: '/images/logo/reg.png', desc: '正则表达式测试工具, 常用正则表达式', - url: '/reg', + url: '/reg/', cateId: 2, cate: '开发运维', }, @@ -76,7 +76,34 @@ export function getToolsCate() { title: 'Unicode转中文', logo: '/images/logo/union.png', desc: 'Unicode和中文的相互转换', - url: '/unicode', + url: '/unicode/', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + title: 'HTTP状态码', + logo: '/images/logo/http_code.png', + desc: 'http状态对应的名称和含义解释', + url: '/HttpStatusCode/', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + title: 'JWT解析', + logo: '/images/logo/jwt_parse.png', + desc: '解析和解码JSON Web Token(jwt)', + url: '/jwt/', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + title: 'html实体转义', + logo: '/images/logo/HtmlEntity.png', + desc: 'html实体转义,实体转义成html', + url: '/HtmlEntity/', cateId: 2, cate: '开发运维', } @@ -92,7 +119,7 @@ export function getToolsCate() { title: '文本对比', logo: '/images/logo/diff.png', desc: '文本差异比对支持中文、英文、代码比对', - url: '/diff', + url: '/diff/', cateId: 3, cate: '文本处理' }, @@ -101,7 +128,7 @@ export function getToolsCate() { title: 'markdown编辑器', logo: '/images/logo/file-markdown-fill.png', desc: '在线创建或编辑markdown, 实时预览,导出markdown', - url: '/markdown', + url: '/markdown/', cateId: 3, cate: '文本处理' }, @@ -110,7 +137,7 @@ export function getToolsCate() { title: '字数统计', logo: '/images/logo/wordCount.png', desc: '在线统计字符串的字数、段落、标点符号数量', - url: '/wordCount', + url: '/wordCount/', cateId: 3, cate: '文本处理', }, @@ -119,7 +146,16 @@ export function getToolsCate() { title: '文本去重', logo: '/images/logo/textRemoveDuplicate.png', desc: '可以删除或去除文本或字符串中的重复行', - url: '/textRemoveDuplicate', + url: '/textRemoveDuplicate/', + cateId: 3, + cate: '文本处理', + }, + { + id: 1, + title: 'ASCII字形生成器', + logo: '/images/logo/ascii_word_pic.png', + desc: '在线生成字形ASCII画', + url: '/asciiWordPic/', cateId: 3, cate: '文本处理', }, @@ -135,7 +171,7 @@ export function getToolsCate() { title: '单位换算', logo: '/images/logo/unit.png', desc: '在线重量、长度、面积、时间、角度、速度、温度、压力、热量、功率等换算', - url: '/unit', + url: '/unit/', cateId: 4, cate: '教育学术' }, @@ -144,7 +180,7 @@ export function getToolsCate() { title: '摩斯电码', logo: '/images/logo/medium.png', desc: '支持中文的摩斯电码编码解码', - url: '/morse', + url: '/morse/', cateId: 4, cate: '教育学术' }, @@ -153,7 +189,7 @@ export function getToolsCate() { title: '常用进制转换', logo: '/images/logo/scaletran.png', desc: '在线进制转换工具,可在2到64进制之间相互转换', - url: '/scaletran', + url: '/scaletran/', cateId: 4, cate: '教育学术', }, @@ -162,7 +198,7 @@ export function getToolsCate() { title: 'ASCII码表', logo: '/images/logo/ascii.png', desc: 'ASCII码表,控制代码、标准ASCII字符和非标准ASCII字符对照表', - url: '/ascii', + url: '/ascii/', cateId: 4, cate: '教育学术' }, @@ -178,7 +214,7 @@ export function getToolsCate() { title: '二维码生成', logo: '/images/logo/qrcode.png', desc: '在线生成带logo、透明、艺术的二维码', - url: '/qrcode', + url: '/qrcode/', cateId: 5, cate: '图片处理' }, @@ -187,7 +223,7 @@ export function getToolsCate() { title: '在线图片处理', logo: '/images/logo/img.png', desc: '在线图片裁剪,标注,滤镜,画等操作', - url: '/signimage', + url: '/signimage/', cateId: 5, cate: '图片处理', }, @@ -196,7 +232,7 @@ export function getToolsCate() { title: '文本转图片', logo: '/images/logo/text_to_img.png', desc: '把文本转换成图片,生成长图,具有超多个性文字排版', - url: '/textToImg', + url: '/textToImg/', cateId: 5, cate: '图片处理' }, @@ -205,7 +241,7 @@ export function getToolsCate() { title: '图片分割', logo: '/images/logo/imgCut.png', desc: '将图片分割成四宫格、九宫格、十六宫格,支持自定义行与列', - url: '/imgCut', + url: '/imgCut/', cateId: 5, cate: '图片处理', }, @@ -221,7 +257,7 @@ export function getToolsCate() { title: '柱状图', logo: '/images/logo/bar.png', desc: '在线制作柱状图,像做表格一样制作可视化图表,支持导出静态或动态图表', - url: '/bar', + url: '/bar/', cateId: 8, cate: '数据图表', },{ @@ -229,7 +265,7 @@ export function getToolsCate() { title: '折线图', logo: '/images/logo/line.png', desc: '在线制作折线图,像做表格一样制作可视化图表,支持导出静态或动态图表', - url: '/line', + url: '/line/', cateId: 8, cate: '数据图表', }, @@ -238,7 +274,7 @@ export function getToolsCate() { title: '饼图', logo: '/images/logo/pie.png', desc: '在线制作饼图,像做表格一样制作可视化图表,支持导出静态或动态图表', - url: '/pie', + url: '/pie/', cateId: 8, cate: '数据图表', }, @@ -247,7 +283,7 @@ export function getToolsCate() { title: '散点图', logo: '/images/logo/scatter.png', desc: '在线制作散点图,像做表格一样制作可视化图表,支持导出静态或动态图表', - url: '/scatter', + url: '/scatter/', cateId: 8, cate: '数据图表', } @@ -263,7 +299,7 @@ export function getToolsCate() { title: '生成随机数', logo: '/images/logo/random.png', desc: '可定制范围内进行随机数字,可用于抽奖、点名等用途', - url: '/random', + url: '/random/', cateId: 9, cate: '选择随机' }, @@ -272,7 +308,7 @@ export function getToolsCate() { title: '帮我决定', logo: '/images/logo/choose.png', desc: '选择困难,难以决定,今天吃什么,现在做什么,自定义选项都给你安排的明明白白', - url: '/decision', + url: '/decision/', cateId: 9, cate: '选择随机' }, @@ -281,7 +317,7 @@ export function getToolsCate() { title: '抛硬币', logo: '/images/logo/coin.png', desc: '在线抛硬币,选择困难那么交给硬币来帮你选择吧', - url: '/coin', + url: '/coin/', cateId: 9, cate: '选择随机', }, @@ -290,7 +326,7 @@ export function getToolsCate() { title: '投骰子', logo: '/images/logo/dice.png', desc: '在线投骰子,可自定义骰子数量,简单好用的骰子工具', - url: '/dice', + url: '/dice/', cateId: 9, cate: '选择随机', }, @@ -331,7 +367,7 @@ export function getToolsCate() { title: '数字转金额大写', logo: '/images/logo/numberToChinese.png', desc: '在线数字一键转换成人民币大写,中文大写转换数字', - url: '/numberToChinese', + url: '/numberToChinese/', cateId: 7, cate: '其他工具' }, @@ -340,7 +376,7 @@ export function getToolsCate() { title: '手持弹幕', logo: '/images/logo/dm.png', desc: '手持滚动弹幕', - url: '/barrage', + url: '/barrage/', cateId: 7, cate: '其他工具', }, @@ -349,7 +385,16 @@ export function getToolsCate() { title: '色板', logo: '/images/logo/palettes.png', desc: '包含纯色、渐变与阶梯色和常用色彩组合', - url: '/palettes', + url: '/palettes/', + cateId: 7, + cate: '其他工具' + }, + { + id: 1, + title: 'Color选择器', + logo: '/images/logo/color_picker.png', + desc: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色', + url: '/ColorPicker/', cateId: 7, cate: '其他工具' } diff --git a/src/router/router.ts b/src/router/router.ts index 467660e..2e45c18 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -341,6 +341,56 @@ export const constantRoute = [ description: '将图片分割成四宫格、九宫格、十六宫格,支持自定义行与列', } }, + { + path: '/HttpStatusCode', + component: () => import('@/components/Tools/HttpStatusCode/HttpStatusCode.vue'), + name: 'HttpStatusCode', + meta: { + title: "HTTP状态码", + keywords: 'http状态码', + description: '所有http状态对应的名称和含义解释', + } + }, + { + path: '/jwt', + component: () => import('@/components/Tools/JWT/JWT.vue'), + name: 'jwt', + meta: { + title: "JWT解析", + keywords: 'jwt解析,jwt解码,JSON Web Token解析', + description: '解析和解码JSON Web Token(jwt)', + } + }, + { + path: '/HtmlEntity', + component: () => import('@/components/Tools/HtmlEntity/HtmlEntity.vue'), + name: 'HtmlEntity', + meta: { + title: "html实体转义", + keywords: 'html实体转义', + description: 'html实体转义,实体转义成html', + } + }, + { + path: '/ColorPicker', + component: () => import('@/components/Tools/ColorPicker/ColorPicker.vue'), + name: 'ColorPicker', + meta: { + title: "Color选择器", + keywords: '颜色选择器,Color选择器', + description: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色', + } + }, + { + path: '/asciiWordPic', + component: () => import('@/components/Tools/ASCIIWordPic/ASCIIWordPic.vue'), + name: 'asciiWordPic', + meta: { + title: "Color选择器", + keywords: '颜色选择器,Color选择器', + description: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色', + } + }, // 关于 { path: '/about', diff --git a/src/store/modules/linux.ts b/src/store/modules/linux.ts deleted file mode 100644 index 559e9e6..0000000 --- a/src/store/modules/linux.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defineStore } from 'pinia' -export const useUserStore = defineStore('linux', { - //用来存放变量 - state: () => ({ - - }), - //方法 - actions: { - //获取tools - async getCmds() { - //发送请求 - // const result: any = await getTools(data) - // if (result.code == 200) { - - // return result.message - // } else { - // return Promise.reject(new Error(result.message)) - // } - }, - } -}) \ No newline at end of file diff --git a/src/store/modules/tools.ts b/src/store/modules/tools.ts index 9b71db8..231b24e 100644 --- a/src/store/modules/tools.ts +++ b/src/store/modules/tools.ts @@ -25,23 +25,15 @@ export const useToolsStore = defineStore('tools', { async getTools(data: ToolsReqData) { //发送请求 const result: any = await getTools(data) - if (result.code == 200) { - this.list = result.data - return result.message - } else { - return Promise.reject(new Error(result.message)) - } + this.list = result + return result }, //获取tool info async getToolInfo(data: ToolsReqData) { //发送请求 const result: any = await getTools(data) - if (result.code == 200) { - this.toolInfo = result.data[0] - return result.message - } else { - return Promise.reject(new Error(result.message)) - } + this.toolInfo = result + return result }, //获取tools cate async getToolCate() {