微信应用架构

  • 一、我们要实现什么
    • 清晰明了的实现微信应用的管理
    • 给系统提供结构化的微信应用能力
    • 提出标准化的微信应用的实现逻辑
  • 二、我们怎么干
    • 清晰明了的实现微信应用的管理
      • 面对的端
      • 端之间的关系
      • 数据库er图设计
      • 配置相关应用
    • 给系统提供结构化的微信应用能力
    • 提出标准化的微信应用的实现逻辑

一、我们要实现什么

清晰明了的实现微信应用的管理

本次博客主要讨论如下4种的微信应用的架构和管理建议 注意本文可能讲的很细,大佬绕道!

  1. 微信公众号 微信公众号介绍链接.
  2. 微信小程序 微信小程序介绍链接.
  3. 企业微信 企业微信介绍链接.
  4. 企业微信下自建应用 企业微信自建应用介绍链接.

给系统提供结构化的微信应用能力

本次博客主要讨论如下微信应用的实现能力

  1. 微信公众号应用管理
  2. 微信公众号消息模板消息推送
  3. 微信公众号应用oauth鉴权登录管理
  4. 微信公众号的用户绑定系统实现
  5. 微信公众号的消息通信设计
  6. 小程序应用管理
  7. 小程序模板消息推送
  8. 小程序登录系统搭建维护
  9. 小程序外部消息传递建议
  10. 小程序登录并发优化
  11. 企业微信应用管理
  12. 企业微信下应用管理
  13. 企业微信下应用消息推送
  14. 企业微信下应用oauth鉴权登录管理
  15. 微信应用账号管理
  16. 微信鉴权验证相关建议

提出标准化的微信应用的实现逻辑

本次博客主要讨论如何针对线上线下微信应用的管理及测试方案进行讨论
(1)微信公众号测试管理
(2)企业微信下应用的测试管理
(3)测试环境线上环境accesstoken维护

二、我们怎么干

清晰明了的实现微信应用的管理

面对的端

本次管理主要针对微信公众号、微信小程序、企业微信、企业微信下应用。

端之间的关系

  1. 微信公众号和微信小程序可以通过微信开放平台连接在一起,进行相互的跳转,和互相的引流,并且小程序的模板消息也只能通过绑定的公众号进行跳转。
  2. 企业微信和企业微信下应用之间本身就是包含关系,但是我们要进行更灵活的配置我们把企业微信下应用的等级提升到跟企业微信一样的等级。
  3. 小程序可以通过公众平台授权在企业微信里使用,但是登录方式和微信里的登录方式不太一样,并且由于本人暂时还没有针对企业微信进行过处理所以暂时不做讨论。
  4. 建议系统提供 系统模板和企业微信下应用程序给微信公众号和企业微信进行绑定,用户不能自定义模板和企业微信下应用程序。这样保证系统出的消息和应用都是自己能控制的。

数据库er图设计

通过如下的3个表就能简单并且完美的实现,上述的微信应用的几个功能点

关键字段解析

  1. app_name app_name字段全局唯一 为啥要命名改字段那 主要为了多系统之间数据同步,比如线上,测试环境的accesstoken同步问题,多个部署环境accesstoken同步的问题,当然了唯一索引既能保证数据的唯一性还能加快查询速度
  2. app_type app_type字段为标识四种类型的微信 其中 1公众号 2小程序 3企业微信 4企业微信下应用
  3. auth_id auth_id字段主要为了解决,如果拿不到微信公众号全部权利的时候(比如上报服务器,不能填写自己公司的地址),这个时候用户的绑定只能通过一次简单的方式实现了
  4. app_config app_config字段主要为了储存各个类型的应用的相关配置文件
    微信公众号主要储存
    weixin_id 主要为了当消息回执过来时区分应用使用的
    Token 主要为了通过微信的服务器消息检验的
    EncodingAESKey 主要为了解密微信推送服务器相关消息的

    微信小程序主要储存
    page 主要为储存微信小程序消息跳转使用的 (后续会具体解释改选项的作用)微信应用篇中的外部消息管理


企业微信主要储存
login_type 该字段主要用在企业微信的oauth登录系统,并且把企业微信的UserId和系统的账号进行一个绑定联系

企业微信下应用主要储存
url 该字段主要储存应用的首页的地址,主要用未登录状态的情况下,通过oauth登录之后回调的页面地址

5. eagle_weixin_app_link eagle_weixin_app_link 主要为配置相关应用的绑定信息和相关配置 主要储存微信公众号和消息模板的绑定关系,微信公众号和微信小程序的绑定关系,企业微信和企业微信下应用的绑定关系。
6. content 该字段主要为相关绑定的配置信息
微信公众号和消息模板配置为
weixin_template_id 改字段主要储存微信消息模板和微信公众号绑定之后生成的唯一的id 在发送模板消息的时候会使用到。

微信公众号和微信小程序的配置为
空 微信公众号和小程序绑定主要为了推送消息时确定使用什么公众号进行消息推送 并不需要特殊的配置
企业微信和企业微信下应用配置为 这两个字段主要为了oauth认证时使用
agent_id 该字段为在企业微信下创建应用是系统分配的id
work_app_secret 该字段为在企业微信下创建应用时系统分配的应用密匙

7. eagle_weixin_template 主要提供微信模板消息储存模板使用
8. weixin_template_id在微信模板消息的模板库中获取的模板id
9. mini_program_flag 该模板是否是小程序消息模板
10. detail 微信模板详情json结构 需要从微信模板库处获取

配置相关应用

