首页案例:康复连锁
Case · Rehab chain
康复连锁是一个在 Raise 上建成的业务系统。
会员、订单和量表库在一个独立的仓库里开发,作为托管应用运行在 Raise 上。它只经开放接口、应用接口和平台签名的调用接回平台;身份、权限、审批、触达、看板和助手由平台提供。
What it does
会员从进店到续卡的六个步骤使用同一套数据。
每一步落在一个应用里,前一步的记录后一步直接使用,不需要重复录入。这条链路不开助手也完整可用。
01
转会员
到访和推荐来的线索进入客户;推荐关系记在分销。
02
办卡
次卡、期卡、课程包,收银开单在订单里完成。
03
预约
预约康复师和时段,排期在会员应用里。
04
治疗
敏感记录只对授权的人可见。
05
随访
助手起草回访消息,店长确认后经触达发出。
06
续卡
即将到期的会员提前提示,到期时有提醒。
回访消息用组织自己的短信和公众号发送。会员同意、退订、免打扰和发送频次,都在发送前检查。
Platform vs. project
平台给了底座,项目只写了康复业务。
项目仓库里没有身份、审批、发消息或记账的代码。它需要这些时调平台的接口,平台需要它时带签名断言调它。
来自平台的
- 登录与单点登录、组织架构、角色与数据范围
- 客户中心。查找、时间线、写入与合并,经
/app/v1 - 审批。退款与动作审核声明在清单里,由平台的审批流处理
- 资源访问。敏感记录的授权在平台的访问内核里,一次最多批量判定 100 个权限点
- 触达、成交记账、导入来源、意图解析,都是应用接口
- 看板与工作台。看板模板、按角色的今日卡片按清单声明接上
- 助手、草稿、确认卡、审计链
- 托管运行。平台起进程,给它独立的数据库模式
项目自己写的
- 会员、课程包、预约、核销、训练记录
- 量表库与评估表单
- 订单。服务类商品、收银开单、退款
- 清单。对象、操作、权限点、看板模板、站点动作
- 自己的表,放在自己的模式
app_membership、app_order里
Contracts
项目和平台之间只有三种连接。
平台的门禁测试不让搬出去的应用回到平台的代码里。项目和平台之间的每一次调用都经过下面三种之一。
01 · 开放接口
/open/v1
会员小程序与 H5 的 /me 调用留在平台:开放网关先查令牌与范围,再带签名断言转给会员应用。
02 · 应用接口
/app/v1
项目调用平台能力:客户、权益、审批、访问、触达、成交、导入。范围在清单里声明。
03 · 平台调应用
签名断言
操作的预演与执行、事件、审批结果、站点动作,平台都以签名断言调用应用,应用用平台公布的公钥验签。
项目的数据库角色不能绕过行级安全,数据按组织隔离;组织注销时,平台通知应用清除自己的数据。
Layered access
区域经理、店长和前台看到的数据各不相同。
这部分项目没有自己写:权限跟随平台的组织架构。同一条会员记录,三个人打开看到的内容不同;向助手提问,得到的也只是本人权限内的数据。
- 区域经理看全区。数据范围设为「含下级」。
- 店长看本店。别的门店的会员看不到。
- 前台看自己接待的会员。敏感字段遮盖或隐藏。
- 越权访问返回 404。不透露记录是否存在。