1. 公众号开发架构

1. 公众号开发需要与公众号后台有交互,需要在后台网页进行配置,比如通信的域名地址,js jdk的授权地址等等。

2. 使用Node.js为底层环境,使用ES6新特性。

3. 使用Koa框架,主要用来处理服务器之间的应用初始化、接口调用以及数据的响应。

4. 使用bluebird来处理和封装异步请求。

5. 网络请求使用request,它是对原生的http request的封装。

6. 微信的数据包装方式是XML,借助ejs模板库,把数据作为变量替换到XML字符中。

7. 常用工具模块,

lodash是一些常用的方法集,做数组拆分,类型判断等等。

heredoc 把函数体里面多行注释作为字符串提取出来主要用来降低拼接字符串的成本。

8. raw-body 用来获取一个http请求返回的可读流的内容实体。

9. 使用sha1哈希算法库进行加密。

10. 使用xml2js 这个模块把xml数据解析为js对象。

11. 微信工众号 配置接入流程

12. 加密认证环节

13. 票据 access_token 获取。

一、微信公众号 基础

https://mp.weixin.qq.com

* 服务号

* 订阅号

* 小程序

* 企业微信

使用ngrock进行代理

http://www.sunnyos.com/article-show-67.html

配置接入微信公众号

第一步: 填写微信服务器 URL, Token

认证步骤:

第一步:将token、timestamp、 nonce三个参数进行 字典序排序

第二步:将三个参数字符串拼接成一个字符串进行 sha1 加密

第三步:将加密后的字符串与 signature 对比, 如果相同,表示这个请求来源于微信,原样返回 echostr 参数内容, 接入验证成功。

时间: 2024-10-03 17:28:19

1. 公众号开发架构的相关文章

微信公众号开发之院校行业应用

本方案适用于大学院系,职业学院等官方公众号建设,院校公众号,采用微信服务号定制开发,面向学生,以微信互动为主,让学生通过微信公众号认识了解同学,了解院校.帮助院校了解学生需求,建立一种新的院校与学生的沟通方式. 院校微信公众号需求模型 微信公众号功能模块 1.微社区 学生可以在微社区各个板块发言跟帖,并分享到朋友圈 2.校园生活 以图文,或视频的形式发布关系校园的趣事,新闻等. 3.院校工作 院校的微官网,院校介绍,公告通知消息等查询,办公室联系人等 4.个人主页 学生的个人微信主页,可以互动留

《初识Java微信公众号开发》 学习中遇到的困难

前一段时间无聊的时候,在慕课网上自学了一点点微信公众号开发(受学姐威胁). 慕课网教程的地址:http://www.imooc.com/learn/368 毕竟是免费的课程,不可能讲的那么详细.所以我吧我遇到的问题跟大家分享一下. 这是我照着课程敲的代码(IDE是Eclipse): https://github.com/Zuosy/WeiXin 发到github上面了. 为了这个,我还专门到廖大的网站上学了一遍Git. 廖大的Git教程传送们:https://www.liaoxuefeng.co

微信公众号开发总结

最近公司用到了微信公众平台,所以研究了一下微信公众号的开发技术,总体来说比较简单,结合现有的平台核技术,实现起来非常方便. 首先先来了解一下微信公众平台. "微信,是一个生活方式" ,这是微信的自我评价,是不是觉得如果那天不在朋友圈里分享一下自己的最新状态, 并且收到几个赞和评价的话,会觉得空虚寂寞呢?它实实在在的改变了我们的生活方式. " 微信,也是一个生意方式 ",在微信成为我们日常必备之app的同时,它同样具备巨大的的商业 或许不应该称为潜力,因为有很多人已经

微信公众号开发80端口映射之搭建ngrok服务器

说明 了解本文之前,最好先看前篇:<<微信公众号开发80端口映射解决方案>>.最近公司要搞微信公众号开发,需要解决80端口映射的问题,为了稳定可靠,只好自己搭建ngrok服务端.ngrok 是一个使用go语言编写的反向代理软件,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网穿透.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. 环境和条件 服务器Centos6.8_x64+windows10_x64 一台有公网ip的服务器 域名解析到服务

C#微信公众号开发 -- (五)自定义菜单创建

公众号中,底部都是有自己定义的功能按钮,通过点击某个按钮来实现指定的业务逻辑操作. 下面就来说说这些按钮是怎样放到微信公众平台的,还是先来看看微信的官方解释: 请注意: 1.自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单. 2.一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替. 3.创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单, 如果菜单有更新,就会刷

.NET C#微信公众号开发远程断点调试(本地远程调试生产环境)

最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了) 因此上网搜了一下,发现好多是使用软件之类的进行请求转发从生产环境转发请求到开发环境上,发现有的太麻烦了. 突然想到Vs有一个附加到进程的远程调试.于是玩了一把.我们直接开始(服务器上就不要使用发布版本代码了,代码和本地开发一样,不然是不能调试的) 本篇是以开发环境的Visual Studio2013旗舰版以及生产环境里阿里

利用OpenShift托管Node.js Web服务进行微信公众号开发

最近写了一个微信的翻译机器人.用户只要关注该微信号,发送英文的消息,就能收到中文翻译的回复.后台是用Node.js写的,托管在OpenShift的Paas平台上.翻译过程实际上是调用微软的Bing translation API做的,代码中用到了alexu84的bing-translate和JacksonTian的wechat这两个npm模块.下面把做的过程详细说一下. 1. 微信公众号开发 首先是要到https://mp.weixin.qq.com 申请一个公众号,并申请成为开发者.目前个人只

nodejs + BAE 搭建微信公众号开发平台

闲来无事创建了一个微信公众账号,名曰“深圳生活小助手”, 关注的人不多,平时发一些深圳新闻,趣事啥的,为了丰富公众号的内容,准备添加一些便民查询功能,例如天气预报.快递查询等等. 于是就有了本文的内容. 深圳的读者扫描关注支持下啊... 闲话不多说,本文主要介绍的就是如何基于nodejs和百度云搭建微信公众号开发平台,下一节介绍如何基于该平台实现了一个简单的天气预报查询功能的小例子. 1. 使用Express搭建本地站点 Express 是一个简洁.灵活的 node.js Web 应用开发框架,

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制 1. token机制and  session保持状态机制 1 2. access token是什么?? 1 3. 为什么需要access token 2 4. 需不需要保存access_token,如何保存??? 2 5. access_token在何时被创建 2 6. 为什么不直接使用appid保持状态 2 7. access_token的过期问题 3 8.