当前位置: 首页 > news >正文

商家列表管理与公众号二维码绑定​,方便对用户进行消息通知提醒

gofly.v1kf.com

vx:  llike620

​一、 核心业务流程​

  1. ​管理员登录​​:管理员通过后台系统登录验证。

  2. ​查看商家列表​​:进入“商家管理”模块,以列表形式查看所有已注册的商家信息。

  3. ​生成绑定二维码​​:在商家列表或商家详情页中,找到目标商家,点击“生成公众号绑定二维码”按钮。

  4. ​获取并展示二维码​​:系统调用微信接口,生成一个带有该商家特殊参数的公众号关注二维码。

  5. ​发送二维码​​:管理员下载或复制该二维码图片,通过邮件、客服系统等途径发送给对应商家的联系人。

  6. ​商家扫码绑定​​:商家用户使用微信扫描该二维码,关注公众号后,系统后台将自动完成该微信OpenID与商家账户的绑定。

  7. ​推送模板消息​​:绑定成功后,系统即可通过微信公众号向该商家的微信推送各类业务通知(如新订单、审核结果等)。

​二、 功能详细设计​

​9.1 商家列表管理​
  • ​页面位置​​:后台管理系统 -> 用户管理 -> 商家管理

  • ​列表显示字段​​:

    • 基础信息:商家ID、商家名称、登录账号、联系人、联系电话。

    • 状态信息:账号状态(正常/禁用)、注册时间、最后登录时间。

    • ​公众号绑定状态​​:已绑定/ 未绑定(关键字段,用于快速筛选未绑定的商家)。

  • ​操作按钮​​:

    • 查看:进入商家详情页。

    • 编辑:修改商家基础信息。

    • 禁用/启用:管理商家账号状态。

    • 生成绑定码​:​​核心功能按钮​​,用于生成该商家的公众号关注二维码。

​9.1.1 绑定公众号二维码​

此功能分为​​后台生成​​和​​前端响应​​两部分。

​1. 后台生成二维码 (管理员侧)​

  • ​触发​​:管理员在商家列表或详情页点击“生成绑定码”按钮。

  • ​后端逻辑​​:

    1. 接收请求,验证管理员权限。

    2. 获取当前商家的唯一标识(如数据库中的主键 business_id)。

    3. ​调用微信接口​​:请求微信 生成带参数的二维码接口。

      • ​动作类型​​:推荐使用​​临时二维码​​(action_name: QR_STR_SCENE),有效期较长(30天),足以完成绑定流程。

      • ​场景值​​:将商家的 business_id或其它唯一标识符作为场景值参数(scene_str)。例如:"bind_business_12345"(12345为商家ID)。

    4. ​存储映射关系(可选但推荐)​​:将生成的场景值 scene_str与商家ID的对应关系存入缓存(如Redis),并设置一个过期时间(与二维码有效期一致)。这将用于后续用户扫码时的识别。

    5. ​返回数据​​:接口调用成功后,微信服务器会返回二维码图片的URL(ticketurl)。

    6. ​响应前端​​:将二维码图片URL(或根据ticket换得的图片数据)返回给后台管理系统前端。

  • ​前端展示​​:

    • 以弹窗或新页面的形式,清晰展示生成的二维码图片。

    • 提供“下载图片”和“复制链接”按钮,方便管理员发送给商家用户。

​2. 前端响应扫码 (用户-商家侧)​

  • ​触发​​:商家用户使用个人微信扫描管理员发来的二维码。

  • ​后端逻辑(公众号服务器)​​:

    1. ​微信服务器推送事件​​:当用户扫描这个带参数的二维码并关注公众号后,微信服务器会向您配置的公众号后台接口推送一个​​事件消息​​。

    2. ​解析事件消息​​:您的服务器解析此XML消息,获取事件类型(Eventsubscribe即关注)和场景值(EventKey)。

    3. ​识别商家​​:从解析出的 EventKey中获取之前设置的 scene_str(即 bind_business_12345),从而提取出商家ID 12345

    4. ​执行绑定​​:

      • 根据商家ID,查询到对应的商家账户。

      • 获取扫码用户的OpenID(包含在微信推送的消息中)。

      • OpenID作为字段更新到商家数据表中(例如,在business表中增加wechat_openid字段并存入值)。

      • ​(可选)​​ 在绑定关系表中新增一条记录,记录商家ID、OpenID、绑定时间等。

    5. ​更新绑定状态​​:将缓存中该场景值的状态标记为“已使用”,并更新数据库中该商家的“公众号绑定状态”为“已绑定”。

    6. ​发送欢迎消息​​:公众号可立即向该商家用户发送一条模板消息或客服消息,提示“您好![商家名称],公众号绑定成功!今后将通过此公众号为您推送重要通知。”

