Compare commits

...

2 Commits

Author SHA1 Message Date
091e619255 Merge pull request '更新' (#8) from dev into main
Reviewed-on: #8
2025-07-05 20:13:33 +08:00
a581cd7c51 更新
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-05 20:13:00 +08:00
4 changed files with 291 additions and 28 deletions

View File

@ -3,7 +3,7 @@ import { ref, watch } from 'vue'
type Theme = 'light' | 'dark' type Theme = 'light' | 'dark'
// 全局主题状态 // 全局主题状态
const currentTheme = ref<Theme>('dark') const currentTheme = ref<Theme>('light')
export const useTheme = () => { export const useTheme = () => {
// 切换主题 // 切换主题

View File

@ -125,6 +125,36 @@ export default {
} }
} }
}, },
ip_lookup: {
title: 'IP Lookup',
description: 'IP address geolocation query and type analysis tool',
ip_address: 'IP Address',
lookup: 'Lookup',
query: 'Query',
get_my_ip: 'Get My IP',
clear: 'Clear',
ip_input: 'IP Input',
placeholder: 'Please enter IP address...',
common_ips: 'Common IPs',
querying: 'Querying...',
ip_info: 'IP Information',
location: 'Location',
isp: 'ISP',
organization: 'Organization',
country: 'Country',
region: 'Region',
city: 'City',
timezone: 'Timezone',
coordinates: 'Coordinates',
ip_type: 'IP Type',
public_ip: 'Public IP',
private_ip: 'Private IP',
current_ip: 'Current IP',
ip_analysis: 'IP Analysis',
format: 'Format',
access_type: 'Access Type',
class: 'IP Class'
},
seal_generator: { seal_generator: {
title: 'Seal Generator', title: 'Seal Generator',
description: 'Electronic seal creation tool, supports company and personal seals', description: 'Electronic seal creation tool, supports company and personal seals',
@ -164,6 +194,157 @@ export default {
personal_seal_features: 'Personal Seal Features', personal_seal_features: 'Personal Seal Features',
important_notice: 'Important Notice', important_notice: 'Important Notice',
legal_notice: 'The seals generated by this tool are for learning and testing purposes only. Do not use for illegal purposes. Official company seals need to be registered with relevant authorities.' legal_notice: 'The seals generated by this tool are for learning and testing purposes only. Do not use for illegal purposes. Official company seals need to be registered with relevant authorities.'
},
text_counter: {
title: 'Text Counter',
description: 'Word count, character count, line count and other text analysis tools',
clear: 'Clear',
paste: 'Paste',
sample: 'Sample',
text_input: 'Text Input',
placeholder: 'Please enter or paste text to analyze...',
basic_stats: 'Basic Statistics',
characters: 'Characters',
characters_no_spaces: 'Characters (No Spaces)',
words: 'Words',
lines: 'Lines',
paragraphs: 'Paragraphs',
sentences: 'Sentences',
character_types: 'Character Types',
letters: 'Letters',
numbers: 'Numbers',
spaces: 'Spaces',
punctuation: 'Punctuation',
reading_time: 'Reading Time',
slow_reading: 'Slow Reading',
normal_reading: 'Normal Reading',
fast_reading: 'Fast Reading',
top_words: 'Top Words',
character_count: 'Character Count',
word_count: 'Word Count',
line_count: 'Line Count',
paragraph_count: 'Paragraph Count',
sentence_count: 'Sentence Count',
reading_speed: 'Reading Speed',
fast: 'Fast',
normal: 'Normal',
slow: 'Slow',
most_used_words: 'Most Used Words'
},
image_compressor: {
title: 'Image Compressor',
description: 'Image compression and quality adjustment tool',
compress: 'Compress',
download: 'Download',
reset: 'Reset',
upload_image: 'Upload Image',
click_or_drag: 'Click or drag to upload image',
compression_settings: 'Compression Settings',
quality: 'Quality',
max_width: 'Max Width',
max_height: 'Max Height',
keep_aspect_ratio: 'Keep Aspect Ratio',
output_format: 'Output Format',
original_info: 'Original Info',
size: 'File Size',
dimensions: 'Dimensions',
format: 'Format',
original_preview: 'Original Preview',
compressed_preview: 'Compressed Preview',
compressed_size: 'Compressed Size',
compression_ratio: 'Compression Ratio',
size_reduction: 'Size Reduction',
compressing: 'Compressing...',
width: 'Width',
height: 'Height',
original_size: 'Original Size',
maintain_aspect_ratio: 'Maintain Aspect Ratio',
download_result: 'Download Result'
},
qrcode_generator: {
title: 'QR Code Generator',
description: 'Text to QR code generation tool with customizable styles',
generate: 'Generate',
download: 'Download',
clear: 'Clear',
text_input: 'Text Input',
placeholder: 'Please enter content to generate QR code...',
settings: 'Settings',
size: 'Size',
qr_size: 'QR Code Size',
error_level: 'Error Level',
foreground_color: 'Foreground Color',
background_color: 'Background Color',
preview: 'Preview',
qr_code: 'QR Code',
generating: 'Generating...',
no_preview: 'Please enter content and generate QR code',
download_qr: 'Download QR Code',
qr_preview: 'QR Code Preview'
},
code_formatter: {
title: 'Code Formatter',
description: 'Code beautification, formatting and minification tool',
format: 'Format',
minify: 'Minify',
copy: 'Copy',
clear: 'Clear',
language: 'Language',
indent_size: 'Indent Size',
line_width: 'Line Width',
input: 'Input',
output: 'Output',
output_placeholder: 'Formatted result will be displayed here...',
copy_result: 'Copy Result',
clear_all: 'Clear All',
input_placeholder: 'Please enter code...',
line_count: 'Line Count',
char_count: 'Character Count'
},
base64_to_image: {
title: 'Base64 to Image',
description: 'Base64 and image bidirectional conversion tool',
base64_to_image: 'Base64 to Image',
download_image: 'Download Image',
clear: 'Clear',
base64_input: 'Base64 Input',
base64_placeholder: 'Please enter Base64 encoding...',
image_to_base64: 'Image to Base64',
click_or_drag: 'Click or drag to upload image',
image_preview: 'Image Preview',
preview_image: 'Preview Image',
converting: 'Converting...',
no_preview: 'Please enter Base64 or upload image',
base64_output: 'Base64 Output',
upload_image: 'Upload Image',
image_info: 'Image Info',
copy_base64: 'Copy Base64'
},
yml_properties_converter: {
title: 'YML/Properties Converter',
description: 'YML and Properties configuration file format converter',
yml_to_properties: 'YML to Properties',
properties_to_yml: 'Properties to YML',
yml_to_json: 'YML to JSON',
json_to_yml: 'JSON to YML',
clear: 'Clear',
input: 'Input',
output: 'Output',
paste: 'Paste',
copy: 'Copy',
input_format: 'Input Format',
output_format: 'Output Format',
input_placeholder_yml: 'Enter YAML content...',
input_placeholder_properties: 'Enter Properties content...',
input_placeholder_json: 'Enter JSON content...',
output_placeholder: 'Conversion result will be displayed here...',
use_example: 'Use This Example',
format_description: 'Format Description',
yml_example: 'YAML Example',
properties_example: 'Properties Example',
json_example: 'JSON Example',
convert: 'Convert',
conversion_result: 'Conversion Result'
} }
} }
} }

View File

@ -264,14 +264,19 @@ export default {
code_formatter: { code_formatter: {
title: '代码格式化', title: '代码格式化',
description: '代码美化、格式化、压缩工具', description: '代码美化、格式化、压缩工具',
language: '语言',
format: '格式化', format: '格式化',
minify: '压缩', minify: '压缩',
copy: '复制',
clear: '清除',
language: '语言',
indent_size: '缩进大小',
line_width: '行宽',
input: '输入',
output: '输出',
output_placeholder: '格式化结果将显示在这里...',
copy_result: '复制结果', copy_result: '复制结果',
clear_all: '清除全部', clear_all: '清除全部',
input_placeholder: '请输入代码...', input_placeholder: '请输入代码...',
output_placeholder: '格式化结果将显示在这里...',
indent_size: '缩进大小',
line_count: '行数', line_count: '行数',
char_count: '字符数' char_count: '字符数'
}, },
@ -342,16 +347,30 @@ export default {
description: 'IP地址归属地查询、类型分析工具', description: 'IP地址归属地查询、类型分析工具',
ip_address: 'IP地址', ip_address: 'IP地址',
lookup: '查询', lookup: '查询',
query: '查询',
get_my_ip: '获取我的IP',
clear: '清除',
ip_input: 'IP输入',
placeholder: '请输入IP地址...',
common_ips: '常用IP',
querying: '查询中...',
ip_info: 'IP信息',
location: '位置信息', location: '位置信息',
isp: '运营商', isp: '运营商',
organization: '组织',
country: '国家', country: '国家',
region: '省份', region: '省份',
city: '城市', city: '城市',
timezone: '时区', timezone: '时区',
coordinates: '坐标',
ip_type: 'IP类型', ip_type: 'IP类型',
public_ip: '公网IP', public_ip: '公网IP',
private_ip: '私网IP', private_ip: '私网IP',
current_ip: '当前IP' current_ip: '当前IP',
ip_analysis: 'IP分析',
format: '格式',
access_type: '访问类型',
class: 'IP类别'
}, },
date_calculator: { date_calculator: {
title: '日期计算', title: '日期计算',
@ -383,13 +402,33 @@ export default {
text_counter: { text_counter: {
title: '文本统计', title: '文本统计',
description: '字数、词数、行数等统计分析工具', description: '字数、词数、行数等统计分析工具',
clear: '清除',
paste: '粘贴',
sample: '示例',
text_input: '文本输入', text_input: '文本输入',
placeholder: '请输入或粘贴需要统计的文本...',
basic_stats: '基础统计',
characters: '字符数',
characters_no_spaces: '字符数(不含空格)',
words: '词数',
lines: '行数',
paragraphs: '段落数',
sentences: '句子数',
character_types: '字符类型',
letters: '字母',
numbers: '数字',
spaces: '空格',
punctuation: '标点符号',
reading_time: '阅读时间',
slow_reading: '慢速阅读',
normal_reading: '正常阅读',
fast_reading: '快速阅读',
top_words: '最常用词汇',
character_count: '字符数', character_count: '字符数',
word_count: '词数', word_count: '词数',
line_count: '行数', line_count: '行数',
paragraph_count: '段落数', paragraph_count: '段落数',
sentence_count: '句子数', sentence_count: '句子数',
reading_time: '阅读时间',
reading_speed: '阅读速度', reading_speed: '阅读速度',
fast: '快速', fast: '快速',
normal: '正常', normal: '正常',
@ -431,27 +470,51 @@ export default {
image_compressor: { image_compressor: {
title: '图片压缩', title: '图片压缩',
description: '图片压缩优化、质量调整工具', description: '图片压缩优化、质量调整工具',
upload_image: '上传图片',
compress: '压缩', compress: '压缩',
download: '下载',
reset: '重置',
upload_image: '上传图片',
click_or_drag: '点击或拖拽上传图片',
compression_settings: '压缩设置',
quality: '质量', quality: '质量',
width: '宽度', max_width: '最大宽度',
height: '高度', max_height: '最大高度',
keep_aspect_ratio: '保持宽高比',
output_format: '输出格式',
original_info: '原图信息',
size: '文件大小',
dimensions: '尺寸',
format: '格式', format: '格式',
original_size: '原始大小', original_preview: '原图预览',
compressed_preview: '压缩预览',
compressed_size: '压缩后大小', compressed_size: '压缩后大小',
compression_ratio: '压缩比', compression_ratio: '压缩比',
size_reduction: '减少大小',
compressing: '压缩中...',
width: '宽度',
height: '高度',
original_size: '原始大小',
maintain_aspect_ratio: '保持宽高比', maintain_aspect_ratio: '保持宽高比',
download_result: '下载结果' download_result: '下载结果'
}, },
qrcode_generator: { qrcode_generator: {
title: '二维码生成', title: '二维码生成',
description: '文本转二维码、自定义样式工具', description: '文本转二维码、自定义样式工具',
text_input: '文本输入',
generate: '生成', generate: '生成',
download: '下载',
clear: '清除',
text_input: '文本输入',
placeholder: '请输入要生成二维码的内容...',
settings: '设置选项',
size: '尺寸',
qr_size: '二维码大小', qr_size: '二维码大小',
error_level: '容错级别', error_level: '容错级别',
foreground_color: '前景色', foreground_color: '前景色',
background_color: '背景色', background_color: '背景色',
preview: '预览',
qr_code: '二维码',
generating: '生成中...',
no_preview: '请输入内容并生成二维码',
download_qr: '下载二维码', download_qr: '下载二维码',
qr_preview: '二维码预览' qr_preview: '二维码预览'
}, },
@ -488,6 +551,24 @@ export default {
description: 'YML与Properties配置文件格式互转', description: 'YML与Properties配置文件格式互转',
yml_to_properties: 'YML转Properties', yml_to_properties: 'YML转Properties',
properties_to_yml: 'Properties转YML', properties_to_yml: 'Properties转YML',
yml_to_json: 'YML转JSON',
json_to_yml: 'JSON转YML',
clear: '清空',
input: '输入',
output: '输出',
paste: '粘贴',
copy: '复制',
input_format: '输入格式',
output_format: '输出格式',
input_placeholder_yml: '请输入YAML内容...',
input_placeholder_properties: '请输入Properties内容...',
input_placeholder_json: '请输入JSON内容...',
output_placeholder: '转换结果将显示在这里...',
use_example: '使用此示例',
format_description: '格式说明',
yml_example: 'YAML 示例',
properties_example: 'Properties 示例',
json_example: 'JSON 示例',
convert: '转换', convert: '转换',
yml_input: 'YML输入', yml_input: 'YML输入',
properties_input: 'Properties输入', properties_input: 'Properties输入',
@ -496,13 +577,20 @@ export default {
base64_to_image: { base64_to_image: {
title: 'Base64转图片', title: 'Base64转图片',
description: 'Base64与图片双向转换工具', description: 'Base64与图片双向转换工具',
image_to_base64: '图片转Base64',
base64_to_image: 'Base64转图片', base64_to_image: 'Base64转图片',
upload_image: '上传图片',
base64_input: 'Base64输入',
image_preview: '图片预览',
image_info: '图片信息',
download_image: '下载图片', download_image: '下载图片',
clear: '清除',
base64_input: 'Base64输入',
base64_placeholder: '请输入Base64编码...',
image_to_base64: '图片转Base64',
click_or_drag: '点击或拖拽上传图片',
image_preview: '图片预览',
preview_image: '预览图片',
converting: '转换中...',
no_preview: '请输入Base64或上传图片',
base64_output: 'Base64输出',
upload_image: '上传图片',
image_info: '图片信息',
copy_base64: '复制Base64' copy_base64: '复制Base64'
}, },
image_watermark: { image_watermark: {

View File

@ -8,12 +8,12 @@ import type { Tool } from '@/types/tools'
// 定义工具列表 // 定义工具列表
const tools: Tool[] = [ const tools: Tool[] = [
{ // {
code: 'json_formatter', // code: 'json_formatter',
icon: faCode, // icon: faCode,
category: ['common', 'json'], // category: ['common', 'json'],
keywords: ['json', 'json格式化', '格式化', '美化', '压缩', '校验', 'formatter', 'validator', 'gshjson', 'gshjson', 'jsonxg', 'jxg'] // keywords: ['json', 'json格式化', '格式化', '美化', '压缩', '校验', 'formatter', 'validator', 'gshjson', 'gshjson', 'jsonxg', 'jxg']
}, // },
{ {
code: 'http_tester', code: 'http_tester',
icon: faGlobe, icon: faGlobe,
@ -170,12 +170,6 @@ const tools: Tool[] = [
category: ['image'], category: ['image'],
keywords: ['图标', 'ico', '图片转ico', 'icon', '图标生成', '图标转换', 'favicon', '网站图标', 'tubiao', 'tb', 'zhuanicon', 'icon转换', 'icon生成'] keywords: ['图标', 'ico', '图片转ico', 'icon', '图标生成', '图标转换', 'favicon', '网站图标', 'tubiao', 'tb', 'zhuanicon', 'icon转换', 'icon生成']
}, },
{
code: 'cron_generator',
icon: faCalendarAlt,
category: ['datetime'],
keywords: ['cron', 'cron表达式', '定时任务', '调度', '表达式生成', '执行时间', 'crontab', 'quartz', 'schedule', 'dingshi', 'dingshibiaodashi', 'dsrw', 'bds', 'cronbds']
},
{ {
code: 'chrome_bookmark_recovery', code: 'chrome_bookmark_recovery',
icon: faBookmark, icon: faBookmark,