「我的中心」设置模块 功能设计与开发文档(一)--- 升鲜宝生鲜配送供应链管理系统重构说明

 

升鲜宝「我的中心」设置模块
功能设计与开发文档

我的中心 = 用户信息 + 授权信息 + 推广奖励 + 服务支持 + 打印设置 + 系统设置

文档版本

V1.0 正式开发版

适用系统

升鲜宝供应链管理系统 / 移动端 / 小程序 / H5 / POS / 仓库移动端

技术方向

Spring Boot + MyBatis-Plus + MySQL 8.0 + Redis + Vue3/UniApp

模块定位

移动端个人中心、设置中心、服务中心、推广中心统一入口

字段规范

不使用 is_ 前缀;统一使用 enabled_flag、visible_flag、default_flag、deleted

交付内容

功能设计、页面设计、表结构、接口、后端/前端开发方案、测试验收

 

 

0-1 我的中心六大能力结构

 

文档控制

版本

日期

说明

责任人

V1.0

2026-04-26

基于移动端“我的/设置”截图,形成完整功能设计与开发文档。

产品/研发

 

目录

1. 页面截图分析与模块定位

2. 我的中心总体设计

3. 六大功能域详细设计

4. 页面交互与状态设计

5. 权限、租户与动态菜单设计

6. 数据库表结构设计

7. 后端接口设计

8. 后端开发实现说明

9. 前端开发实现说明

10. 打印设置专项设计

11. 安全、缓存、日志与审计

12. 测试用例与验收标准

13. 研发排期与落地建议

14. 附录:核心 DDL 与代码骨架

阅读说明:本文档采用“可直接落地研发”的写法:先定义模块边界,再定义页面、权限、数据表、接口、Service、前端组件与测试验收。

 

1. 页面截图分析与模块定位

根据截图,当前页面是移动端底部导航“我的”页面。顶部为蓝色品牌头部,中间显示用户头像、账号、编辑图标与二维码图标;下方卡片显示“升鲜宝1.0专业版”和“用户数:1235”;菜单分为推广奖励、服务支持、打印与设置三类。

 

 

截图 1:我的中心页面滚动状态

截图 2:我的中心页面滚动状态

 

区域

图片表现

设计判断

后续建议

顶部用户区

头像、admin、编辑按钮、二维码图标

属于个人身份入口,不只是静态展示

支持资料维护、员工码、推广码、门店码

授权卡片

升鲜宝1.0专业版 / 用户数:1235

属于租户授权与版本展示

扩展套餐、授权人数、到期时间、续费升级

推广入口

我的奖励、我的拉新、开拓新客

属于增长与业务拓客入口

与奖励账户、邀请关系、客户线索联动

服务支持

客服热线、在线客服、CEO邮箱

属于客户服务和反馈闭环

支持工单、反馈、投诉、CEO信箱

打印设置

打印设置菜单项

升鲜宝高频业务能力

支持蓝牙/网络/云打印、模板、测试、日志

系统设置

设置菜单项

个人与业务默认值设置入口

账号安全、通知、语言、缓存、退出登录

 

模块命名建议:最终模块名称建议定义为“我的中心”,而不是单独叫“设置模块”。设置只是六大能力中的一个子域。

1.1 模块总定位

我的中心 = 用户信息 + 授权信息 + 推广奖励 + 服务支持 + 打印设置 + 系统设置

该模块承担移动端用户进入升鲜宝后的统一入口能力,既服务普通员工,也服务管理员、业务员、仓库员、收银员、配送员等不同角色。

2. 我的中心总体设计

2.1 业务目标

目标

说明

身份确认

用户进入页面后能清楚知道当前登录账号、所属企业/门店/角色。

授权透明

展示当前系统版本、套餐、授权人数、到期状态,降低续费和服务沟通成本。

推广增长

给业务员、代理商、员工提供拉新、奖励、开拓新客入口。

服务闭环

提供热线、在线客服、CEO反馈和工单入口,形成问题闭环。

设备配置

把移动打印、收银打印、仓库打印统一纳入配置中心。

个性化设置

支持账号安全、消息通知、语言、默认门店/仓库、清缓存、退出登录。

 

2.2 功能结构树

我的中心
├── 用户信息
│   ├── 头像 / 用户名 / 昵称 / 手机号 / 角色
│   ├── 编辑资料
│   └── 我的二维码
├── 授权信息
│   ├── 系统版本 / 套餐名称 / 授权人数 / 已用人数
│   ├── 到期时间 / 授权状态
│   └── 续费 / 升级 / 联系客服
├── 推广奖励
│   ├── 我的奖励
│   ├── 我的拉新
│   └── 开拓新客
├── 服务支持
│   ├── 客服热线
│   ├── 在线客服
│   └── CEO邮箱 / 总裁信箱
├── 打印设置
│   ├── 打印机管理
│   ├── 打印模板
│   ├── 打印测试
│   └── 打印日志
└── 系统设置
    ├── 账号与安全
    ├── 消息通知
    ├── 语言 / 主题 / 字体 / 缓存
    ├── 业务默认值
    └── 关于系统 / 检查更新 / 退出登录

2.3 首页加载流程

 

2-1 我的中心首页加载流程

2.4 端适配范围

终端

适配方式

关键差异

移动 App

完整支持

可用蓝牙打印、扫码、拨号、上传附件。

微信小程序

完整支持

二维码、客服、拨号通过小程序能力实现;部分本地蓝牙能力受限制。

H5

支持

打印更偏浏览器打印或云打印;部分系统能力需要降级。

POS 收银端

部分支持

重点保留账号、授权、打印、退出登录。

