功能设计说明文档
文档基础信息
- 适用项目:grove/reed系统
- 核心用途:明确系统整体功能规划、模块划分、业务流程及交互逻辑,为产品、开发、测试、运维人员提供统一的功能执行标准,保障系统功能贴合业务需求、落地高效、使用便捷。
项目与设计概述
设计原则
- 实用性:贴合实际业务流程,功能贴合用户操作习惯,杜绝冗余无用功能
- 易用性:界面简洁清晰,操作流程简化,降低用户学习与使用成本
- 完整性:覆盖全业务链路,无功能断点,保障业务闭环运转
- 可扩展性:预留功能拓展接口,适配后续业务迭代与功能升级
- 安全性:完善权限管控、数据校验机制,保障系统与数据安全
系统整体架构
系统采用分层架构设计,分为前端展示层、业务逻辑层、数据持久层,支持多端适配(PC 端/移动端),依托PostgreSQL数据库实现数据存储,具备高可用、易维护、可拓展的特性,支撑日常高并发业务操作。
功能模块
整体划分按照业务属性与使用角色,将系统划分为三大核心模块,各模块下设细分功能点,权责清晰、分工明确,具体划分如下:
- 用户管理模块:涵盖账号注册、登录、信息维护、权限分配等基础功能
- 核心业务模块:承载系统核心业务操作,为核心业务流转提供全流程支撑
- 系统管理模块:负责系统后台配置、数据管理、日志查询、参数设置等运维工作四、核心功能模块详细设计
用户模块 grove-user
功能概述
负责系统所有用户的账号生命周期管理,区分普通用户、管理员等角色权限,实现账号安全管控与个性化信息维护,保障系统访问安全。
细分功能点
- 账号注册:支持手机号/账号密码注册,搭配短信验证码校验,防止恶意注册,注册信息实时入库存储
- 账号登录:支持账号密码、短信验证码两种登录方式,新增登录异常校验、账号锁定机制,提升账号安全性
- 个人信息管理:用户可修改个人基础信息、登录密码、绑定手机号,支持头像上传、信息脱敏展示
- 角色权限管理:管理员可配置不同角色权限,分配功能访问权限,实现权限精细化管控,普通用户仅可查看自身权限内功能
类图
设置模块 grove-setting
功能概述
为其他功能提供一个通用的key-value形式的设置模块,通过自动解析模块下setting.json配置,自动渲染配置页面,并提供前后端数据获取接口。
细分功能点
- 解析配置:启动时解析各模块下的
setting.json配置 - 渲染界面:根据参数渲染配置界面
- 后端获取配置:后端通过注入
SettingService实例获取配置值 - 前端获取配置:前端通过引入
getSetting,通过load加载配置,get获取配置值
类图
控制台模块 grove-console
功能概述
为其他业务功能提供一套简易的增删改查功能,通过自动解析模块下的crud.json配置,自动渲染页面。
细分功能点
- 左侧菜单:根据当前用户角色权限显示
- 参数校验:根据
crud.json配置进行前后端同步参数校验 - 数据获取:提供数据获取api时,调用提供的api获取数据,未提供时使用通用api进行获取
- 修改弹窗:根据配置使用弹窗/抽屉方式显示
- 删除确认:展示数据,确认后方可删除
类图
图表模块 grove-icon
功能概述
提供一个可以在运行期替换前端图表的功能。
细分功能点
- 增删改查:普通正删改查功能
- 图标格式:支持图片和svg代码
类图
多语言模块 grove-langpack
功能概述
多语言支持,可在线增加新的语言。
细分功能点
- 前端合并:打包编译时合并前端
langpacks/{lang}.json到boot模块/langpack/下 - 模块配置:启动时自动解析各模块下的
langpack.{lang}.json和langpack/{lang}.json文件 - 启动配置:启动时自动解析boot根下的
langpack.{lang}.json和langpack/{lang}.json文件 - 优先级:优先使用后台配置的,然后是前端配置的,最后是各模块配置的
- 增删改查:普通正删改查功能
- 后端获取:后端通过注入
LangpackService实例,通过get获取资源配置值 - 前端获取:前端通过引入
getMessage实例,通过get获取配置值 - 信息返回:后端尽量只提供资源key返回,由前端根据用户当前使用的语言显示信息
类图
虚拟币钱包 reed-coin
功能概述
实现基于区块链的虚拟币钱包管理
细分功能点
- 公链信息:获取部分公链虚拟币信息,包括图标、价格等
- 自发币配置:配置自发币区块链信息
- 自发币同步:定时同步自发币交易信息,并更新钱包余额
- 钱包转账:站内钱包转账
- 对外api:提供api供其他合作方调用
类图
游戏说明 reed-guideline
功能概述
配置游戏说明,并展示
细分功能点
- 后台增删改查
- 前端显示组件
类图
幸运转盘 reed-luckywheel
功能概述
幸运转盘游戏
细分功能点
- 配置:每个租户独立配置
- 转盘:三种类型转盘,可配置不同的奖励
- 消耗:每次转动需消耗一定积分/资金等,由调用时api设置
- 连抽:可以同时抽10/50次
类图
消息 reed-message
功能概述
站内消息功能
细分功能点
- 群聊:每个租户自己建立管理的群聊
- 客服:在线客服,支持iframe嵌入
类图
通知 reed-notification
功能概述
提供通用的app推送功能,并提供给其他app调用,发送系统推送。
细分功能点
- 绑定设备:每个app登录后,绑定用户、推送token信息
- 每个app独立配置,通过密钥调用api
- 推送采用定时器每秒推送一轮,记录推送结果
类图
C2C交易 reed-payments
功能概述
C2C交易撮合,可以发起卖单,以红包的形式嵌入到聊天室消息中。
细分功能点
- 发起:由第三方调用api发起卖单
- 展示:通过聊天室以红包的形式显示
- 交易:买家锁单并转账,完成交易
- 完成:交易完成后,聊天消息不再显示此消息,但交易记录存在
类图
玩家 reed-player
功能概述
管理玩家信息,及交易记录
细分功能点
- 玩家信息:第三方调用时,自动创建,并保存相关信息
- 余额变动通知:玩家余额发生变动时,通知第三方api
类图
红包雨 reed-redpacketrain
功能概述
红包雨游戏配置、抽奖
细分功能点
- 配置:开关、时间段、金额范围
- 抽奖:根据玩家等级随机获取
类图
租户管理模块 reed-tenant
功能概述
管理租户信息,及租户通用api。
细分功能点
- 租户:管理租户信息
- 管理员:设置租户管理员
- 推送通知:推送通知到第三方使用秒定时器推送,失败多次重试
- 日志:记录api被调用日志、调用第三方api日志
类图
交互与安全设计
交互设计
- 操作结果实时反馈,成功/失败均弹出提示信息,清晰告知用户执行结果
- 复杂流程分步操作,减少单次操作复杂度,支持步骤回退与修改
- 界面布局统一规范,功能入口清晰,降低用户操作失误率
安全设计
- 敏感数据加密传输与存储,密码、手机号等信息做脱敏处理
- 接口加入防重复提交、SQL 注入校验机制,拦截恶意请求
- 登录超时自动退出,异常登录实时锁定账号,提升系统安全性
其他说明
- 兼容性:支持主流浏览器、移动端设备适配,无操作兼容障碍
- 性能要求:核心接口响应时长控制在 3 秒内,支持高并发操作
- 迭代说明:后续新增功能需遵循现有设计规范,保持系统功能统一性