林菲菲-知识库
将内网服务映射到公网域名-教程
林菲菲-待办事项
工作日志
服务器
内网服务器
基础设施搭建
虚拟机模版-初始化脚本
Chatwoot v4.6.0 部署文档
1Panel
一键部署脚本
Gitea部署
内网服务器 172.16.72.252
测试用例
外网服务器 202.79.167.21/25/31
多Agents
多Agent
外网服务器 202.79.167.19/22/23
迁移202.61.130.102服务器至202.79.167.25
刷单台子
需求迭代1
VIP等级功能 - 修改文件清单(最终版)
文件迁移脚本
天天vip新客户
外网服务器 202.61.130.102/130/233
wifi
矿池Bugs
Kt-后台系统
工单记录
Kt001 -内网配置
KT-后台业务流程
Kt前台业务流程
KT基建
本文档使用 MrDoc 发布
-
+
首页
需求迭代1
# 需求: 在平台端、代理端的任务中心下的用户列表,在操作列增加一个 vip等级 的按钮,然后列表的账号列,在姓名下面增加一行vip等级:xxx;然后在客户端的我的信息页,class="name"的旁边,增加一个小span,也显示用户的vip等级,这个小tab的判断逻辑为:if (user.vip_level > 0 && user.is_vip=1) { 显示vip等级 } else { 不显示 } 注意:这个功能的新增需要权限管理 # 功能设计: 数据库:sq_member用户表增加vip_level字段,类型为tinyint,默认值为1,1~9表示不同的vip等级 前端:点击 vip等级 按钮,显示下拉列表vip1~vip9,然后点击具体的等级后 给后端的接口 等级的枚举值, 后端:后端的 setVipLevel 方法,根据前端传递的枚举值,设置用户的 vip等级 # 功能实现 --- 📋 1. 数据库迁移 SQL(需要手动执行) --- 🔧 2. 后端接口实现(已完成) ✅ 平台端接口 文件: /admin/index/app/platform/controller/Member.php:541 添加了 set_vip_level() 方法: - 接收参数:id(用户ID)、vip_level(等级 1-9) - 验证等级范围 - 更新数据库 - 记录操作日志 ✅ 代理端接口 文件: /admin/index/app/agent/controller/Member.php:731 同样添加了 set_vip_level() 方法,功能相同。 --- # 上线步骤 1.0 停服 1.1 掌握清楚哪个文件夹是占用几十个G的,将其移动到站点外文件夹(一般移动相同分区就是一瞬间的事) runtime、public 1.2 备份整个站点代码 2、要停启一次数据库。然后备份数据库 3、升级站点和数据库 3.1 修改网站所属用户,修改文件权限 4、检验升级成果 5、没问题后将刚才移走的文件夹移回对应位置看图片是的显示正常 runtime、public 6、完成升级 # 上线流程 ## SQL: 1、备份整个数据库 1.1 备份具体数据表 1.2 备份全库 2、连接数据库 mysql -u root -p 密码:mysql_2Z5HdN 3、选择数据库 use lazadanetdb 4、执行迁移语句 ``` -- ======================================== -- VIP等级功能 - 完整SQL安装脚本 -- ======================================== -- 步骤1: 添加vip_level字段 ALTER TABLE `sq_member` ADD COLUMN `vip_level` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT 'VIP等级 1-9' AFTER `is_vip`; -- 步骤2: 添加VIP等级权限记录 INSERT INTO `sq_rule` ( `id`, `name`, `rule`, `route`, `level`, `sort`, `status`, `is_developer_only`, `is_to_agent`, `type`, `icon_code`, `parent_id`, `delete_time`, `create_time`, `update_time` ) VALUES ( 336, 'VIP等级', 'member_set_vip_level', 'member/set_vip_level', 0, 0, 1, 0, 1, 0, '', 112, NULL, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() ); -- 步骤3: 将权限添加到所有角色 (等待确认) UPDATE sq_role SET rules = CONCAT(rules, ',336'), update_time = UNIX_TIMESTAMP() AND FIND_IN_SET('336', rules) = 0; ``` ## 代码文件 代码:平台端 代理端代码、客户端代码 ### 平台端、代理端: 执行备份语句:sh /root/shuadan-lff/update-1025-bak.sh 执行迁移语句:sh /root/shuadan-lff/update-20251025.sh 出现问题执行恢复语句:sh /root/shuadan-lff/update-1025-return.sh ### 客户端 原先index备份,新的编译包解压,重命名为 index 路径:/data/1panel/www/sites/www.lazadanet.vip/web-20251025.zip 本地路径:/Volumes/DataDisk/CodeSpace/tt/shuadan/client/h5_source/unpackage/dist/build/web-20251025.zip # 效果 ## 1、平台端 ### 1.1 VIP等级 设置  ### 1.1 权限管理  ## 2、代理端 ### 2.1 VIP等级 设置  ### 2.2 权限管理  ## 3、客户端 ### 3.1 我的个人信息 我的页面的个人信息增加了VIP等级  # 额外发现的bug bug:当前用户的上级并不是会员,但是显示了 `VIP` 的图标, 问题排查:逻辑判断错误,当前行的用户是会员就会显示 这个小按钮、 而不是他的上级是会员才显示吗 需要修改:当前用户的上级是会员 才显示 `VIP` 图标  # 备份&恢复 备份 ``` cp /data/1panel/www/sites/lazadanet.vip/index/app/platform/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/controller/Member-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/app/agent/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/controller/Member-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/app/apiv1/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/apiv1/controller/Member-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/app/common/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/common/controller/Member-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/app/agent/route/route.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/route/route-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/app/platform/route/route.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/route/route-bak20251025.php cp /data/1panel/www/sites/lazadanet.vip/index/view/platform/member/index.html /data/1panel/www/sites/lazadanet.vip/index/view/platform/member/index-bak20251025.html cp /data/1panel/www/sites/lazadanet.vip/index/view/agent/member/index.html /data/1panel/www/sites/lazadanet.vip/index/view/agent/member/index-bak20251025.html ``` 迁移 ``` mv /root/shuadan-lff/index/app/platform/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/controller/Member.php echo "文件迁移完成: /root/shuadan-lff/index/app/platform/controller/Member.php" mv /root/shuadan-lff/index/app/agent/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/controller/Member.php echo "文件迁移完成: /root/shuadan-lff/index/app/agent/controller/Member.php" mv /root/shuadan-lff/index/app/apiv1/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/apiv1/controller/Member.php echo "文件迁移完成: /root/shuadan-lff/index/app/apiv1/controller/Member.php" mv /root/shuadan-lff/index/app/common/controller/Member.php /data/1panel/www/sites/lazadanet.vip/index/app/common/controller/Member.php echo "文件迁移完成: /root/shuadan-lff/index/app/common/controller/Member.php" mv /root/shuadan-lff/index/app/agent/route/route.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/route/route.php echo "文件迁移完成: /root/shuadan-lff/index/app/agent/route/route.php" mv /root/shuadan-lff/index/app/platform/route/route.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/route/route.php echo "文件迁移完成: /root/shuadan-lff/index/app/platform/route/route.php" mv /root/shuadan-lff/index/view/platform/member/index.html /data/1panel/www/sites/lazadanet.vip/index/view/platform/member/index.html echo "文件迁移完成: /root/shuadan-lff/index/view/platform/member/index.html" mv /root/shuadan-lff/index/view/agent/member/index.html /data/1panel/www/sites/lazadanet.vip/index/view/agent/member/index.html echo "文件迁移完成: /root/shuadan-lff/index/view/agent/member/index.html" ``` 恢复备份 ``` mv /data/1panel/www/sites/lazadanet.vip/index/app/platform/controller/Member-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/controller/Member.php mv /data/1panel/www/sites/lazadanet.vip/index/app/agent/controller/Member-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/controller/Member.php mv /data/1panel/www/sites/lazadanet.vip/index/app/apiv1/controller/Member-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/apiv1/controller/Member.php mv /data/1panel/www/sites/lazadanet.vip/index/app/common/controller/Member-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/common/controller/Member.php mv /data/1panel/www/sites/lazadanet.vip/index/app/agent/route/route-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/agent/route/route.php mv /data/1panel/www/sites/lazadanet.vip/index/app/platform/route/route-bak20251025.php /data/1panel/www/sites/lazadanet.vip/index/app/platform/route/route.php mv /data/1panel/www/sites/lazadanet.vip/index/view/platform/member/index-bak20251025.html /data/1panel/www/sites/lazadanet.vip/index/view/platform/member/index.html mv /data/1panel/www/sites/lazadanet.vip/index/view/agent/member/index-bak20251025.html /data/1panel/www/sites/lazadanet.vip/index/view/agent/member/index.html ```
arise
2025年10月27日 17:41
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码