-
-
{
- //接收参数
- const { cateId, title } = request.query
- //调用获取用户信息函数,用于判断是否有此用户
- let list = getTools()
- //标题筛选
- if (title != '') {
- list = list.filter(item => {
- let tmpValue = item.title.toLowerCase()
- let tmpDesc = item.desc.toLowerCase()
- return tmpValue.indexOf(title.toLowerCase()) !== -1 || tmpDesc.indexOf(title.toLowerCase()) !== -1;
- });
- }
- //分类筛选
- if (cateId > 0) {
- list = list.filter(item => {
- return item.cateId == cateId;
- });
- }
- return { code: 200, message: 'ok', data: list }
- },
- },
- {
- url: '/v1/tool/cates',
- method: 'get',//请求方式
- response: ({ body }) => {
- const list = getToolsCate()
- return { code: 200, message: 'ok', data: list }
- },
- },
- {
- url: '/v1/tool/recommends',
- method: 'get',//请求方式
- response: () => {
- let list = [] as any
- //获取推荐数量
- let num = 10
- const toolList = getTools()
- //使用Set数据结构来存储已经生成的随机数
- const set = new Set();
-
- while (set.size < num) {
- // 生成随机数
- const randomNum = Math.floor(Math.random() * toolList.length);
- // 如果随机数不在Set中,则添加到Set中并赋值给randomNumber变量
- if (!set.has(randomNum)) {
- set.add(randomNum);
- list.push(toolList[randomNum])
- }
- }
- return { code: 200, message: 'ok', data: list }
- },
+//获取工具
+export function getTools(data: ToolsReqData) {
+ //接收参数
+ const { cateId, title } = data
+ //获取工具
+ let list = [] as any[]
+ let toolsCate = getToolsCate()
+ for (let item in toolsCate) {
+ for (let _item in toolsCate[item].list) {
+ list.push(toolsCate[item].list[_item])
+ }
}
-]
\ No newline at end of file
+ //标题筛选
+ if (title != '') {
+ list = list.filter(item => {
+ let tmpValue = item.title.toLowerCase()
+ let tmpDesc = item.desc.toLowerCase()
+ return tmpValue.indexOf(title.toLowerCase()) !== -1 || tmpDesc.indexOf(title.toLowerCase()) !== -1;
+ });
+ }
+ //分类筛选
+ if (cateId > 0) {
+ list = list.filter(item => {
+ return item.cateId == cateId;
+ });
+ }
+}
+
+const ToolsExport = {
+ getTools,
+ getToolsCate,
+};
+
+export default ToolsExport;
\ No newline at end of file
diff --git a/src/api/tools/type.ts b/src/components/Tools/tools.type.ts
similarity index 71%
rename from src/api/tools/type.ts
rename to src/components/Tools/tools.type.ts
index 070f11e..c4c3d95 100644
--- a/src/api/tools/type.ts
+++ b/src/components/Tools/tools.type.ts
@@ -1,5 +1,3 @@
-import { ResponseData } from "../common"
-
export interface ToolsReqData {
cateId: number,
title: string,
@@ -32,16 +30,16 @@ export interface CollectReqData {
}
//tools list response
-export interface ToolsResponseData extends ResponseData {
+export interface ToolsResponseData {
data: ToolsInfo[]
}
//tools cate response
-export interface ToolCateResponseData extends ResponseData {
+export interface ToolCateResponseData{
data: ToolCate[]
}
//tools recommend response
-export interface ToolRecommendResponseData extends ResponseData {
+export interface ToolRecommendResponseData{
data: ToolsInfo[]
}
\ No newline at end of file
diff --git a/src/store/modules/tools.ts b/src/store/modules/tools.ts
index 98a757d..9b71db8 100644
--- a/src/store/modules/tools.ts
+++ b/src/store/modules/tools.ts
@@ -1,8 +1,8 @@
//创建tools相关的小工具
import { defineStore } from 'pinia'
-import { getTools, getToolCate, getToolRecommend } from '@/api/tools'
+import { getTools, getToolsCate } from '@/components/Tools/tools.ts'
import { getIp } from '@/api/ip'
-import type { ToolsReqData, ToolsInfo, ToolCate } from '@/api/tools/type'
+import type { ToolsReqData, ToolsInfo } from '@/components/Tools/tools.type.ts'
import type { IpReqData, IpInfo } from '@/api/ip/type'
import type { WebInfo, WebInfoReqData } from '@/api/webinfo/type'
import { fetchWebInfo } from '@/api/webinfo'
@@ -12,7 +12,7 @@ export const useToolsStore = defineStore('tools', {
state: () => ({
list: [] as ToolsInfo[],
toolInfo: {} as ToolsInfo,
- cates: [] as ToolCate[],
+ cates: [] as any[],
recommends: [] as ToolsInfo[],
ipData: {} as IpInfo,
webInfo: {} as WebInfo,
@@ -46,23 +46,7 @@ export const useToolsStore = defineStore('tools', {
//获取tools cate
async getToolCate() {
//发送请求
- const result: any = await getToolCate()
- if (result.code == 200) {
- this.cates = result.data
- return result.message
- } else {
- return Promise.reject(new Error(result.message))
- }
- },
- //获取推荐
- async getToolRecommend() {
- const result: any = await getToolRecommend()
- if (result.code == 200) {
- this.recommends = result.data
- return result.message
- } else {
- return Promise.reject(new Error(result.message))
- }
+ this.cates = await getToolsCate()
},
//获取ip
async getIp(data: IpReqData) {
diff --git a/vite.config.ts b/vite.config.ts
index f6b3970..33213e0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,9 +1,7 @@
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
-import {viteMockServe} from 'vite-plugin-mock'
import path from 'path'
-import { createHtmlPlugin } from 'vite-plugin-html'
import {seoperender} from "./ssr.config";
// https://vitejs.dev/config/
@@ -21,10 +19,6 @@ export default defineConfig(({command, mode}) => {
// Specify symbolId format
symbolId: 'icon-[dir]-[name]',
}),
- //mock
- viteMockServe({
- localEnabled: env.VITE_IS_MOCK == 'true' ? command === 'serve' : false,
- }),
seoperender()
],
resolve: {