feat(cms): 新增网站密钥和字段加密功能- 在 CMS 网站模型中新增 websiteSecret 字段用于存储小程序密钥

- 为 CMS 网站字段添加 encrypted 字段以支持内容加密- 实现字段值的加密和解密功能,提升数据安全性- 更新网站编辑组件以支持密钥的输入和存储- 调整字段编辑组件,增加加密开关和类型选项
-优化字段列表展示逻辑,支持加密字段的特殊处理- 修改字段值类型为 any以适应多种数据格式
- 完善字段编辑表单验证规则和保存逻辑
- 更新相关组件的类型定义和事件处理- 调整界面布局和交互细节,提升用户体验
This commit is contained in:
2025-09-30 17:25:23 +08:00
parent cdb90cb60f
commit db143a73d6
15 changed files with 1528 additions and 300 deletions

View File

@@ -17,11 +17,11 @@
</a-col>
<a-col :span="14">
<div class="system-info">
<h2 class="ele-text-heading">{{ siteStore.appName }}</h2>
<h2 class="ele-text-heading cursor-pointer" @click="$router.push('/website/index')">{{ siteStore.appName }}</h2>
<p class="ele-text-secondary">{{ siteStore.description }}</p>
<a-space>
<a-tag color="blue">{{ siteStore.version }}</a-tag>
<a-tag color="green">{{ siteStore.statusText }}</a-tag>
<a-tag color="blue">{{ siteStore.version }}</a-tag>
<a-popover title="小程序码">
<template #content>
<p><img :src="siteStore.mpQrCode" alt="小程序码" width="300" height="300"></p>
@@ -138,11 +138,11 @@
<!-- 快捷操作 -->
<a-col :span="12">
<a-card title="快捷操作" :bordered="false">
<a-card title="快捷操作" :bordered="false" style="min-height: 353px">
<a-space direction="vertical" style="width: 100%">
<a-button type="primary" block @click="$router.push('/website/index')">
<ShopOutlined/>
站点管理
<a-button type="primary" block @click="$router.push('/website/field')" :loading="loading">
<UngroupOutlined/>
参数配置
</a-button>
<a-button block @click="$router.push('/shopOrder')">
<CalendarOutlined/>
@@ -152,22 +152,26 @@
<UserOutlined/>
用户管理
</a-button>
<a-button block @click="$router.push('/website/index')">
<ShopOutlined/>
站点管理
</a-button>
<!-- <a-button block @click="refreshStatistics" :loading="loading">-->
<!-- <ReloadOutlined/>-->
<!-- 刷新统计-->
<!-- </a-button>-->
<a-button block @click="$router.push('/system/login-record')">
<FileTextOutlined/>
登录日志
</a-button>
<a-button block @click="refreshStatistics" :loading="loading">
<ReloadOutlined/>
刷新统计
</a-button>
<a-button block @click="clearSiteInfoCache">
<ClearOutlined/>
清除缓存
</a-button>
<a-button block @click="$router.push('/system/setting')">
<SettingOutlined/>
系统设置
</a-button>
<!-- <a-button block @click="$router.push('/system/setting')">-->
<!-- <SettingOutlined/>-->
<!-- 系统设置-->
<!-- </a-button>-->
</a-space>
</a-card>
</a-col>
@@ -187,6 +191,7 @@ import {
AccountBookOutlined,
FileTextOutlined,
ClearOutlined,
UngroupOutlined,
MoneyCollectOutlined,
ReloadOutlined
} from '@ant-design/icons-vue';