机器人租赁小程序 + APP + 管理后台:统一网关下的多端架构实践

📅 发布时间:2026/9/7 20:49:17
机器人租赁小程序 + APP + 管理后台:统一网关下的多端架构实践
机器人租赁小程序开发最容易低估的就是多端两个字。同一个业务小程序端、APP 端、管理后台的需求差异大到不像一个产品小程序有包体和 API 限制APP 要吃透设备能力后台全是复杂表单和报表。这篇把我们在机器人租赁多端架构上的实践整理出来——端差异怎么分析、uni-app 和原生怎么混合、统一网关下不同端怎么管 token以及小程序审核合规那些容易卡住上线的事。一、多端差异分析先把不一样列清楚再动手动手写代码前我们做了一张端差异分析表事实证明这张表比后面所有架构图都重要维度小程序用户端APP用户端调度员端管理后台Web核心场景选机型、下单、查档期全部小程序功能 蓝牙绑定、离线查看、消息推送设备管理、订单履约、报表、租户配置技术约束主包 ≤ 2MB、包体审核、部分 API 不可用如强制 GPS 静默原生插件、热更新受限、双平台审核无包体限制但表单/表格复杂度极高用户规模最大获客入口中老客 员工小内部 商家变更频率高营销活动驱动中高规则配置驱动三个关键结论由此产生小程序是主入口但约束最多交互设计要围绕下单转化做减法APP 的增量价值在设备能力蓝牙、推送、离线如果用不到这些单独维护一个 APP 是浪费后台的复杂度在表单和数据密度选型上和移动端彻底分开。二、uni-app 与原生混合策略一套代码两条边界用户端和调度员端统一用 uni-appVue3 TypeScript一套代码编译到微信小程序和 APP。但一套代码不等于无差别运行我们划了两条边界边界一平台差异下沉到适配层。platform/目录里每个平台一个实现页面只调统一接口// interface/device.ts —— 页面只看到这个抽象exportinterfaceDeviceScanner{scanSnCode():Promisestring// 扫设备 SN 码enableRealtimeLocate():void// 开启实时定位权限}// platform/mp-weixin.ts —— 小程序实现// 扫码用 uni.scanCode定位授权走小程序弹窗// platform/app-plus.ts —— APP 实现// 扫码走原生插件带闪光灯控制和连续扫描定位用系统级权限边界二重原生能力用插件不自己造轮子。蓝牙连接机器人控制网关、离线缓存调度员在信号差的展馆里也能查订单这两块直接采购/引入原生插件uni-app 侧封装 JSBridge。评估过的替代方案是 Flutter放弃原因是后台和营销页已有 Vue 技术积累且小程序端 Flutter 支持成本高——跨端选型先数端再数人。包体积控制是小程序端的持久战echarts、地图 SDK、 富文本组件全部拆分包异步加载主包只保留下单主链路首页 → 机型详情 → 档期选择 → 下单营销活动页全部走分包 CDN 图片。最终主包 1.6MB分包六个。三、统一网关下的鉴权不同端不同 token 策略多端流量统一经过 Spring Cloud Gateway但三个端的 token 策略刻意不同——安全等级和使用场景不一样端token 方案有效期刷新机制小程序wx.login 换 code2Session → 平台 JWT2 小时静默续期401 时用 wx.checkSession 判断无缝重登APP账号密码/手机号 → JWTaccess refresh 双 tokenaccess 2h / refresh 30drefresh token 旋转检测到旧 refresh 复用即全端下线防盗号管理后台RBAC 账号体系 → JWT 按钮级权限码30 分钟活跃续期30 分钟无操作失效网关按请求路径前缀/mp/、/app/、/admin/识别端类型套用不同的鉴权过滤器链// 网关路由片段三端不同的过滤器链route mp →MpAuthFilter(校验JWT租户状态微信会话有效性)route app →AppAuthFilter(access token 校验设备指纹绑定)route admin →AdminAuthFilter(JWTRBAC权限码预校验操作审计标记)刷新机制的细节值得展开APP 端 refresh token 旋转每次刷新作废旧 token 换新配合旧 token 复用检测一旦检测到已旋转的 refresh token 被再次使用判定为 token 泄露强制该用户全端下线。管理后台 30 分钟短有效期则是从客户信息安全审计要求出发——政企客户明确要求后台无操作自动登出。多端还带来一个容易漏的问题同一用户多端登录的会话一致性。用户在小程序下单后打开 APP 看进度两端的用户态必须同源统一 auth-service 签发我们用 userId 维度的设备注册表管理多端会话踢出策略按端独立踢小程序不影响 APP。四、小程序类目资质与审核合规上线前最容易卡住的事技术都做完了卡在审核环节是最冤的。机器人租赁小程序我们亲历过的合规要点类目选择设备租赁属于租赁服务类目需要企业提供《营业执照》且经营范围含租赁业务如果涉及融资租赁属性的宣传话术“以租代购”“租满即得”会触发金融类审核话术必须规避支付场景租赁押金走微信支付分免押需开通支付分服务或普通支付的押金冻结逻辑小程序内不得出现押金分期等表述订单金额与押金要分开展示退款路径清晰用户隐私设备定位采集前必须有隐私协议弹窗 单独的定位授权隐私接口如 getLocation在小程序后台逐项声明用途2023 年后未声明直接被拒内容合规机器人表演类营销视频在详情页展示时注意人物肖像和 BGM 版权审核时被投诉音乐侵权会直接下架整改审核周期预估涉及新类目首次提审实测多花 3-5 个工作日上线排期要把这段时间留出来。经验法则第一次提审前用小程序后台的类目与资质自查清单过一遍比上线被拒再改快得多。五、总结多端架构实践清单先做端差异分析表端的价值定位决定投入比例小程序是入口、APP 卖设备能力、后台管复杂度uni-app 落地的关键不是一套代码是平台差异强制下沉适配层 重原生能力用插件三端 token 策略按安全等级差异化小程序静默续期、APP 双 token 旋转防盗号、后台短有效期 审计小程序合规要在第一次提审前自查类目、押金话术、隐私声明是三大高发被拒点多端会话同源于 auth-service踢出策略按端独立。我们在设备租赁与资产管理类系统的定制开发上有多年落地经验小程序、APP、管理后台的多端架构和各端审核合规都趟过完整的坑。如果你也在规划机器人租赁或类似平台欢迎交流多端方案和提审清单可以帮你对一遍。