仓库移动端

部分支持

重点保留打印、默认仓库、消息、账号安全。

配送员端

部分支持

重点保留个人信息、服务支持、消息通知。

 

3. 六大功能域详细设计

3.1 用户信息

用户信息区位于页面顶部,是当前登录身份的核心展示区域,也是个人资料、二维码、账号安全的入口。

功能点

字段/动作

规则说明

头像展示

avatar_url

头像为空时使用系统默认头像;上传后写入用户资料表或附件表。

用户名展示

username

登录账号只读,不建议普通用户修改。

昵称展示

nickname

可编辑,用于页面展示和单据操作人展示。

编辑资料

点击编辑图标

进入资料编辑页,支持头像、昵称、手机号、邮箱。

我的二维码

点击二维码图标

可展示员工码、推广码、门店码;由场景参数决定二维码类型。

所属信息

tenantName/shopName/roleName

用于用户确认当前企业、门店、角色。

 

3.2 授权信息

授权信息卡用于展示当前租户的系统版本和授权状态。截图中已有“升鲜宝1.0专业版”和“用户数:1235”,建议扩展为套餐、授权人数、到期时间、授权状态。

字段

类型

说明

systemName

String

系统名称,例如:升鲜宝。

versionName

String

版本名称,例如:升鲜宝1.0专业版。

packageName

String

套餐名称,例如:专业版、企业版、旗舰版。

usedUserCount

Integer

当前已启用用户数。

userLimit

Integer

授权最大用户数。

expireDate

Date

授权到期时间。

licenseStatus

String

normal / expiring / expired / disabled。

moduleList

Array

当前授权开通的功能模块。

 

3.3 推广奖励

子功能

核心页面

业务规则

我的奖励

奖励看板、奖励明细、提现记录

奖励先进入待结算,满足结算条件后进入可提现;提现后生成付款记录。

我的拉新

邀请统计、拉新列表、客户转化状态

通过邀请链接、二维码、手机号关联推荐关系,跟踪注册、认证、成交。

开拓新客

客户线索录入、跟进记录、转正式客户

业务员录入潜在客户;成交后转 CRM 客户或租户试用客户。

 

3.4 服务支持

子功能

页面行为

后端配置

客服热线

点击后拨号或弹出多热线列表

sys_support_config.support_type = hotline。

在线客服

跳转在线客服、工单、第三方客服链接

support_type = online / work_order。

CEO邮箱

展示邮箱、复制、跳转反馈表单

support_type = email;建议升级为总裁信箱。

意见反馈

提交投诉、建议、系统问题、合作意向

写入 sys_user_feedback。

帮助文档

跳转帮助中心或知识库

支持按端、角色、模块展示。

 

3.5 打印设置

打印设置是升鲜宝供应链、仓库、门店、收银业务中的高频功能,建议独立形成“打印配置中心”,但移动端入口放在我的中心。

能力

说明

业务场景

打印机管理

添加、删除、启用、停用、设置默认打印机

门店收银、仓库出入库、配送签收。

打印方式

蓝牙、网络、USB、云打印、浏览器打印

不同终端采用不同打印通道。

打印模板

小票、标签、采购单、入库单、出库单、配送单、对账单

模板与业务单据类型绑定。

打印测试

输出测试页,检查连接和纸张规格

设备安装调试。

打印日志

记录成功、失败、异常原因、重打记录

追踪打印问题和客服排查。

 

3.6 系统设置

分类

功能项

说明

账号与安全

修改密码、绑定手机号、绑定邮箱、登录设备管理

保护用户账号安全。

消息通知

系统通知、订单通知、库存预警、审核提醒、财务提醒

按用户维度保存通知偏好。

通用设置

语言、字体大小、主题色、清除缓存、图片上传质量

提升不同用户使用体验。

业务默认值

默认公司、门店、仓库、供应商、客户、打印模板

减少移动端下单/作业重复选择。

关于系统

当前版本、检查更新、用户协议、隐私政策、联系我们

满足合规与基础服务需求。

退出登录

清除 token、清除本地敏感缓存

必须弹出二次确认。

 

4. 页面交互与状态设计

4.1 首页布局建议

页面从上到下:
1. 蓝色头部:用户头像 + 用户名 + 昵称 + 编辑按钮 + 二维码按钮
2. 白色授权卡片:版本名称 + 用户数 / 授权状态
3. 推广奖励分组:我的奖励 / 我的拉新 / 开拓新客
4. 服务支持分组:客服热线 / 在线客服 / CEO邮箱
5. 打印设置分组:打印设置
6. 系统设置分组:设置
7. 底部 Tab:首页 / 应用 / 我的

4.2 菜单点击规则

菜单

点击结果

异常处理

头像/编辑

进入个人资料编辑页

无权限或网络异常时提示“资料加载失败”。

二维码

打开我的二维码弹窗或页面

二维码生成失败时允许重试。

授权卡片

进入授权详情页

普通角色可只显示基础信息,不显示费用信息。

我的奖励

进入奖励中心

未开通推广功能时隐藏菜单。

我的拉新

进入拉新记录

无数据时显示空状态和邀请按钮。

开拓新客

进入客户线索新增页

CRM 权限时不展示。

客服热线

拨打电话或弹窗

电话未配置时提示“客服热线暂未配置”。

在线客服

进入客服页或第三方链接

第三方链接不可用时回退工单入口。

CEO邮箱

复制邮箱或进入反馈表单

邮箱未配置时隐藏或显示反馈表单。

打印设置

进入打印设备列表

无打印权限时不展示。

设置

进入系统设置页

按子功能权限过滤。

 

