一、登录页重构(暖色调品牌版)
- 左右分栏卡片:44% 品牌面板(花红渐变 + 光斑 + 内联 SVG 花瓣 Logo + 花期字标/口号)
+ 56% 表单面板(52px 输入框、内嵌矢量图标、聚焦暖色光晕、渐变主按钮)
- 与前台同一套设计令牌(#E8604C / #F58C7C / #FFF9F5 / #3E2C27),响应式适配
- 完整保留 #login-form/#pd-form-username/#profile-img/#errtips/token/验证码/保持登录等结构,后台登录 JS 零改动
二、后台业务模块(26 个,与前端 M1–M9 一一对应)
- 新增通用 Manage 控制器(列表/搜索/排序/新增/编辑/软删除/批量/列元数据)
- 新增 ManageConfig(26 张表的字段标签/类型/枚举/搜索配置)与 FormBuilder(表单控件渲染)
- 新增通用视图 manage/{index,add,edit,style}.html + public/assets/js/backend/manage.js
- 新增 26 个薄控制器(各 8 行,仅声明 )
- db/05_admin_menu.sql:花期运营菜单树 + 6 个通用操作权限,含站点名品牌化
三、品牌一致性
- site.php 站点名改为「花期运营中心」,顶栏 Logo 增加矢量花瓣
- 业务页暖色表头、渐变按钮、圆角输入、品牌色开关
四、验证(全绿)
- 后台自检 31 项:登录页品牌、框架菜单、26 模块页面 200 + 列表数据、后台编辑写库、
后台改动 → 前台 API 同步读取、数据还原
- 前台接口 82 项断言、契约 84 接口、Vue 20/20、SCSS 19/19、无 emoji 均通过
- 修复 5 个真实问题:方法签名不兼容致 500、菜单缓存、SQL 字符集乱码、
snake_case URL 与权限规则命名、会话文件属主导致的自检 500
56 行
5.5 KiB
SQL
56 行
5.5 KiB
SQL
-- ============================================================
|
||
-- 花期 APP · 运营后台业务模块菜单(与前端 M1–M9 对齐)
|
||
-- 可重复执行:清理旧的 manage 菜单后重建
|
||
-- 说明:rule.name 需与「控制器/方法」小写形式一致(auth 校验用),
|
||
-- url 使用下划线形式(ThinkPHP 会转换为驼峰类名)
|
||
-- ============================================================
|
||
SET NAMES utf8mb4;
|
||
|
||
SET @pid := (SELECT id FROM `fa_auth_rule` WHERE `name` = 'manage' AND `pid` = 0 LIMIT 1);
|
||
DELETE FROM `fa_auth_rule` WHERE `pid` = @pid;
|
||
DELETE FROM `fa_auth_rule` WHERE `name` = 'manage' AND `pid` = 0;
|
||
DELETE FROM `fa_auth_rule` WHERE `name` LIKE 'manage/%';
|
||
|
||
INSERT INTO `fa_auth_rule` (`type`,`pid`,`name`,`title`,`icon`,`ismenu`,`weigh`,`status`,`createtime`,`updatetime`)
|
||
VALUES ('file',0,'manage','花期运营','fa fa-heart',1,120,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP());
|
||
SET @parent := LAST_INSERT_ID();
|
||
|
||
INSERT INTO `fa_auth_rule` (`type`,`pid`,`name`,`title`,`icon`,`url`,`ismenu`,`weigh`,`status`,`createtime`,`updatetime`) VALUES
|
||
('file',@parent,'cycle/index','周期档案','fa fa-calendar','cycle/index',1,200,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'cyclelog/index','每日症状记录','fa fa-pencil-square-o','cycle_log/index',1,199,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'symptomtag/index','症状标签','fa fa-tags','symptom_tag/index',1,198,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'reminder/index','智能提醒','fa fa-bell-o','reminder/index',1,197,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'moodlog/index','情绪日记','fa fa-heartbeat','mood_log/index',1,196,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'content/index','内容库','fa fa-file-text-o','content/index',1,195,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'contentcategory/index','内容分类','fa fa-list-alt','content_category/index',1,194,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'bbtrecord/index','基础体温','fa fa-thermometer-half','bbt_record/index',1,193,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'lhtest/index','试纸识别','fa fa-flask','lh_test/index',1,192,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'task/index','任务管理','fa fa-tasks','task/index',1,191,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'familybind/index','家人绑定','fa fa-users','family_bind/index',1,190,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'caremessage/index','沟通留言','fa fa-comments-o','care_message/index',1,189,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'pointlog/index','爱心积分','fa fa-diamond','point_log/index',1,188,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'memory/index','纪念日','fa fa-heart','memory/index',1,187,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'courseorder/index','课程订单','fa fa-shopping-cart','course_order/index',1,186,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'baby/index','宝宝档案','fa fa-child','baby/index',1,185,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'growthrecord/index','成长记录','fa fa-line-chart','growth_record/index',1,184,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'vaccine/index','疫苗与儿保','fa fa-medkit','vaccine/index',1,183,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'counselor/index','咨询师','fa fa-user-md','counselor/index',1,182,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'consultorder/index','咨询订单','fa fa-comments','consult_order/index',1,181,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'assessment/index','量表管理','fa fa-clipboard','assessment/index',1,180,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'assessmentrecord/index','测评记录','fa fa-bar-chart','assessment_record/index',1,179,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'memberplan/index','会员套餐','fa fa-vimeo','member_plan/index',1,178,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'memberorder/index','会员订单','fa fa-credit-card','member_order/index',1,177,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'usersetting/index','隐私与提醒','fa fa-lock','user_setting/index',1,176,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'userbackup/index','数据备份','fa fa-database','user_backup/index',1,175,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP());
|
||
|
||
INSERT INTO `fa_auth_rule` (`type`,`pid`,`name`,`title`,`icon`,`url`,`ismenu`,`weigh`,`status`,`createtime`,`updatetime`) VALUES
|
||
('file',@parent,'manage/index','通用管理-index','fa fa-circle-o','',0,90,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'manage/add','通用管理-add','fa fa-circle-o','',0,89,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'manage/edit','通用管理-edit','fa fa-circle-o','',0,88,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'manage/del','通用管理-del','fa fa-circle-o','',0,87,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'manage/multi','通用管理-multi','fa fa-circle-o','',0,86,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()),
|
||
('file',@parent,'manage/columns','通用管理-columns','fa fa-circle-o','',0,85,'normal',UNIX_TIMESTAMP(),UNIX_TIMESTAMP());
|
||
|
||
-- 后台站点名称(登录页/侧边栏品牌)
|
||
UPDATE `fa_config` SET `value` = '花期运营中心' WHERE `name` = 'name' LIMIT 1;
|