<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 分类 1.订阅号:适用于网络媒体传播,文章传播,每天可推送一条信息,提供的内容 2.服务号:提供更强大的业务服务与用户管理能力,微信支付 3.企业号:用于企业 CRM 管理员工,供应链,事务流转 管理系统 4.APP号(未来) 二、认证与非认证 1.认证:需要企业资质 2.非认证:个人 微信开发,就是与微信服务器之间的交流 用户通过微信号回复一个关键字: 微信APP 将用户的回复,发送给微信服务器 里面包含一些结构信息, 微信服务器通过分析,转发给开发者的服务器 开发服务器响应微信服务器的请求,并由微信服务器转发给用户 loacltunnel 可以将本地 localhost:3000 本地服务器地址, 匹配一个远程域名地址 lt --port 3100 localtunnel 的简写, --port 表示端口 在3100 端口对应的本地服务,映射到它分配的 koa框架 一个比express更轻更快的node.js 开发框架 var Koa = require('koa'); var app = new Koa(); app.use(function *(next) { //koa 里面 每次请求都是一个对象, this 会指向相应的信息 console.log(this.query) }) 中间件,其实就是一个生产流程 app.listen(3000) 微信开发,就是一个按照微信的根据跟它交互的过程 1.认证过程 微信服务器会带着一些参数来访问我们的开发服务器 signature(签名)、nonce(随机数)、timestamp(时间戳)、echostr 1.对token timestamp nonce 字典排序 var str = [token,timestamp,nonce].sort().join('') 2.对字符串sha1加密 3.将加密后的字符串与signature 比对 代码的抽象与封装 微信相关的业务逻辑可言封装到wechat 文件夹里去 app.js 使用app.use() 使用g.js里的微信逻辑 koa需要中间件都是一个generator() 生成器函数 这是es6语法 它本身不是函数,而是生成一个函数 .next() 调用 1 封装后g.js 暴露给外界调用 module.exports = function(opts){ return function *(){ //带* 的函数即生成器 } } 2 accesstoken 微信票据 微信给予我们向微信服务器发送的钥匙。每次请求基本上都要带上 1 会过时 7200秒 2小时 2 请求次数 每天2000次 accesstoken 会保存在本地txt文件里 先去txt查找一下是否有票据,如果没有,立即向微信买票 请求一个url 得到票据后,将它和它未来的过期时间一起保存到txt文件里 如果有,但已过期,还是要重新请求 getAccesstoken saveAccesstoken
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。