From 26fe6182df0e520c1004d5c56c5385f6681b3580 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Fri, 14 Aug 2026 09:39:30 +0800 Subject: [PATCH] docs: design WeChat notify menu entry consolidating follow and bind MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Capture the approved UX for a single「开启微信通知」menu after 抄送我的, with step 1/2 on one page and removal of login/home header entry points. Co-authored-by: Cursor --- ...6-08-14-wechat-notify-menu-entry-design.md | 201 +++++ .../static/menu-icons/oa-wechat-notify.png | Bin 0 -> 4206 bytes mobile-ui/oa-wechat-notify.png | Bin 0 -> 4206 bytes .../zkxw-mobile-wechat-notify-menu-demo.html | 772 ++++++++++++++++++ 4 files changed, 973 insertions(+) create mode 100644 docs/superpowers/specs/2026-08-14-wechat-notify-menu-entry-design.md create mode 100644 mobile-h5/static/menu-icons/oa-wechat-notify.png create mode 100644 mobile-ui/oa-wechat-notify.png create mode 100644 mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html diff --git a/docs/superpowers/specs/2026-08-14-wechat-notify-menu-entry-design.md b/docs/superpowers/specs/2026-08-14-wechat-notify-menu-entry-design.md new file mode 100644 index 00000000..dee5e64e --- /dev/null +++ b/docs/superpowers/specs/2026-08-14-wechat-notify-menu-entry-design.md @@ -0,0 +1,201 @@ +# 开启微信通知 · 菜单聚合入口设计 + +> 日期:2026-08-14 +> 工程:`mobile-h5`(主)、菜单 SQL;绑定链路复用既有 `mobile-oa-h5` / `mp-bind` +> 相关:`docs/superpowers/specs/2026-08-13-oa-wechat-service-notify-design.md` +> Demo:`mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html` +> 图标:`mobile-h5/static/menu-icons/oa-wechat-notify.png` + +--- + +## 1. 背景与目标 + +### 1.1 现状问题 + +微信审批通知需要两步: + +1. **关注服务号**(微信侧) +2. **绑定当前账号**(写入 `wx_mp_openid`) + +当前入口分散: + +- 登录页:「关注服务号,接收审批通知」(仅关注) +- 首页顶栏:「开启微信审批通知」(仅绑定) + +用户容易只做一步,且不清楚两者关系。 + +### 1.2 目标 + +1. 在首页「抄送我的」后新增菜单 **「开启微信通知」**,将两步按序号 1 / 2 放在同一页。 +2. **移除**登录页关注入口与首页顶栏绑定入口;只保留新菜单。 +3. 不改动服务端推送 / `mp-bind` 授权协议;仅调整小程序引导与入口。 + +### 1.3 非目标 + +- 不实现服务号关注状态服务端查询。 +- 不改造模板消息发送与深链逻辑。 +- 不新增 web-admin 配置台。 + +--- + +## 2. 已确认决策 + +| 决策点 | 结论 | +|--------|------| +| 入口策略 | 仅保留首页菜单;登录页与首页顶栏入口均去掉 | +| 菜单文案 | 固定为「开启微信通知」(已开启后也不改名) | +| 菜单位置 | 「抄送我的」之后 | +| 菜单图标 | `oa-wechat-notify.png`(由 `开启通知.png` 拷贝并英文化命名) | +| 页面结构 | 原生步骤页:步骤 1 关注 → 步骤 2 绑定 | +| 顶部总状态 | **不展示**「已开启 / 未开启」横幅;仅步骤卡片角标表达进度 | +| 步骤 1 完成判定 | 用户点击「我已关注」自行确认(本地持久化) | +| 步骤 2 | 跳转既有 `/pages/oa/mp-bind/index`(web-view 授权) | +| 技术方案 | 独立原生页 + 复用 mp-bind(方案 1) | + +--- + +## 3. 信息架构 + +``` +首页菜单宫格 + … → 抄送我的 → 开启微信通知 → pages/oa/wechat-notify/index + ├─ 步骤1 关注服务号 + │ openOfficialAccountProfile / 二维码 + │ 「我已关注」→ 本地标记 + └─ 步骤2 绑定当前账号 + → pages/oa/mp-bind/index(既有) +``` + +删除: + +- `pages/login/index.vue`:`login-follow-mp` 区块及相关二维码弹层(若仅服务于该入口) +- `pages/index/index.vue`:顶栏 `home-mp-notify` 文案与 `onTapMpNotify` + +保留: + +- `pages/oa/mp-bind/index.vue`、`mobile-oa-h5` `OaMpBind`、后端 `mp-bind` / `mp-bind-status` +- `MP_GH_USERNAME`、`MP_QRCODE_URL` 配置(改由新步骤页使用) + +--- + +## 4. 页面交互 + +### 4.1 开启微信通知页(`pages/oa/wechat-notify/index`) + +- 导航标题:`开启微信通知` +- 主体仅两张步骤卡,**无**顶部总状态条。 + +**步骤 1 · 关注服务号** + +| 状态 | UI | +|------|----| +| 未确认 | 角标「未完成」;主按钮「去关注」 | +| 点击去关注 | 优先 `wx.openOfficialAccountProfile`;失败则展开二维码(长按识别) | +| 二维码展开时 | 显示「我已关注」 | +| 已确认 | 角标「已完成」;按钮可改为「重新打开关注页」(仍可打开关注/二维码) | + +「我已关注」写入本地(建议 key 含 `userId`/`username`,换账号不串数据)。**不**调用后端。 + +**步骤 2 · 绑定当前账号** + +| 状态 | UI | +|------|----| +| 步骤 1 未确认 | 主按钮禁用,文案「请先完成步骤 1」 | +| 步骤 1 已确认且未绑定 | 「去绑定」→ `navigateTo` mp-bind | +| 已绑定 | 角标「已完成」;按钮「已绑定」禁用(不强制提供解绑) | + +绑定状态来源:`GET /mini/auth/mp-bind-status`(`onShow` 刷新)。从 mp-bind 返回后自动刷新。 + +若接口已 `bound=true`,即使本地未点「我已关注」,也应将步骤 1 视为完成(避免已绑用户被步骤顺序卡住)。规则: + +- `bound === true` → 步骤 1、步骤 2 均显示已完成。 +- `bound === false` → 步骤 2 未完成;步骤 1 以本地「我已关注」为准。 + +### 4.2 首页菜单 + +- 文案始终「开启微信通知」 +- icon:`oa-wechat-notify`(PNG 自带色,`iconBg: transparent`,与其它 OA 宫格一致) +- 点击:`navigateTo` `/pages/oa/wechat-notify/index` +- 不增加角标数字(非待办类) + +### 4.3 登录页 / 首页顶栏 + +- 登录页不渲染关注入口与其二维码弹层(若弹层仅服务于该入口则一并删除相关代码)。 +- 首页顶栏仅保留岗位/部门与「退出登录」,去掉微信通知链接及 `fetchMpBindStatus`(若仅服务于顶栏)。 + +--- + +## 5. 数据与菜单 + +### 5.1 小程序菜单 SQL + +新增 `sys_menu`(幂等插入),示例字段: + +| 字段 | 值 | +|------|----| +| id | `MINI000000000000000000000000OA007` | +| menu_name | `开启微信通知` | +| path | `/pages/oa/wechat-notify/index` | +| perms | `mini:oa:wechat-notify` | +| order_num | `70`(抄送为 60,紧随其后) | +| icon(若菜单表/接口支持) | `oa-wechat-notify` | + +SQL 落 `docs/sql/`(新建或追加既有 mobile OA 菜单脚本),与 `mobile_menu_oa_task_centers.sql` 风格一致。 + +### 5.2 前端图标映射 + +- `mobile-h5/components/van-icon/van-icon.vue`:`PNG_ICONS['oa-wechat-notify']` +- `mobile-h5/utils/menu-icon-colors.js`:加入 `OA_PNG_ICONS` 与 transparent 默认 + +### 5.3 本地存储 + +- Key 建议:`mp_follow_confirmed:{userId}` → `'1'` +- 登出不清也可;以 userId 隔离即可。绑定成功后可不依赖该 key(见 4.1 规则)。 + +--- + +## 6. 实现范围(文件级) + +| 动作 | 路径 | +|------|------| +| 新增 | `mobile-h5/pages/oa/wechat-notify/index.vue` | +| 注册 | `mobile-h5/pages.json` | +| 删除入口 | `mobile-h5/pages/login/index.vue`、`login.scss`(相关样式) | +| 删除入口 | `mobile-h5/pages/index/index.vue`(顶栏通知) | +| 图标已有 | `mobile-h5/static/menu-icons/oa-wechat-notify.png` | +| 映射 | `van-icon.vue`、`menu-icon-colors.js` | +| SQL | `docs/sql/mobile_menu_oa_wechat_notify.sql`(或等价) | +| Demo(已有) | `mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html` | +| 文档修订 | 在 `2026-08-13-oa-wechat-service-notify-design.md` §6.1/6.2 加注:入口已迁移至本设计 | + +不改:`backend` 推送与 bind API、`mobile-oa-h5` `OaMpBind` 授权流程。 + +--- + +## 7. 错误与边界 + +| 情况 | 行为 | +|------|------| +| 用户谎称已关注 | 步骤 2 仍可绑;未真正关注则后续模板发送失败/skip,与现网一致 | +| 绑定失败 | mp-bind H5 展示错误;返回设置页后仍为未绑定 | +| openOfficialAccountProfile 不可用 | 仅二维码路径 | +| 未登录进设置页 | 沿用全局登录拦截 / forceRelogin | +| 已绑定用户 | 两步均已完成,无需再点「我已关注」 | + +--- + +## 8. 测试要点 + +1. 登录页无「关注服务号」文案;首页顶栏无「开启微信审批通知」。 +2. 「抄送我的」后出现「开启微信通知」及铃铛图标。 +3. 步骤 1:去关注 → 我已关注 → 角标已完成;步骤 2 可点。 +4. 步骤 1 未确认时步骤 2 禁用。 +5. 去绑定成功返回后步骤 2 已完成;再次进入保持已完成。 +6. 已绑定账号首次进入该页:两步直接已完成。 +7. 换账号:本地「我已关注」不串号。 + +--- + +## 9. 与既有设计关系 + +本设计**替代** `2026-08-13-oa-wechat-service-notify-design.md` 中 §6.1(登录页关注)与 §6.2(工作台顶栏/个人中心绑定入口)的产品入口描述;推送、绑定 API、深链会话等其余章节仍有效。 diff --git a/mobile-h5/static/menu-icons/oa-wechat-notify.png b/mobile-h5/static/menu-icons/oa-wechat-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c9dcae824f85019d26e781ebbc4ff2fe6fdb83 GIT binary patch literal 4206 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 Ef-gv^Jpcdz literal 0 HcmV?d00001 diff --git a/mobile-ui/oa-wechat-notify.png b/mobile-ui/oa-wechat-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c9dcae824f85019d26e781ebbc4ff2fe6fdb83 GIT binary patch literal 4206 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 Ef-gv^Jpcdz literal 0 HcmV?d00001 diff --git a/mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html b/mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html new file mode 100644 index 00000000..47558d64 --- /dev/null +++ b/mobile-ui/zkxw-mobile-wechat-notify-menu-demo.html @@ -0,0 +1,772 @@ + + + + + + 中科兴皖 · 微信审批通知菜单 Demo + + + +
+ + +
+
+
+ + +
+
+
中科兴皖 · 移动工作台
+
您好,张三
+
+
产品经理 · 研发中心
+
+ + 退出登录 +
+
+
+
+
+
+ 功能菜单 + 共 7 项 +
+ +
+
+
+ + +
+ +
+
+
+
1
+
+
关注服务号
+
关注后才能接收微信模板消息。可跳转服务号主页,或长按识别二维码。
+
+ 未完成 +
+
+ +
+ +
长按识别关注(Demo 占位图)
+ +
+
+
+ +
+
+
2
+
+
绑定当前账号
+
将服务号身份与系统账号关联,审批待办 / 抄送才能推送到你。
+
+ 未完成 +
+
+ +
+
+
+
+ + +
+ +
+
+
+
+ +
+ + + +