refactor(system): 重构系统设置组件以支持按键更新

- 将 updateSetting 替换为 updateSettingByKey 方法调用
- 为所有设置组件添加默认的 settingId 和 settingKey 初始值
- 在表单提交前确保 settingKey 正确赋值
- 优化 watch 数据监听逻辑以支持按键匹配
- 重构数据处理流程以支持数组和对象格式的数据
- 统一错误处理和边界条件检查
- 修复表单重置和初始化逻辑
- 标准化各组件中的 settingKey 默认值设定
This commit is contained in:
2026-02-27 18:37:37 +08:00
parent 061f1cbe48
commit d1b7943e5d
14 changed files with 776 additions and 455 deletions

View File

@@ -5,21 +5,21 @@
:body-style="{ paddingTop: '0px', minHeight: '800px' }"
>
<a-tabs v-model:active-key="active">
<a-tab-pane tab="网站设置" key="website">
<Website v-model:value="active" :data="data" />
</a-tab-pane>
<!-- <a-tab-pane tab="网站设置" key="website">-->
<!-- <Website v-model:value="active" :data="data" />-->
<!-- </a-tab-pane>-->
<a-tab-pane tab="上传设置" key="upload">
<Upload v-model:value="active" :data="data" />
</a-tab-pane>
<a-tab-pane tab="微信小程序" key="mp-weixin">
<MpWeixin :value="active" :data="data" />
</a-tab-pane>
<a-tab-pane tab="短信设置" key="sms">
<Sms v-model:value="active" :data="data" />
</a-tab-pane>
<a-tab-pane tab="注册设置" key="register">
<Register :value="active" :data="data" />
</a-tab-pane>
<a-tab-pane tab="微信小程序" key="mp-weixin">
<MpWeixin :value="active" :data="data" />
</a-tab-pane>
<a-tab-pane tab="企业微信" key="wx-work">
<WxWork :value="active" :data="data" />
</a-tab-pane>
@@ -57,7 +57,7 @@
import { getSettingByKey } from '@/api/system/setting';
// tab页选中
const active = ref('privacy');
const active = ref('upload');
const data = ref<Setting>();