在上一步数据的设计就可以看出我们针对各个应用需要不同的配置信息,所有在创建和更新应用的时候要根据相关的配置文件进行不同应用类型的配置。在更新的时候要针对绑定的配置相关字段进行相关的配置的完善

给系统提供结构化的微信应用能力

为了减少篇幅的大小在这里另起一个博客进行相关微信应用的能力的描述

应用能力链接

提出标准化的微信应用的实现逻辑

为了减少篇幅的大小在这里另起一个博客进行相关微信应用的测试和搭配建议

测试管理链接

微信应用架构!!-----管理配置篇相关推荐

  1. 使用Maven前夕(Maven项目架构管理工具、配置环境变量、阿里云镜像、本地仓库)

    Maven Maven项目架构管理工具 目前用来就是方便导入jar包! Maven的核心思想:预定大于配置(有约束不要去违反) 需要按照Maven规范来编写Java代码 Maven官网:https:/ ...

  2. 企业微信开发实战(四、OA审批之企业假期管理配置、获取成员假期余额、修改成员假期余额)

    文章目录 7.获取企业假期管理配置 7.1概述 7.2代码实战 8.获取成员假期余额 8.1概述 8.2代码实战 8.3试错 9.修改成员假期余额 9.1概述 9.2代码实战 9.3试错 源码 赞赏 ...

  3. 微信接入探秘(五)——万事俱备,只欠架构(API篇)

    本文出处:http://blog.csdn.net/chaijunkun/article/details/53504856,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议 ...

  4. 从零开始学架构5 - 实战篇

    从零开始学架构5 - 实战篇 38 | 架构师应该如何判断技术演进的方向? 潮流派? 保守派? 跟风派? 技术演进的动力 1)对于产品类业务,答案看起来很明显:技术创新推动业务发展! 苹果开发智能手机 ...

  5. 从零开始学架构2 - 高性能篇

    从零开始学架构2 - 高性能篇 从0开始学架构.高性能篇 14 | 高性能数据库集群:读写分离 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图. 读写分离的基 ...

  6. [个人向]超快速了解微信小程序:看这篇就够了!(注册、语言、框架、配额等简要说明)

    [个人向]超快速了解微信小程序看这篇就够了+相关简要说明 本文精炼微信小程序开发文档相关内容,旨在对初次接触并准备开发小程序的童鞋(比如自己)提供一个快速了解攻略.其中包括注册相关.语言.框架模式.相 ...

  7. Duwamish深入剖析-配置篇

    Duwamish深入剖析-配置篇 摘要: 本文详细介绍了Duwamish网上电子书店的Web.config配置文件的结构处理方式以及用途,阐述了配置文件的各功能模块中的作用. 目录: 引言 配置节处理 ...

  8. C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器

    原文:C#开发微信门户及应用(9)-微信门户菜单管理及提交到微信服务器 微信公众号(包括服务号和订阅号)都可以对菜单进行自定义设置,我们为了方便管理,一般先把菜单数据在本地管理维护,需要更新的时候,把 ...

  9. 走向.NET架构设计—第四章—业务层分层架构(后篇)

    走向.NET架构设计-第四章-业务层分层架构(后篇) 前言: 在上一篇文章中,我们讨论了组织业务逻辑的模式:Transaction Script和Active Record,Domain Model. ...

  10. 云服务器有token_配置node服务器并且链接微信公众号接口配置

    配置node服务器并且链接微信公众号接口配置 配置node服务器 在购买好服务器后,用Xshell链接到服务器. 1.安装nvm curl -o- https://raw.githubusercont ...

最新文章

  1. bugfree3.0.2版本升级--更新版
  2. react ajax 分页,React实现分页效果
  3. ObjecT4:On-line multiple instance learning (MIL)学习
  4. Couchbase概述
  5. 使用 MSIX 打包 DotNetCore 3.0 客户端程序
  6. hadoop集群搭建 修改配置文件(三台主机都要配置)
  7. 3、构建并安装PHP扩展
  8. .两个windowsform之间的值传递
  9. 应用虑镜特效时遇到浏览器权限问题
  10. ferror,perror,cleaner
  11. CAPL-如何调用外部的可执行程序
  12. matlab中3乘4魔方阵,小代码3 魔方矩阵
  13. 海豚湾在哪_前任3再见前任里的海豚湾在哪 电影拍摄取景地点介绍
  14. 奇数位升序偶数位降序的链表进行排序
  15. rip路由协议java_路由协议之RIP
  16. 新的摩尔多瓦投资公民身份计划开放申请
  17. MRF,HMM,HMRF图像分割
  18. UT-Exynos4412开发板三星ARM四核旗舰开发平台android4.0体验-7GPS功能调试支持
  19. JAVA计算机毕业设计学生二手书籍交易平台计算机(附源码、数据库)
  20. 高颜值第三方播放器:YesPlayMusic Mac

热门文章

  1. C语言 输入一个不大于五位的数字,先判断是几位数字,然后将其数字顺序输出和逆序输出
  2. 利用Python实现自动投票以及自动爬虫IP代理
  3. Proximal Algorithms 6 Evaluating Proximal Operators
  4. ACM教程 - (数论)正整数分解使得乘积最大问题
  5. java 对PDF文件进行密码加密
  6. php molten,当molten遇到机器学习
  7. Java+Jsp+MySQL高校选课系统设计与实现(附源码下载地址)
  8. 虾皮台湾店标价是用台币吗?要如何定价?
  9. jQuery之动画的淡入淡出效果
  10. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK