feat: 添加多语言支持及资源文件更新

- 添加日语、中文、泰语等多语言支持文件
- 更新静态资源文件包括图片和样式表
- 重构菜单权限树组件,修复父子节点联动问题
- 优化在线用户管理功能,使用会话ID替代用户名
- 更新数据库配置,默认使用MySQL
- 重构文档系统,将mkdocs迁移至backend目录
- 修复Redis哈希操作接口
- 更新前端工具函数,优化列表转树形结构逻辑
- 调整端口配置和环境变量
- 添加开发运维文档和部署脚本

本次提交主要实现了多语言支持、资源文件更新和多个功能优化,同时改进了系统文档结构和部署配置。
This commit is contained in:
zhangtao
2025-05-26 00:36:34 +08:00
parent 2d72369d9a
commit 0dbbe5cbcb
191 changed files with 10014 additions and 7645 deletions
+2 -2
View File
@@ -136,13 +136,13 @@ const resetQuery = () => {
};
const handleForceLogout = (row: OnlineUser) => {
if (!row?.user_name) return;
if (!row?.session_id) return;
Modal.confirm({
title: '确认提示',
content: `是否确认强退名称为"${row.user_name}"的用户?`,
async onOk() {
try {
await deleteOnline(row.user_name);
await deleteOnline(row.session_id);
await getList();
message.success('强退成功');
} catch (error) {
+2 -3
View File
@@ -33,8 +33,7 @@
<!-- 表格区域 -->
<div class="table-wrapper">
<a-card title="定时任务列表" :bordered="false" :headStyle="{ borderBottom: 'none', padding: '20px 24px' }"
:bodyStyle="{ padding: '0 24px', minHeight: 'calc(100vh - 360px)' }">
:bodyStyle="{ padding: '0 24px', minHeight: 'calc(100vh - 360px)' }">
<template #extra>
<a-button type="primary" :icon="h(PlusOutlined)" @click="modalHandle('create')"
style="margin-right: 10px;">新建</a-button>
@@ -455,7 +454,7 @@ const columns: TableColumnsType = [
title: '存储器',
dataIndex: 'jobstore',
ellipsis: true,
width: 100,
// width: 100,
},
{
title: '执行器',
+3
View File
@@ -64,6 +64,9 @@
:style="{ minHeight: 'calc(100vh - 420px)' }"
>
<template #bodyCell="{ column, record }">
<template v-if="column.dataIndex === 'icon'">
<a-button type="text" size="small" :icon="h(icons[record.icon])">{{ record.icon }}</a-button>
</template>
<template v-if="column.dataIndex === 'type'">
<a-tag :color="record.type === 1 ? 'blue' : (record.type === 2 ? 'green' : 'orange')">
{{ record.type === 1 ? '目录' : (record.type === 2 ? '功能' : '权限') }}
@@ -33,7 +33,7 @@
:checkedKeys="permissionState.dept_ids"
:rowKey="record => record.id"
:tree-data="deptTreeData"
defaultExpandAll="true"
:defaultExpandAll=true
:scroll="{ y: 1000 }"
:field-names="{ children: 'children', title: 'name', key: 'id' }"
@check="deptTreeCheck" checkable checkStrictly style="margin-top: 15px;" />
@@ -58,7 +58,7 @@
<div style="margin-top: 15px;">
<a-table v-if="menuTreeData"
:rowKey="record => record.id"
:defaultExpandAllRows="true"
:defaultExpandAllRows=true
:columns="menuColumns"
:data-source="menuTreeData"
:row-selection="menuRowSelection"
@@ -211,7 +211,7 @@ const onMenuSelectChange = (selectingRowKeys: permissionMenuType['id'][]) => {
const menuRowSelection = computed(() => {
return {
selectedRowKeys: permissionState.value.menu_ids,
checkStrictly: false,
checkStrictly: true, // 关闭父子联动
onChange: onMenuSelectChange
}
});