Files
tools-web/src/components/Tools/tools.ts
T
2026-03-02 15:40:41 +08:00

767 lines
22 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { ToolsReqData } from '@/components/Tools/tools.type.ts'
//获取tools分类与对应的工具
export function getToolsCate() {
return [
{
id: 2,
title: '开发运维',
icon: '',
list: [
{
id: 1,
title: '随机密码生成',
logo: '/images/logo/keywords.png',
desc: '密码生成器、随机字符串生成,批量生成',
url: '/randompassword/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'URL编码/解码',
logo: '/images/logo/url.png',
desc: 'URL在线编码解码工具(UrlEncode编码 和 UrlDecode解码)',
url: '/urlencode/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'UUID生成器',
logo: '/images/logo/uuid.png',
desc: '批量生成UUID',
url: '/uuid/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: '时间戳转换',
logo: '/images/logo/Time.png',
desc: '在线时间戳转换工具以及获取当前时间戳',
url: '/timetran/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'MD5在线加密',
logo: '/images/logo/md5.png',
desc: 'MD5在线加密,长度包含32位、16位',
url: '/md5/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Json在线转换',
logo: '/images/logo/json.png',
desc: '提供实时编辑和预览JSON 数据,语法高亮、校验、格式化、转义,去转义、压缩等功能,可以提高阅读修改的效率和准确性',
url: '/json/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: '正则测试工具',
logo: '/images/logo/reg.png',
desc: '正则表达式测试工具, 常用正则表达式',
url: '/reg/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Unicode转中文',
logo: '/images/logo/union.png',
desc: '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 Tokenjwt',
url: '/jwt/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'html实体转义',
logo: '/images/logo/HtmlEntity.png',
desc: 'html实体转义,实体转义成html',
url: '/htmlentity/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'js代码格式化/压缩',
logo: '/images/logo/JSForamt.png',
desc: 'JS格式化/压缩工具,提供在线JS格式化、JS压缩、JS混淆、JS解密',
url: '/jsforamt/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Html代码格式化',
logo: '/images/logo/HtmlFormat.png',
desc: '提供在线html、xml格式化',
url: '/htmlformat/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Css代码格式化/压缩',
logo: '/images/logo/CssFormat.png',
desc: 'css格式化/压缩工具,提供在线css格式化、css压缩',
url: '/cssformat/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Base64加解密',
logo: '/images/logo/Base64.svg',
desc: '在线Base64加解密工具,支持文本的Base64编码和解码',
url: '/base64/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: '进制转换计算器',
logo: '/images/logo/scaletran.png',
desc: '在线进制转换计算器,支持二进制、八进制、十进制、十六进制等多种进制之间的相互转换',
url: '/baseconverter/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: '数据存储单位换算',
logo: '/images/logo/storageconverter.svg',
desc: '在线数据存储单位换算工具,支持字节、KB、MB、GB、TB、PB、EB等存储单位之间的相互转换',
url: '/storageconverter/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'AES加解密',
logo: '/images/logo/md5.png',
desc: '在线AES加解密工具,支持多种加密模式和填充方式,提供安全可靠的数据加密解密服务',
url: '/aes/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'Hash计算器',
logo: '/images/logo/hashcalculator.svg',
desc: '在线Hash计算器,支持MD5、SHA-1、SHA-256、SHA-384、SHA-512等多种哈希算法',
url: '/hashcalculator/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'SHA1加解密',
logo: '/images/logo/sha1.svg',
desc: '在线SHA1哈希计算器,用于计算文本的SHA1哈希值',
url: '/sha1/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'XML格式化',
logo: '/images/logo/xmlformat.svg',
desc: '在线XML格式化工具,用于美化和压缩XML代码,支持自定义缩进大小',
url: '/xmlformat/',
cateId: 2,
cate: '开发运维',
},
{
id: 1,
title: 'SQL格式化',
logo: '/images/logo/sqlformat.svg',
desc: '在线SQL格式化工具,用于美化和压缩SQL代码,支持自定义缩进大小',
url: '/sqlformat/',
cateId: 2,
cate: '开发运维'
}
]
},
{
id: 3,
title: '文本处理',
icon: '',
list: [
{
id: 1,
title: '文本对比',
logo: '/images/logo/diff.png',
desc: '文本差异比对支持中文、英文、代码比对',
url: '/diff/',
cateId: 3,
cate: '文本处理'
},
{
id: 1,
title: 'markdown编辑器',
logo: '/images/logo/file-markdown-fill.png',
desc: '在线创建或编辑markdown, 实时预览,导出markdown',
url: '/markdown/',
cateId: 3,
cate: '文本处理'
},
{
id: 1,
title: '字数统计',
logo: '/images/logo/wordCount.png',
desc: '在线统计字符串的字数、段落、标点符号数量',
url: '/wordcount/',
cateId: 3,
cate: '文本处理',
},
{
id: 1,
title: '文本去重',
logo: '/images/logo/textRemoveDuplicate.png',
desc: '可以删除或去除文本或字符串中的重复行',
url: '/textremoveduplicate/',
cateId: 3,
cate: '文本处理',
},
{
id: 1,
title: 'ASCII字形生成器',
logo: '/images/logo/ascii_word_pic.png',
desc: '在线生成字形ASCII画',
url: '/asciiwordpic/',
cateId: 3,
cate: '文本处理',
},
{
id: 1,
title: '在线文本编辑/HTML获取',
logo: '/images/logo/richtextEditor.png',
desc: '在线富文本编辑, html实时预览,在线编辑文本,文本编辑获取html',
url: '/textedit/',
cateId: 3,
cate: '文本处理'
},
{
id: 1,
title: '文本替换',
logo: '/images/logo/textreplace.svg',
desc: '在线文本替换工具,支持普通文本和正则表达式替换,可用于批量修改文本内容',
url: '/textreplace/',
cateId: 3,
cate: '文本处理',
},
{
id: 1,
title: '文本处理工作流',
logo: '/images/logo/textworkflow.svg',
desc: '在线文本处理工作流工具,允许用户定义一系列文本处理步骤并按顺序执行',
url: '/textworkflow/',
cateId: 3,
cate: '文本处理',
},
{
id: 1,
title: '词频统计',
logo: '/images/logo/wordfrequency.svg',
desc: '在线词频统计工具,用于统计文本中单词出现的频率,可用于文本分析、关键词提取等场景',
url: '/wordfrequency/',
cateId: 3,
cate: '文本处理',
},
]
},
{
id: 4,
title: '教育学术',
icon: '',
list: [
{
id: 1,
title: '单位换算',
logo: '/images/logo/unit.png',
desc: '在线重量、长度、面积、时间、角度、速度、温度、压力、热量、功率等换算',
url: '/unit/',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '摩斯电码',
logo: '/images/logo/medium.png',
desc: '支持中文的摩斯电码编码解码',
url: '/morse/',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '常用进制转换',
logo: '/images/logo/scaletran.png',
desc: '在线进制转换工具,可在2到64进制之间相互转换',
url: '/scaletran/',
cateId: 4,
cate: '教育学术',
},
{
id: 1,
title: 'ASCII码表',
logo: '/images/logo/ascii.png',
desc: 'ASCII码表,控制代码、标准ASCII字符和非标准ASCII字符对照表',
url: '/ascii/',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '长度单位转换',
logo: '/images/logo/length.png',
desc: '长度转换工具-支持国际长度单位,中国传统长度单位,英制长度单位',
url: '/unit/?active=length',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '面积单位转换',
logo: '/images/logo/area.png',
desc: '面积转换工具-支持国际面积单位,中国传统面积单位,英制面积单位',
url: '/unit/?active=area',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '重量单位转换',
logo: '/images/logo/weight.png',
desc: '重量转换工具-支持国际重量单位,中国传统重量单位,英制重量单位(常衡制和金衡制)',
url: '/unit/?active=weight',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '时间单位转换',
logo: '/images/logo/time_unit.png',
desc: '时间单位转换工具-支持国际时间单位',
url: '/unit/?active=time',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '温度单位转换',
logo: '/images/logo/temperature.png',
desc: '温度单位转换工具-支持国际温度单位',
url: '/unit/?active=temperature',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '压力单位转换',
logo: '/images/logo/pressure.png',
desc: '压力单位转换工具-Pa/kPa/hPa/MPa/bar/torr/psi等',
url: '/unit/?active=pressure',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '热量单位转换',
logo: '/images/logo/heat.png',
desc: '热量单位转换工具-Wh/mWh/kWh/MWh/J/kJ等',
url: '/unit/?active=heat',
cateId: 4,
cate: '教育学术'
},
{
id: 1,
title: '功率单位转换',
logo: '/images/logo/power.png',
desc: '功率单位转换工具-W/mW/kW/MW/GW等',
url: '/unit/?active=power',
cateId: 4,
cate: '教育学术'
},
]
},
{
id: 5,
title: '图片处理',
icon: '',
list: [
{
id: 1,
title: '二维码生成',
logo: '/images/logo/qrcode.png',
desc: '在线生成带logo、透明、艺术的二维码',
url: '/qrcode/',
cateId: 5,
cate: '图片处理'
},
{
id: 1,
title: '在线图片处理',
logo: '/images/logo/img.png',
desc: '在线图片裁剪,图片标注,图片滤镜,图片画笔、图片旋转、图片文字等操作',
url: '/signimage/',
cateId: 5,
cate: '图片处理',
},
{
id: 1,
title: '文本转图片',
logo: '/images/logo/text_to_img.png',
desc: '把文本转换成图片,生成长图,具有超多个性文字排版',
url: '/texttoimg/',
cateId: 5,
cate: '图片处理'
},
{
id: 1,
title: '图片分割',
logo: '/images/logo/imgCut.png',
desc: '将图片分割成四宫格、九宫格、十六宫格,支持自定义行与列',
url: '/imgcut/',
cateId: 5,
cate: '图片处理',
},
{
id: 1,
title: '传图取色',
logo: '/images/logo/imagecolorpicker.svg',
desc: '上传图片并点击图片获取颜色值',
url: '/imagecolorpicker/',
cateId: 5,
cate: '图片处理',
},
{
id: 1,
title: '图片水印添加',
logo: '/images/logo/imagewatermark.svg',
desc: '上传图片并添加文字水印',
url: '/imagewatermark/',
cateId: 5,
cate: '图片处理',
}
]
},
{
id: 8,
title: '数据图表',
icon: '',
list: [
{
id: 1,
title: '柱状图',
logo: '/images/logo/bar.png',
desc: '在线制作柱状图,像做表格一样制作可视化图表,支持导出静态或动态图表',
url: '/bar/',
cateId: 8,
cate: '数据图表',
},{
id: 1,
title: '折线图',
logo: '/images/logo/line.png',
desc: '在线制作折线图,像做表格一样制作可视化图表,支持导出静态或动态图表',
url: '/line/',
cateId: 8,
cate: '数据图表',
},
{
id: 1,
title: '饼图',
logo: '/images/logo/pie.png',
desc: '在线制作饼图,像做表格一样制作可视化图表,支持导出静态或动态图表',
url: '/pie/',
cateId: 8,
cate: '数据图表',
},
{
id: 1,
title: '散点图',
logo: '/images/logo/scatter.png',
desc: '在线制作散点图,像做表格一样制作可视化图表,支持导出静态或动态图表',
url: '/scatter/',
cateId: 8,
cate: '数据图表',
},
{
id: 1,
title: '词云生成',
logo: '/images/logo/wordcloud.svg',
desc: '根据输入文本生成词云图,支持自定义词云形状和颜色',
url: '/wordcloud/',
cateId: 8,
cate: '数据图表',
},
]
},
{
id: 9,
title: '选择随机',
icon: '',
list: [
{
id: 1,
title: '生成随机数',
logo: '/images/logo/random.png',
desc: '可定制范围内进行随机数字,可用于抽奖、点名等用途',
url: '/random/',
cateId: 9,
cate: '选择随机'
},
{
id: 1,
title: '帮我决定',
logo: '/images/logo/choose.png',
desc: '选择困难,难以决定,今天吃什么,现在做什么,自定义选项都给你安排的明明白白',
url: '/decision/',
cateId: 9,
cate: '选择随机'
},
{
id: 1,
title: '抛硬币',
logo: '/images/logo/coin.png',
desc: '在线抛硬币,选择困难那么交给硬币来帮你选择吧',
url: '/coin/',
cateId: 9,
cate: '选择随机',
},
{
id: 1,
title: '投骰子',
logo: '/images/logo/dice.png',
desc: '在线投骰子,可自定义骰子数量,简单好用的骰子工具',
url: '/dice/',
cateId: 9,
cate: '选择随机',
},
{
id: 1,
title: '抽签工具',
logo: '/images/logo/lottery.svg',
desc: '输入多个选项,随机抽取一个或多个结果',
url: '/lottery/',
cateId: 9,
cate: '选择随机',
},
{
id: 1,
title: '转盘工具',
logo: '/images/logo/wheel.svg',
desc: '自定义选项,旋转转盘随机选择结果',
url: '/wheel/',
cateId: 9,
cate: '选择随机',
},
]
},
// {
// id: 6,
// title: '查询相关',
// icon: '',
// list: [
// {
// id: 1,
// title: 'IP查询',
// logo: '/images/logo/IP.png',
// desc: '在线查询ip地址、ip归属地',
// url: '/ip',
// cateId: 6,
// cate: '查询相关',
// },
// {
// id: 1,
// title: '网站favicon获取',
// logo: '/images/logo/text_to_img.png',
// desc: '获取网站logo、icon、favicon、标题、关键词、描述等信息',
// url: '/webInfo',
// cateId: 6,
// cate: '查询相关',
// }
// ]
// },
{
id: 7,
title: '其他工具',
icon: '',
list: [
{
id: 1,
title: '数字转金额大写',
logo: '/images/logo/numberToChinese.png',
desc: '在线数字一键转换成人民币大写,中文大写转换数字',
url: '/numbertochinese/',
cateId: 7,
cate: '其他工具'
},
{
id: 1,
title: '手持弹幕',
logo: '/images/logo/dm.png',
desc: '手持滚动弹幕',
url: '/barrage/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: '色板',
logo: '/images/logo/palettes.png',
desc: '提供各种颜色的色板,点击颜色可复制颜色值',
url: '/colorpalette/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: 'Color选择器',
logo: '/images/logo/color_picker.png',
desc: '颜色选择器、在各种颜色空间如十六进制、rgb、hsl、css等等之间转换颜色',
url: '/colorpicker/',
cateId: 7,
cate: '其他工具'
},
{
id: 1,
title: '番茄时钟',
logo: '/images/logo/pomodoro.svg',
desc: '专注工作和休息的时间管理工具',
url: '/pomodoro/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: '反应速度测试',
logo: '/images/logo/reactiontest.svg',
desc: '测试你的反应速度,点击变色的方块',
url: '/reactiontest/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: 'm3u8在线播放',
logo: '/images/logo/m3u8player.svg',
desc: '播放m3u8格式的视频流',
url: '/m3u8player/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: '剪刀石头布',
logo: '/images/logo/rockpaperscissors.svg',
desc: '与电脑对战的剪刀石头布游戏',
url: '/rockpaperscissors/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: 'Emoji表情大全',
logo: '/images/logo/emoji.svg',
desc: '在线Emoji表情大全,提供各种分类的Emoji表情,点击即可复制到剪贴板',
url: '/emoji/',
cateId: 7,
cate: '其他工具',
},
{
id: 1,
title: '简易计算器',
logo: '/images/logo/calculator.svg',
desc: '基本的加减乘除计算工具',
url: '/calculator/',
cateId: 7,
cate: '其他工具',
},
]
}
]
}
//工具list
export function toolsList() {
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])
}
}
return list
}
/**
* url为键名的工具list map
* @returns
*/
export function urlKeyMap() {
// let toolsMapByUrlKey = new Map()
// let list = toolsList()
// for (let item in list) {
// toolsMapByUrlKey.set(list[item].url, list[item])
// }
// return toolsMapByUrlKey
}
//获取工具
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()))
return tmpValue.indexOf(title.toLowerCase()) !== -1 || tmpDesc.indexOf(title.toLowerCase()) !== -1;
});
}
//分类筛选
if (cateId > 0) {
list = list.filter(item => {
return item.cateId == cateId;
});
}
return list
}
const ToolsExport = {
getTools,
getToolsCate,
toolsList,
};
export default ToolsExport;