4.3 页面状态

状态

表现

处理方式

加载中

骨架屏或 loading

首页接口未返回前显示骨架屏。

正常

完整展示用户信息、授权卡片、菜单

菜单按服务端顺序渲染。

无权限

部分菜单隐藏

服务端权限过滤为主,前端兜底隐藏。

未授权/过期

授权卡片提示异常

可限制部分业务入口,保留联系客服。

离线/弱网

展示上次缓存的菜单与用户头像

敏感信息不缓存或加密缓存。

配置缺失

对应菜单隐藏或显示默认值

例如客服热线未配置则隐藏或提示。

 

5. 权限、租户与动态菜单设计

我的中心必须支持不同租户、不同终端、不同角色、不同门店展示不同菜单。核心原则是:后端统一过滤,前端只负责动态渲染。

5.1 菜单权限矩阵

功能

普通员工

业务员

仓库员

收银员

管理员

查看个人信息

允许

允许

允许

允许

允许

修改个人资料

允许

允许

允许

允许

允许

查看授权信息

基础

基础

基础

基础

完整

我的奖励

允许

允许

隐藏

隐藏

允许

我的拉新

允许

允许

隐藏

隐藏

允许

开拓新客

隐藏

允许

隐藏

隐藏

允许

客服热线

允许

允许

允许

允许

允许

在线客服

允许

允许

允许

允许

允许

CEO邮箱

允许

允许

允许

允许

允许

打印设置

隐藏

部分

允许

允许

允许

系统设置

部分

部分

部分

部分

完整

 

5.2 动态菜单过滤逻辑

后端过滤顺序:
1. terminal_type 过滤:app / h5 / mini / pos / warehouse
2. tenant_id 读取租户菜单配置;没有租户配置则读取平台默认配置
3. enabled_flagvisible_flag 过滤
4. license module 过滤:未授权模块不返回
5. permission_code 与用户角色权限过滤
6. shop_id / warehouse_id / org_id 做数据范围过滤
7. group_code + sort_no 组装 menuGroups 返回前端

5.3 多租户处理原则

对象

租户处理

菜单配置

tenant_id = 0 表示平台默认;租户自定义时覆盖默认配置。

客服配置

支持平台默认客服,也支持租户自己的售后电话、邮箱、客服链接。

打印设备

必须按 tenant_id 隔离;门店/仓库/用户维度再细分。

用户设置

必须按 tenant_id + user_id + setting_key 唯一。

奖励拉新

必须按 tenant_id 隔离,避免跨租户奖励串账。

授权信息

来源于租户授权表或 SaaS 授权中心,不允许普通用户修改。

 

6. 数据库表结构设计

本模块建议分为“配置类表、用户设置类表、服务支持类表、打印类表、推广奖励类表、授权快照类表”。字段命名遵循升鲜宝规范:不使用 is_ 前缀,布尔字段使用 xxx_flag。

6.1 表清单

表名

用途

说明

sys_mine_menu

我的中心菜单配置

控制菜单名称、图标、路径、权限、排序、终端。

sys_user_setting

用户个性化设置

保存语言、默认仓库、默认门店、通知偏好等。

sys_support_config

服务支持配置

客服热线、在线客服、CEO邮箱、帮助入口。

sys_user_feedback

用户反馈/CEO信箱

投诉、建议、系统问题、合作意向。

sys_print_device

打印设备配置

蓝牙、网络、USB、云打印、浏览器打印。

sys_print_template_bind

打印模板绑定

按业务单据类型绑定默认模板。

sys_print_log

打印日志

记录打印成功、失败、重打、异常原因。

sys_tenant_license_snapshot

租户授权快照

给移动端展示版本、用户数、到期状态。

mkt_invite_relation

邀请拉新关系

记录邀请人、被邀请人、注册/成交状态。

mkt_reward_account

奖励账户

记录累计、可提现、待结算、已提现金额。

mkt_reward_flow

奖励流水

记录每一笔奖励来源、状态、结算时间。

crm_customer_lead

客户线索

开拓新客入口录入的潜在客户。

 

6.2 核心字段设计说明

字段

规范

说明

tenant_id

BIGINT NOT NULL

租户隔离字段,所有业务配置表必须具备。

user_id

BIGINT

用户维度配置和奖励数据必须具备。

shop_id / warehouse_id

BIGINT

打印设备、默认业务设置可绑定门店或仓库。

enabled_flag

TINYINT

启用状态:0停用,1启用。

visible_flag

TINYINT

是否显示:0隐藏,1显示。

default_flag

TINYINT

是否默认:0否,1是。

deleted

TINYINT

逻辑删除:0正常,1删除。

create_time / update_time

DATETIME

统一记录创建与更新时间。

 

7. 后端接口设计

接口统一使用 /api/app 前缀,面向移动 App、小程序、H5。后台配置接口可使用 /api/admin 前缀。

7.1 App 端接口清单

接口

方法

说明

/api/app/mine/home

GET

获取我的中心首页:用户信息、授权信息、分组菜单。

/api/app/mine/profile

GET

获取个人资料。

/api/app/mine/profile/update

POST

修改个人资料。

/api/app/mine/qrcode

GET

获取我的二维码。

/api/app/mine/license

GET

获取授权详情。

/api/app/support/config

GET

获取客服、在线客服、CEO邮箱配置。

/api/app/support/feedback/submit

POST

提交用户反馈/CEO信箱。

/api/app/setting/list

GET

获取系统设置项。

/api/app/setting/save

POST

保存用户设置。

/api/app/print/device/list

GET

获取打印设备列表。

/api/app/print/device/save

POST

新增或修改打印设备。

