From a3f5cf6f2db201eb084bca4356bf9ba5e7bebd4e Mon Sep 17 00:00:00 2001 From: taoran Date: Wed, 29 Nov 2023 18:32:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20pinia=E7=BB=93=E5=90=88mock=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=8C=89=E5=88=86=E7=B1=BB=E5=92=8C=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=B7=A5=E5=85=B7=EF=BC=8C=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E5=92=8C=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 3 +- .gitignore | 4 +- mock/tools.ts | 153 ++++++++++++++++++ package.json | 4 +- src/App.vue | 6 +- src/api/common.ts | 5 + src/api/ip/index.ts | 2 +- src/api/ip/type.ts | 2 - src/api/tools/index.ts | 23 +++ src/api/tools/type.ts | 38 +++++ src/components/Header/Header.vue | 47 ------ src/components/Home/Home.vue | 152 ++++------------- src/components/Ip/Ip.vue | 13 +- src/components/JsonTran/JsonTran.vue | 13 +- .../Layout/DetailHeader/DetailHeader.vue | 27 ++++ src/components/{ => Layout}/Floor/Floor.vue | 2 +- src/components/Layout/Header/Header.vue | 120 ++++++++++++++ src/components/{ => Layout}/Right/Right.vue | 9 +- src/components/MD5/MD5.vue | 13 +- src/components/RegTest/RegTest.vue | 13 +- src/components/ScaleTran/ScaleTran.vue | 13 +- src/components/SignImage/SignImage.vue | 48 +++--- src/components/SignImage/SignImageCore.vue | 31 ++-- src/components/TimeTran/TimeTran.vue | 14 +- src/components/Unicode/Unicode.vue | 13 +- src/components/WordCount/WordCount.vue | 13 +- src/main.ts | 6 + src/store/index.ts | 7 + src/store/modules/tools.ts | 37 +++++ src/utils/file.ts | 40 +++++ src/utils/math.ts | 4 +- src/utils/request.ts | 1 - src/utils/verify.ts | 4 +- vite.config.ts | 8 +- 34 files changed, 561 insertions(+), 327 deletions(-) create mode 100644 mock/tools.ts create mode 100644 src/api/common.ts create mode 100644 src/api/tools/index.ts create mode 100644 src/api/tools/type.ts delete mode 100644 src/components/Header/Header.vue create mode 100644 src/components/Layout/DetailHeader/DetailHeader.vue rename src/components/{ => Layout}/Floor/Floor.vue (89%) create mode 100644 src/components/Layout/Header/Header.vue rename src/components/{ => Layout}/Right/Right.vue (77%) create mode 100644 src/store/index.ts create mode 100644 src/store/modules/tools.ts create mode 100644 src/utils/file.ts diff --git a/.env.example b/.env.example index 98e45a2..d0d84de 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,6 @@ # 变量必须以 VITE_ 为前缀才能暴露给外部读取 NODE_ENV = 'dev' VITE_APP_TITLE = '工具坊' +VITE_APP_WEBSITE = 'xxx.xxx.com' VITE_APP_BASE_API = '/api' -VITE_SERVE = 'http://xxx.com' \ No newline at end of file +VITE_SERVE = '' \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0e7aa9f..6f2e1ff 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,8 @@ node_modules dist dist-ssr *.local -.env.dev -.env.pro +.env.development +.env.production .vscode # Editor directories and files diff --git a/mock/tools.ts b/mock/tools.ts new file mode 100644 index 0000000..73fe831 --- /dev/null +++ b/mock/tools.ts @@ -0,0 +1,153 @@ +//获取tools +function getTools() { + return [ + { + id: 1, + value: '时间戳转换', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线时间戳转换工具以及获取当前时间戳', + url: '/timetran', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + value: 'MD5在线加密', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: 'MD5在线加密,长度包含32位、16位', + url: '/MD5', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + value: 'Json在线转换', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线编辑json, 语法检查', + url: '/json', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + value: '正则测试工具', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '正则表达式测试工具, 常用正则表达式', + url: '/reg', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + value: 'Unicode转中文', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: 'Unicode和中文的相互转换', + url: '/unicode', + cateId: 2, + cate: '开发运维', + }, + { + id: 1, + value: '字数统计', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线统计字符串的字数、段落、标点符号数量', + url: '/wordCount', + cateId: 3, + cate: '文本处理', + }, + { + id: 1, + value: 'IP查询', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线查询ip地址、ip归属地', + url: '/ip', + cateId: 6, + cate: '查询相关', + }, + { + id: 1, + value: '常用进制转换', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线进制转换工具,可在2到64进制之间相互转换', + url: '/scaletran', + cateId: 4, + cate: '教育学术', + }, + { + id: 1, + value: '在线图片处理', + img: 'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg', + desc: '在线图片裁剪,标注,滤镜,画等操作', + url: '/signimage', + cateId: 5, + cate: '设计工具', + } + ] +} + +//获取tools分类 +function getToolsCate() { + return [ + { + id: 0, + value: '全部工具', + }, + { + id: 2, + value: '开发运维' + }, + { + id: 3, + value: '文本处理' + }, + { + id: 4, + value: '教育学术' + }, + { + id: 5, + value: '设计工具' + }, + { + id: 6, + value: '查询相关' + } + ] +} + +export default [ + { + url: '/api/tools', + method: 'get',//请求方式 + response: (request) => { + //接收参数 + const { cateId, title } = request.query + //调用获取用户信息函数,用于判断是否有此用户 + let list = getTools() + //标题筛选 + if (title != '') { + list = list.filter(item => { + let tmpValue = item.value.toLowerCase() + return tmpValue.indexOf(title.toLowerCase()) !== -1; + }); + } + //分类筛选 + if (cateId > 0) { + list = list.filter(item => { + return item.cateId == cateId; + }); + } + return { code: 200, message: 'ok', data: list } + }, + }, + { + url: '/api/tool/cates', + method: 'get',//请求方式 + response: ({ body }) => { + //获取请求体携带过来的用户名与密码 + //调用获取用户信息函数,用于判断是否有此用户 + const list = getToolsCate() + return { code: 200, message: 'ok', data: list } + }, + } +] \ No newline at end of file diff --git a/package.json b/package.json index 0294ae5..98a2702 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "type": "module", "scripts": { "dev": "vite", - "build:dev": "vue-tsc && vite build --mode dev", - "build:pro": "vue-tsc && vite build --mode pro", + "build:dev": "vue-tsc && vite build --mode development", + "build:pro": "vue-tsc && vite build --mode production", "preview": "vite preview", "preinstall": "node ./scripts/preinstall.js" }, diff --git a/src/App.vue b/src/App.vue index 53da160..8c26721 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,7 @@