This commit is contained in:
张成
2026-03-24 17:03:54 +08:00
parent 268520a0f2
commit 5b654824b4
25 changed files with 799 additions and 111 deletions

View File

@@ -0,0 +1,59 @@
-- =============================================================================
-- sys_menu 订阅模块菜单插入脚本(字段与 api/model/sys_menu.js 一致)
-- 执行前请备份。若已存在同名「订阅管理」父菜单,请先删除子菜单再删父级,或改下面名称。
-- 若数据库表另有 created_at / updated_at 等列,请在 INSERT 中补全或给默认值。
-- =============================================================================
-- -----------------------------------------------------------------------------
-- 方案一(推荐):一级目录「订阅管理」+ 子菜单parent_id 指向父记录 id
-- -----------------------------------------------------------------------------
INSERT INTO sys_menu
(name, parent_id, icon, path, type, model_id, form_id, component, api_path, is_show_menu, is_show, sort)
VALUES
(
'订阅管理',
0,
'ios-apps',
'/subscription',
'菜单',
0,
0,
'',
'',
1,
1,
900
);
SET @sub_parent_id = LAST_INSERT_ID();
INSERT INTO sys_menu
(name, parent_id, icon, path, type, model_id, form_id, component, api_path, is_show_menu, is_show, sort)
VALUES
('运营看板', @sub_parent_id, 'ios-speedometer', '/subscription/dashboard', '页面', 0, 0, 'subscription/dashboard', '', 1, 1, 10),
('业务用户', @sub_parent_id, 'ios-people', '/subscription/user', '页面', 0, 0, 'subscription/user', '', 1, 1, 20),
('套餐管理', @sub_parent_id, 'ios-pricetags', '/subscription/plan', '页面', 0, 0, 'subscription/plan', '', 1, 1, 30),
('订阅列表', @sub_parent_id, 'ios-list', '/subscription/subscription', '页面', 0, 0, 'subscription/subscription', '', 1, 1, 40),
('API Token', @sub_parent_id, 'ios-key', '/subscription/token', '页面', 0, 0, 'subscription/token', '', 1, 1, 50),
('支付确认', @sub_parent_id, 'ios-cash', '/subscription/payment', '页面', 0, 0, 'subscription/payment', '', 1, 1, 60),
('月用量', @sub_parent_id, 'ios-analytics', '/subscription/usage', '页面', 0, 0, 'subscription/usage', '', 1, 1, 70),
('审计日志', @sub_parent_id, 'ios-paper', '/subscription/audit', '页面', 0, 0, 'subscription/audit', '', 1, 1, 80);
-- -----------------------------------------------------------------------------
-- 方案二(可选):全部挂在根节点 parent_id=0无父级目录与 component-map 仍一致)
-- 若已执行方案一,请勿再执行下面语句,避免重复菜单。
-- -----------------------------------------------------------------------------
/*
INSERT INTO sys_menu
(name, parent_id, icon, path, type, model_id, form_id, component, api_path, is_show_menu, is_show, sort)
VALUES
('运营看板', 0, 'ios-speedometer', '/subscription/dashboard', '页面', 0, 0, 'subscription/dashboard', '', 1, 1, 910),
('业务用户', 0, 'ios-people', '/subscription/user', '页面', 0, 0, 'subscription/user', '', 1, 1, 920),
('套餐管理', 0, 'ios-pricetags', '/subscription/plan', '页面', 0, 0, 'subscription/plan', '', 1, 1, 930),
('订阅列表', 0, 'ios-list', '/subscription/subscription', '页面', 0, 0, 'subscription/subscription', '', 1, 1, 940),
('API Token', 0, 'ios-key', '/subscription/token', '页面', 0, 0, 'subscription/token', '', 1, 1, 950),
('支付确认', 0, 'ios-cash', '/subscription/payment', '页面', 0, 0, 'subscription/payment', '', 1, 1, 960),
('月用量', 0, 'ios-analytics', '/subscription/usage', '页面', 0, 0, 'subscription/usage', '', 1, 1, 970),
('审计日志', 0, 'ios-paper', '/subscription/audit', '页面', 0, 0, 'subscription/audit', '', 1, 1, 980);
*/

View File

@@ -0,0 +1,6 @@
订阅模块数据库脚本建议执行顺序:
1. 001_biz_schema.sql — 业务表(用户/套餐/订阅/Token/月用量)
2. 003_biz_audit.sql — 审计表 biz_audit_log
3. 002_biz_menu_seed.sql — 管理端菜单(按实际 sys_menu 表结构调整列后执行)
说明:若 002 与现有 sys_menu 字段不一致,请在库中对照 sys_menu 结构增删列后再插入。

View File

@@ -119,11 +119,11 @@
| 页面 | 路由 component key示例 | 功能 |
|------|------------------------------|------|
| 用户列表/编辑 | `biz/user` | 表格 + 搜索 + 抽屉表单 |
| 套餐列表/编辑 | `biz/plan` | JSON 功能点编辑器(简易 textarea 或 key-value |
| 订阅操作 | `biz/subscription` | 开通/升级/续费/取消向导或表单 |
| Token | `biz/token` | 列表、创建(展示一次明文)、吊销 |
| 支付确认 | `biz/payment` | 线下确认、链接确认表单 |
| 用户列表/编辑 | `subscription/user` | 表格 + 搜索 + 抽屉表单 |
| 套餐列表/编辑 | `subscription/plan` | JSON 功能点编辑器(简易 textarea 或 key-value |
| 订阅操作 | `subscription/subscription` | 开通/升级/续费/取消向导或表单 |
| Token | `subscription/token` | 列表、创建(展示一次明文)、吊销 |
| 支付确认 | `subscription/payment` | 线下确认、链接确认表单 |
菜单数据若来自后端 `sys_menu`,需在库中插入对应菜单项,`component``component-map.js` **key 一致**