​三、 数据库设计(新增字段)​

  • ​商家表 (business)​

    • id: (PRIMARY KEY)

    • name: 商家名称

    • ...(其他原有字段)

    • wechat_openid:varchar(255)DEFAULT NULL`` COMMENT '绑定公众号的OpenID'` ​​【新增】​

    • is_wechat_bound: tinyint(1)DEFAULT '0' COMMENT '公众号绑定状态:0未绑定,1已绑定'` ​​【新增】​

​四、 安全与注意事项​

  1. ​权限控制​​:生成二维码的接口必须进行严格的管理员身份校验和权限验证。

  2. ​二维码有效期​​:使用临时二维码并告知管理员其有效性,过期后需重新生成。

  3. ​错误处理​​:处理微信接口调用失败、网络异常等情况,给管理员清晰的错误提示。

  4. ​防重复绑定​​:一个商家最多只能绑定一个OpenID。在绑定逻辑中,应先检查该商家是否已绑定,防止数据覆盖。同样,一个OpenID理论上也只应绑定一个商家账户。

  5. ​日志记录​​:记录所有生成二维码和绑定操作的管理员日志,便于审计。


这个设计方案提供了一个完整、可实施的流程,允许管理员高效地协助未绑定公众号的商家完成绑定操作,从而为后续的微信模板消息推送打下基础。核心在于巧妙利用微信的​​带参数二维码​​功能,将“扫码关注”和“账户绑定”两个动作合二为一,体验流畅且安全。

http://www.hskmm.com/?act=detail&tid=13454

相关文章:

  • linux权限细化管理的三种方法:polkit sudoer doas做权限管理
  • mysql常用
  • 国产化Excel开发组件Spire.XLS教程:Python 写入 Excel 文件,数据写入自动化实用指南
  • Ansible的安装和使用
  • 数显LED驱动芯片恒流数码管驱动IC内置显示RAM为816位 VK16D33
  • 详细介绍:【TEC045-KIT】基于复旦微 FMQL45T900 的全国产化 ARM 开发套件
  • 【IEEE出版】2025年智慧物联与电子信息工程国际学术会议(IoTEIE 2025)
  • 9.22 机房练习
  • eslint
  • 视频调色神器!CyberLink ColorDirector:从入门到专业的视频色彩魔法工具
  • Leveraging Context-Aware Prompting for Commit Message Generation 论文笔记
  • P4951 [USACO01OPEN] Earthquake 题解
  • 用ida插件快速审计函数调用
  • 【ACM独立出版|往届已EI、Scopus检索|合作SSCI】第二届数字经济与计算机科学国际学术会议(DECS 2025)
  • schematool -initSchema -dbType mysql
  • PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破
  • 第二章习题
  • Lightroom Classic 2025:精细调控,呈现完美画质,专业级数字照片管理与后期处理全解析
  • langfuse从v2.70.1升级到V3.110(异机升级+数据迁移)
  • 20250518_信安一把梭_医院抓取流量
  • tsx 图论选讲
  • OTP绕过漏洞:当后端过度信任前端时的安全灾难
  • 2MHz 8-bit 微控制器 with 64 Pins,M38049FFLKP ADR5040ARTZ TMS320F28062PZT K4AAG165WA-BCTD存储器
  • 实用指南:【Kubernetes】(六)Service
  • 校u圈校园外卖众包任务课表交友CPS社区:一站式校园生态服务系统
  • .NET Polly 全面指南:从5W2H维度深度解析
  • 撒钱岛小游戏管理系统:私域流量变现新选择,趣味与收益双赢
  • Day19构造器详解
  • 多商户的在线客服系统,直接在小程序的商家中嵌入我们的商家聊天链接
  • 【院士报告|EI检索稳定|大连理工大学主办】第四届能源与动力工程国际学术会议(EPE 2025)