基于企业微信API的微应用前端与后端架构设计

1. 引言

微应用前端负责给员工点:查订单、提审批、看客户。后端负责鉴权、任务、出站。把发送写进按钮点击函数里,页面一卡、人连点,就是多条通知。架构要把「界面操作」和「投递」切开。

2. 三层不要焊死

text 复制代码
前端(工作台 / 管理页)
  → 后端业务 API(鉴权、校验、写任务)
    → 发送进程(号在线才出站)
      → 员工会话
回调入口 → 入队 → 业务消费 → 回写工作台

前端不持有发送凭证。凭证在发送进程。员工在前端看到的「已发送」,以任务状态为准,不要以按钮返回为准。

QiWe API 放在发送进程和回调入口,不要嵌进浏览器。

3. 前端

工作台可以是你们自己的管理端,不必先上官方 JS-SDK。需要的是:当前员工、当前客户绑定、任务列表、失败原因(存活 / 对象 / 投递)。不要在前端拼会话 ID 当隐藏域长期保存后还拿去发。

后端怎么调发送,以 API文档 为准。

4. 后端

python 复制代码
def create_notify(user, customer_no, text, db):
    bind = db.get_bind(user.device, customer_no)
    if not bind:
        return {"ok": False, "reason": "unbound"}
    key = f"ui:{user.id}:{customer_no}:{hash(text)}"
    if db.try_insert(key):
        db.enqueue(user.device, bind["peer"], text)
    return {"ok": True}

出站交给 QiWe API。回调入口只入队。前端轮询任务状态,不轮询聊天窗口。

测试和生产不能共用任务表。前端环境标识必须传到任务行上。

频率、回调和附件分模块做,不要挤进页面按钮。

5. 验收

连点三次按钮只有一条出站;关闭页面后任务仍会发;号掉线时前端看到的是存活失败,不是「接口 500 自己猜」。

6. 总结

微应用架构的合格线:前端无凭证、后端有任务、发送有进程、回调有队列。企业微信API是出站层,不是页面组件。

相关推荐
定栓2 分钟前
Vite-legacy产物console删除机制
前端·javascript·vue.js
康小汪8 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南9 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥10 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt11 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn12 小时前
bundle优化
前端
北冥有鱼12 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚12 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户372037492601812 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端
光锥智能13 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人