/api/app/print/device/default

POST

设置默认打印机。

/api/app/print/test

POST

打印测试页。

/api/app/reward/summary

GET

获取我的奖励汇总。

/api/app/invite/list

GET

获取我的拉新记录。

/api/app/customer-lead/save

POST

保存客户线索。

 

7.2 首页接口返回结构

{
  "userInfo": {
    "userId": 1,
    "username": "admin",
    "nickname": "admin",
    "avatarUrl": "https://cdn.sxb.com/avatar.png",
    "phone": "13800000000",
    "roleName": "系统管理员",
    "tenantName": "杭州升鲜宝科技有限公司",
    "shopName": "总部",
    "qrCodeUrl": "https://cdn.sxb.com/qrcode/user/1.png"
  },
  "licenseInfo": {
    "systemName": "升鲜宝",
    "versionName": "升鲜宝1.0专业版",
    "packageName": "专业版",
    "usedUserCount": 1235,
    "userLimit": 2000,
    "expireDate": "2026-12-31",
    "licenseStatus": "normal"
  },
  "menuGroups": [
    {
      "groupCode": "promotion",
      "groupName": "推广奖励",
      "menus": [
        {"menuCode":"my_reward","menuName":"我的奖励","iconCode":"reward","path":"/mine/reward"},
        {"menuCode":"my_invite","menuName":"我的拉新","iconCode":"invite","path":"/mine/invite"},
        {"menuCode":"new_customer","menuName":"开拓新客","iconCode":"customer","path":"/mine/customer-lead"}
      ]
    }
  ]
}

7.3 保存用户设置请求

POST /api/app/setting/save

{
  "settingKey": "defaultWarehouseId",
  "settingValue": "10001",
  "valueType": "number"
}

7.4 保存打印设备请求

POST /api/app/print/device/save

{
  "id": null,
  "shopId": 1001,
  "warehouseId": null,
  "deviceName": "前台80mm小票打印机",
  "deviceType": "network",
  "deviceCode": "POS-PRINT-001",
  "ipAddress": "192.168.1.88",
  "port": 9100,
  "paperType": "80mm",
  "defaultFlag": 1,
  "enabledFlag": 1
}

8. 后端开发实现说明

8.1 后端包结构建议

com.sxb.mine
├── controller
│   ├── AppMineController.java
│   ├── AppSettingController.java
│   ├── AppSupportController.java
│   └── AppPrintController.java
├── service
│   ├── MineHomeService.java
│   ├── UserSettingService.java
│   ├── SupportConfigService.java
│   ├── PrintDeviceService.java
│   └── MineMenuService.java
├── service.impl
├── mapper
├── entity
├── dto
├── vo
├── enums
└── convert

8.2 核心 Service 职责

Service

职责

MineHomeService

聚合用户信息、授权信息、动态菜单,输出 MineHomeVO。

MineMenuService

读取租户菜单配置,执行终端、权限、授权过滤。

UserSettingService

读取和保存用户设置;支持批量读取默认值。

SupportConfigService

读取客服热线、在线客服、CEO邮箱、帮助文档配置。

PrintDeviceService

管理打印机、默认打印机、打印测试、打印日志。

RewardService

奖励账户、奖励明细、提现记录查询。

InviteService

邀请记录、拉新统计、转化状态查询。

CustomerLeadService

开拓新客线索录入与跟进。

 

8.3 首页聚合伪代码

public MineHomeVO getHome() {
    LoginUser loginUser = LoginUserContext.getLoginUser();
    Long tenantId = loginUser.getTenantId();
    Long userId = loginUser.getUserId();

    UserInfoVO userInfo = userProfileService.getMineUserInfo(tenantId, userId);
    TenantLicenseVO licenseInfo = licenseService.getTenantLicenseSnapshot(tenantId);

    List<MineMenuEntity> menus = mineMenuService.listAvailableMenus(
        tenantId,
        userId,
        TerminalTypeEnum.APP.getCode(),
        licenseInfo.getModuleCodes()
    );

    List<MineMenuGroupVO> menuGroups = mineMenuAssembler.toGroups(menus);

    MineHomeVO vo = new MineHomeVO();
    vo.setUserInfo(userInfo);
    vo.setLicenseInfo(licenseInfo);
    vo.setMenuGroups(menuGroups);
    return vo;
}

8.4 DTO / VO 设计

对象

字段

MineHomeVO

userInfo, licenseInfo, menuGroups

MineUserInfoVO

userId, username, nickname, avatarUrl, phone, roleName, tenantName, shopName, qrCodeUrl

TenantLicenseVO

systemName, versionName, packageName, usedUserCount, userLimit, expireDate, licenseStatus, moduleCodes

MineMenuGroupVO

groupCode, groupName, sortNo, menus

MineMenuVO

menuCode, menuName, iconCode, iconUrl, path, badgeCount, actionType

UserSettingSaveDTO

settingKey, settingValue, valueType

PrintDeviceSaveDTO

id, shopId, warehouseId, deviceName, deviceType, deviceCode, ipAddress, port, paperType, defaultFlag, enabledFlag

FeedbackSubmitDTO

feedbackType, title, content, contactPhone, contactEmail, attachmentUrls

 

8.5 缓存策略

缓存对象

Key

建议过期时间

刷新策略

我的菜单配置

sxb:mine:menu:{tenantId}:{terminalType}:{userId}

10分钟

菜单配置、角色权限、授权变更时主动删除。

客服配置

sxb:support:config:{tenantId}

30分钟

后台保存客服配置后删除。

授权快照

sxb:license:{tenantId}

5分钟

授权中心变更后主动刷新。

用户设置

sxb:user:setting:{tenantId}:{userId}

30分钟

用户保存设置后删除。

 

9. 前端开发实现说明

9.1 前端页面与路由

页面

路由

说明

我的中心

/pages/mine/index

展示用户信息、授权卡片、动态菜单。

个人资料

/pages/mine/profile

头像、昵称、手机号、邮箱维护。

我的二维码

/pages/mine/qrcode

展示员工码/推广码/门店码。

授权详情

/pages/mine/license

版本、套餐、人数、到期、模块清单。

奖励中心

/pages/mine/reward/index

奖励汇总、明细、提现记录。

我的拉新

/pages/mine/invite/index

邀请记录与转化状态。

开拓新客

/pages/mine/customer-lead/edit

客户线索录入与跟进。

服务支持

/pages/support/index

热线、客服、工单、反馈。

打印设置

/pages/print/device/index

设备列表、默认打印机、测试打印。

系统设置

/pages/setting/index

账号安全、通知、语言、缓存、退出登录。

 

9.2 前端组件拆分

MinePage.vue
├── MineUserHeader.vue       # 蓝色用户信息头部
├── MineLicenseCard.vue      # 授权信息卡片
├── MineMenuGroup.vue        # 菜单分组容器
├── MineMenuItem.vue         # 单个菜单项
├── SupportActionSheet.vue   # 客服热线/邮箱弹窗
└── MineSkeleton.vue         # 首页加载骨架屏

9.3 动态渲染规则

规则

说明

菜单完全由后端返回

前端不硬编码业务菜单,只保留默认兜底配置。

图标支持 iconCode 和 iconUrl

系统内置图标走 iconCode,租户自定义图标走 iconUrl。

groupCode 控制分组样式

promotion、support、print、setting 可使用不同间距和分割线。

path 控制跳转

内部路径走 router;外部链接走 WebView;拨号/邮箱走 actionType。

badgeCount 支持角标

未来可用于未读消息、待处理工单、待审核提醒。

 

9.4 前端页面状态管理

页面初始化:
1. onLoad / mounted 调用 GET /api/app/mine/home
2. 成功后缓存非敏感展示数据,例如菜单、头像 URL、版本名称
3. 渲染 userInfolicenseInfomenuGroups
4. 点击菜单统一走 handleMenuClick(menu)
5. 下拉刷新重新拉取首页接口
6. 退出登录时清除 token、用户缓存、菜单缓存并跳转登录页

10. 打印设置专项设计

打印设置是本模块中最容易与业务系统产生深度耦合的能力。建议使用“打印设备 + 打印模板 + 业务单据绑定 + 打印日志”的四层模型。

10.1 打印业务场景

场景

打印内容

默认设备建议

采购入库

采购单、入库单、验收单

仓库网络打印机 / A4 打印机。

销售出库

销售出库单、配送单、拣货单

仓库网络打印机 / 标签打印机。

门店收银

收银小票、退货小票、交班单

前台 58mm/80mm 小票打印机。

商品标签

价格签、条码标签、称重标签

标签打印机。

配送签收

配送单、签收单、异常单

移动蓝牙打印机或云打印。

对账结算

客户对账单、供应商对账单

A4 打印或 PDF 导出。

 

10.2 默认打印机规则

默认打印机选择优先级:
1. 用户 + 业务单据类型 默认打印机
2. 门店/仓库 + 业务单据类型 默认打印机
3. 租户 + 业务单据类型 默认打印机
4. 租户默认打印机
5. 系统提示用户选择打印机

10.3 打印日志记录要求

字段

说明

biz_type / biz_id / biz_code

关联业务单据,例如销售出库单、入库单、配送单。

device_id / template_id

记录使用的打印设备和模板。

print_status

success / failed / canceled。

print_count

打印份数或重打次数。

error_message

失败原因,便于客服排查。

operator_id / print_time

操作人和打印时间。

 

11. 安全、缓存、日志与审计

11.1 安全控制

安全点

处理方式

个人资料修改

手机号、邮箱、密码等敏感信息修改必须校验验证码或原密码。

二维码访问

二维码内容不直接暴露用户敏感信息,使用短码或加密 token。

授权信息展示

普通用户只展示基础版本;费用、合同、授权 Key 仅管理员可见。

打印设备配置

新增、删除、设置默认打印机需要权限控制和操作日志。

退出登录

清除服务端 token 或加入 token 黑名单,清除本地敏感缓存。

附件上传

反馈附件需限制类型、大小并做安全扫描。

 

11.2 操作日志

操作

是否记录

日志内容

修改个人资料

修改字段、操作人、IP、设备信息。

保存用户设置

setting_key、旧值、新值。

提交反馈

反馈类型、标题、附件数量。

新增/修改打印机

设备名称、类型、IP、端口、默认状态。

设置默认打印机

旧默认设备、新默认设备。

退出登录

建议

用户、设备、时间。

 

11.3 异常码建议

错误码

说明

SET-001

设置项不存在或不允许修改。

SET-002

无权限访问该设置项。

SET-003

设置值格式不合法。

MINE-001

我的中心首页加载失败。

MINE-002

菜单配置不存在。

SUP-001

客服配置未启用。

PRT-001

打印设备不存在。

PRT-002

打印设备连接失败。

PRT-003

未配置默认打印机。

 

12. 测试用例与验收标准

12.1 核心测试用例

编号

场景

预期结果

TC001

管理员进入我的中心

展示完整用户信息、授权信息、全部有权限菜单。

TC002

普通员工进入我的中心

隐藏开拓新客、管理级授权信息、部分系统设置。

TC003

未配置客服热线

客服热线菜单隐藏或点击提示“暂未配置”。

TC004

授权即将到期

授权卡片显示到期提醒,管理员可进入续费入口。

TC005

用户修改昵称

保存成功后首页立即刷新昵称。

TC006

设置默认仓库

写入 sys_user_setting,下次进入业务单据默认带出。

TC007

新增网络打印机

设备保存成功,可在列表中查看并设置默认。

TC008

打印测试失败

写入失败日志,提示连接失败原因。

TC009

提交 CEO 反馈

写入 sys_user_feedback,状态为 pending。

TC010

角色权限变更

首页菜单缓存失效,重新进入后菜单按新权限展示。

 

12.2 验收标准

验收项

标准

页面还原

移动端页面与截图风格一致:蓝色头部、授权卡片、分组菜单、底部我的选中。

动态菜单

菜单由接口返回,可按租户、端、角色、授权模块动态显示。

权限正确

无权限菜单不显示;接口端也必须拦截。

设置可保存

用户设置保存后可再次读取,支持默认门店/仓库/语言/通知等。

打印可配置

打印设备可新增、修改、启停、设置默认、测试、记录日志。

服务可配置

客服热线、在线客服、CEO邮箱可后台维护。

日志完整

关键操作写入操作日志和打印日志。

性能达标

首页接口 P95 < 300ms;菜单和客服配置支持缓存。

 

13. 研发排期与落地建议

阶段

周期

交付内容

1 阶段:基础首页

3-5 天

完成我的中心首页、用户信息、授权卡片、动态菜单接口。

2 阶段:系统设置

3-5 天

完成个人资料、用户设置、消息通知、默认值设置、退出登录。

3 阶段:服务支持

3-4 天

完成客服配置、在线客服、CEO反馈、用户反馈表。

4 阶段:打印设置

5-7 天

完成打印设备、默认打印机、测试打印、打印日志。

5 阶段:推广奖励

5-8 天

完成我的奖励、我的拉新、开拓新客、客户线索。

6 阶段:联调验收

3-5 天

完成权限、缓存、异常、端适配、测试用例验收。

 

实施建议:建议优先落地“首页 + 动态菜单 + 设置 + 客服 + 打印设备”,推广奖励可以根据实际业务推广计划放在第二批上线。

14. 附录:核心 DDL 与代码骨架

14.1 我的中心菜单配置表

CREATE TABLE sys_mine_menu (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL DEFAULT 0 COMMENT '租户ID0表示平台默认',
    menu_code VARCHAR(100) NOT NULL COMMENT '菜单编码',
    menu_name VARCHAR(100) NOT NULL COMMENT '菜单名称',
    group_code VARCHAR(50) NOT NULL COMMENT '分组编码:promotion,support,print,setting',
    group_name VARCHAR(100) DEFAULT NULL COMMENT '分组名称',
    icon_code VARCHAR(100) DEFAULT NULL COMMENT '图标编码',
    icon_url VARCHAR(500) DEFAULT NULL COMMENT '图标地址',
    path VARCHAR(300) DEFAULT NULL COMMENT '前端跳转路径',
    action_type VARCHAR(30) NOT NULL DEFAULT 'route' COMMENT '动作类型:route,webview,phone,email,copy',
    permission_code VARCHAR(100) DEFAULT NULL COMMENT '权限编码',
    module_code VARCHAR(100) DEFAULT NULL COMMENT '授权模块编码',
    terminal_type VARCHAR(30) NOT NULL DEFAULT 'app' COMMENT '终端类型:app,h5,mini,pos,warehouse',
    visible_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否显示:0否,1',
    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否启用:0否,1',
    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',
    remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    UNIQUE KEY uk_tenant_menu_code (tenant_id, menu_code),
    KEY idx_tenant_group (tenant_id, group_code),
    KEY idx_terminal_type (terminal_type)
) COMMENT='我的中心菜单配置表';

14.2 用户个性化设置表

CREATE TABLE sys_user_setting (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    user_id BIGINT NOT NULL COMMENT '用户ID',
    setting_key VARCHAR(100) NOT NULL COMMENT '设置Key',
    setting_value VARCHAR(1000) DEFAULT NULL COMMENT '设置值',
    setting_name VARCHAR(100) DEFAULT NULL COMMENT '设置名称',
    value_type VARCHAR(30) NOT NULL DEFAULT 'string' COMMENT '值类型:string,number,boolean,json',
    remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    UNIQUE KEY uk_user_setting (tenant_id, user_id, setting_key),
    KEY idx_tenant_user (tenant_id, user_id)
) COMMENT='用户个性化设置表';

14.3 服务支持配置表

CREATE TABLE sys_support_config (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL DEFAULT 0 COMMENT '租户ID0表示平台默认',
    support_type VARCHAR(30) NOT NULL COMMENT '支持类型:hotline,online,email,work_order,help',
    title VARCHAR(100) NOT NULL COMMENT '标题',
    content VARCHAR(500) NOT NULL COMMENT '内容,例如电话、邮箱、客服说明',
    action_url VARCHAR(500) DEFAULT NULL COMMENT '跳转地址',
    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态:0停用,1启用',
    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',
    remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_tenant_type (tenant_id, support_type)
) COMMENT='客服与服务支持配置表';

14.4 用户反馈表

CREATE TABLE sys_user_feedback (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    user_id BIGINT NOT NULL COMMENT '反馈用户ID',
    feedback_type VARCHAR(30) NOT NULL COMMENT '反馈类型:suggestion,complaint,bug,cooperation,other',
    title VARCHAR(200) NOT NULL COMMENT '反馈标题',
    content TEXT NOT NULL COMMENT '反馈内容',
    contact_phone VARCHAR(30) DEFAULT NULL COMMENT '联系电话',
    contact_email VARCHAR(100) DEFAULT NULL COMMENT '联系邮箱',
    attachment_urls TEXT DEFAULT NULL COMMENT '附件地址JSON',
    status VARCHAR(30) NOT NULL DEFAULT 'pending' COMMENT '状态:pending,accepted,processing,replied,closed',
    reply_content TEXT DEFAULT NULL COMMENT '回复内容',
    reply_user_id BIGINT DEFAULT NULL COMMENT '回复人ID',
    reply_time DATETIME DEFAULT NULL COMMENT '回复时间',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_tenant_user (tenant_id, user_id),
    KEY idx_status (status)
) COMMENT='用户反馈与CEO信箱表';

14.5 打印设备配置表

CREATE TABLE sys_print_device (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    shop_id BIGINT DEFAULT NULL COMMENT '门店ID',
    warehouse_id BIGINT DEFAULT NULL COMMENT '仓库ID',
    user_id BIGINT DEFAULT NULL COMMENT '用户ID,用户私有打印机时使用',
    device_name VARCHAR(100) NOT NULL COMMENT '打印机名称',
    device_type VARCHAR(30) NOT NULL COMMENT '设备类型:bluetooth,network,usb,cloud,browser',
    device_code VARCHAR(100) DEFAULT NULL COMMENT '设备编码',
    ip_address VARCHAR(100) DEFAULT NULL COMMENT 'IP地址',
    port INT DEFAULT NULL COMMENT '端口',
    paper_type VARCHAR(30) DEFAULT NULL COMMENT '纸张类型:58mm,80mm,A4,label',
    default_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否默认:0否,1',
    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态:0停用,1启用',
    remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_tenant_shop (tenant_id, shop_id),
    KEY idx_tenant_warehouse (tenant_id, warehouse_id),
    KEY idx_tenant_user (tenant_id, user_id)
) COMMENT='打印设备配置表';

14.6 打印模板绑定表

CREATE TABLE sys_print_template_bind (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    shop_id BIGINT DEFAULT NULL COMMENT '门店ID',
    warehouse_id BIGINT DEFAULT NULL COMMENT '仓库ID',
    biz_type VARCHAR(50) NOT NULL COMMENT '业务类型:pos_ticket,stockin,stockout,delivery,label,reconciliation',
    template_id BIGINT NOT NULL COMMENT '打印模板ID',
    device_id BIGINT DEFAULT NULL COMMENT '默认打印设备ID',
    default_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否默认:0否,1',
    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用状态:0停用,1启用',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_tenant_biz (tenant_id, biz_type),
    KEY idx_device_id (device_id)
) COMMENT='打印模板绑定表';

14.7 打印日志表

CREATE TABLE sys_print_log (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    biz_type VARCHAR(50) NOT NULL COMMENT '业务类型',
    biz_id BIGINT DEFAULT NULL COMMENT '业务单据ID',
    biz_code VARCHAR(100) DEFAULT NULL COMMENT '业务单据编号',
    device_id BIGINT DEFAULT NULL COMMENT '打印设备ID',
    template_id BIGINT DEFAULT NULL COMMENT '模板ID',
    print_status VARCHAR(30) NOT NULL COMMENT '打印状态:success,failed,canceled',
    print_count INT NOT NULL DEFAULT 1 COMMENT '打印份数',
    error_message VARCHAR(1000) DEFAULT NULL COMMENT '失败原因',
    operator_id BIGINT DEFAULT NULL COMMENT '操作人ID',
    print_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '打印时间',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_tenant_biz (tenant_id, biz_type, biz_id),
    KEY idx_print_status (print_status),
    KEY idx_operator (operator_id)
) COMMENT='打印日志表';

14.8 租户授权快照表

CREATE TABLE sys_tenant_license_snapshot (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    system_name VARCHAR(100) NOT NULL DEFAULT '升鲜宝' COMMENT '系统名称',
    version_name VARCHAR(100) NOT NULL COMMENT '版本名称',
    package_name VARCHAR(100) NOT NULL COMMENT '套餐名称',
    used_user_count INT NOT NULL DEFAULT 0 COMMENT '已使用用户数',
    user_limit INT NOT NULL DEFAULT 0 COMMENT '授权用户数',
    expire_date DATE DEFAULT NULL COMMENT '到期日期',
    license_status VARCHAR(30) NOT NULL DEFAULT 'normal' COMMENT '授权状态:normal,expiring,expired,disabled',
    module_codes TEXT DEFAULT NULL COMMENT '授权模块编码JSON',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    UNIQUE KEY uk_tenant_id (tenant_id)
) COMMENT='租户授权快照表';

14.9 推广奖励与客户线索表

CREATE TABLE mkt_invite_relation (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    inviter_user_id BIGINT NOT NULL COMMENT '邀请人用户ID',
    invitee_user_id BIGINT DEFAULT NULL COMMENT '被邀请用户ID',
    invitee_phone VARCHAR(30) DEFAULT NULL COMMENT '被邀请手机号',
    invite_code VARCHAR(100) NOT NULL COMMENT '邀请码',
    invite_status VARCHAR(30) NOT NULL DEFAULT 'invited' COMMENT '状态:invited,registered,verified,opened,deal,invalid',
    register_time DATETIME DEFAULT NULL COMMENT '注册时间',
    deal_time DATETIME DEFAULT NULL COMMENT '成交时间',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    UNIQUE KEY uk_invite_code (invite_code),
    KEY idx_inviter (tenant_id, inviter_user_id)
) COMMENT='邀请拉新关系表';

CREATE TABLE mkt_reward_account (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    user_id BIGINT NOT NULL COMMENT '用户ID',
    total_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '累计奖励金额',
    available_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '可提现金额',
    pending_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '待结算金额',
    withdrawn_amount DECIMAL(18,2) NOT NULL DEFAULT 0.00 COMMENT '已提现金额',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    UNIQUE KEY uk_tenant_user (tenant_id, user_id)
) COMMENT='用户奖励账户表';

CREATE TABLE mkt_reward_flow (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    user_id BIGINT NOT NULL COMMENT '用户ID',
    source_type VARCHAR(30) NOT NULL COMMENT '来源类型:invite_register,customer_deal,renewal,activity,manual',
    source_id BIGINT DEFAULT NULL COMMENT '来源业务ID',
    reward_amount DECIMAL(18,2) NOT NULL COMMENT '奖励金额',
    reward_status VARCHAR(30) NOT NULL DEFAULT 'pending' COMMENT '状态:pending,available,withdrawn,canceled',
    settle_time DATETIME DEFAULT NULL COMMENT '结算时间',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    KEY idx_user_status (tenant_id, user_id, reward_status)
) COMMENT='用户奖励流水表';

CREATE TABLE crm_customer_lead (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
    tenant_id BIGINT NOT NULL COMMENT '租户ID',
    owner_user_id BIGINT NOT NULL COMMENT '负责人用户ID',
    customer_name VARCHAR(200) NOT NULL COMMENT '客户名称',
    contact_name VARCHAR(100) DEFAULT NULL COMMENT '联系人',
    contact_phone VARCHAR(30) DEFAULT NULL COMMENT '联系电话',
    industry_type VARCHAR(50) DEFAULT NULL COMMENT '行业类型',
    region_name VARCHAR(200) DEFAULT NULL COMMENT '所在地区',
    source_type VARCHAR(50) DEFAULT NULL COMMENT '来源类型',
    intention_level VARCHAR(30) DEFAULT NULL COMMENT '意向等级',
    follow_status VARCHAR(30) NOT NULL DEFAULT 'new' COMMENT '跟进状态:new,following,deal,lost',
    remark VARCHAR(1000) DEFAULT NULL COMMENT '备注',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0正常,1删除',
    KEY idx_owner (tenant_id, owner_user_id),
    KEY idx_customer_name (tenant_id, customer_name)
) COMMENT='客户线索表';

14.10 Controller 骨架示例

@RestController
@RequestMapping("/api/app/mine")
public class AppMineController {

    @Resource
    private MineHomeService mineHomeService;

    @GetMapping("/home")
    public Result<MineHomeVO> home() {
        return Result.ok(mineHomeService.getHome());
    }

    @GetMapping("/license")
    public Result<TenantLicenseVO> license() {
        return Result.ok(mineHomeService.getLicense());
    }

    @GetMapping("/qrcode")
    public Result<MineQrCodeVO> qrcode(@RequestParam(defaultValue = "user") String qrType) {
        return Result.ok(mineHomeService.getQrCode(qrType));
    }
}

14.11 菜单初始化 SQL 示例

INSERT INTO sys_mine_menu
(tenant_id, menu_code, menu_name, group_code, group_name, icon_code, path, action_type, permission_code, module_code, terminal_type, visible_flag, enabled_flag, sort_no, remark)
VALUES
(0, 'my_reward', '我的奖励', 'promotion', '推广奖励', 'reward', '/mine/reward', 'route', 'mine:reward:view', 'promotion', 'app', 1, 1, 10, '奖励中心'),
(0, 'my_invite', '我的拉新', 'promotion', '推广奖励', 'invite', '/mine/invite', 'route', 'mine:invite:view', 'promotion', 'app', 1, 1, 20, '拉新记录'),
(0, 'new_customer', '开拓新客', 'promotion', '推广奖励', 'customer', '/mine/customer-lead', 'route', 'crm:lead:add', 'crm', 'app', 1, 1, 30, '新增客户线索'),
(0, 'support_hotline', '客服热线', 'support', '服务支持', 'hotline', '', 'phone', NULL, NULL, 'app', 1, 1, 40, '客服电话'),
(0, 'support_online', '在线客服', 'support', '服务支持', 'online_service', '/support/online', 'route', NULL, NULL, 'app', 1, 1, 50, '在线客服'),
(0, 'support_ceo_email', 'CEO邮箱', 'support', '服务支持', 'email', '/support/feedback?type=ceo', 'route', NULL, NULL, 'app', 1, 1, 60, 'CEO反馈'),
(0, 'print_setting', '打印设置', 'print', '打印设置', 'print', '/print/device', 'route', 'print:device:view', 'print', 'app', 1, 1, 70, '打印设备配置'),
(0, 'system_setting', '设置', 'setting', '系统设置', 'setting', '/setting/index', 'route', 'setting:view', NULL, 'app', 1, 1, 80, '系统设置');

结束语

本设计将截图中的“我的/设置”页面正式抽象为升鲜宝移动端的“我的中心”模块。模块通过动态菜单、权限过滤、租户配置和服务端聚合接口,实现用户信息、授权信息、推广奖励、服务支持、打印设置、系统设置六大能力的统一入口。

推荐先完成基础首页、动态菜单、客服配置、用户设置和打印设备管理,再逐步扩展推广奖励、拉新和客户线索闭环。

 

posted @ 2026-04-26 18:11  升鲜宝生鲜供应链系统  阅读(11)  评论(0)    收藏  举报