微信小程序 - 前期准备

学到的东西:

  1. 交互流程
  2. Nodejs使用技巧
  3. 架构项目的方式
  4. Koa框架的使用
  5. ES2015的新特性

项目描述:

网络代理工具-------QQ浏览器

用到的开发技术:

微信小程序 - 前期准备_第1张图片
image.png
  • 公众号开发需要与公众号后台有交互,需要在后台网页进行配置,比如通信的域名-地址,js sdk 的授权地址等等
  • nodejs项目会用不少框架,并没有100%用ES6的规范来开发,而是混用了一些ES6的特性,比如yield
  • 项目的web层使用的框架是koa,主要用来处理服务器之间的应用初始化, 接口调用以及数据的响应。
  • Promise尽管在高版本Nodejs里面已经原生提供,我们还是用刀了一个Promise库,就是bluebird,用来处理和封装异步请求。
  • 网络请求使用request,它是对原生http request 的封装
  • 微信的数据包装方式是XML,所以我们借助ejs这个模块库,把数据作为变量替换到XML字符中
  • 还有一些工具模块,比如lodash是一些常用的方法集,做数组拆分,类型判断等等,Heredoc是一个黑科技,把函数体里面的多行注释作为字符串提取出来,主要降低拼接字符串对的成本
  • raw-body用来获取一个http请求返回的可读流的内容实体
  • 对于加密,选用sha1这个哈希算法库
  • 微信服务器返回的数据既然是xml格式,我们没办法直接在js函数中使用,所以会借助xml2js这个模块把xml数据解析为js对象,方便使用。

需要注意的是微信公众号的配置接入流程,加密认证环节,票据access_token

程序员自身需要具备的能力:

  • 能利用Node开发一些网页或者爬虫工具,来对Node API和它的特性有一些基本的认识
  • 要有一些其他后台语言的经验,无论是PHP/Java/Ruby均可,主要弄明白一个网络http请求从开始到结束中间所经过的这些环节

微信号分类

  • 企业号
    不适合与我们这种个人小型开发,是为企业或组织提供移动应用入口,帮助企业建立与员工、上下游供应链以及企业应用间的连接。
  • 订阅号
    比较适合与个人,小团队,主要是用于信息传播,帮助管理用户以及用户互动。比如撰写文章,咨询传播,消息定制等
  • 服务号
    企业和组织,提供更强大的业务服务与用户管理能力。比如支付,智能接口
    如:


    微信小程序 - 前期准备_第2张图片
    image.png

    公众号有认证和非认证:
    认证后的公众号能做很多事情。


    微信小程序 - 前期准备_第3张图片
    image.png
微信小程序 - 前期准备_第4张图片
image.png

订阅号:认证和非认证的区别就是,认证账号别人可以直接在添加好友里搜索关键词就能找到你


微信小程序 - 前期准备_第5张图片
image.png
微信小程序 - 前期准备_第6张图片
image.png
微信小程序 - 前期准备_第7张图片
image.png
微信小程序 - 前期准备_第8张图片
image.png
微信小程序 - 前期准备_第9张图片
image.png

订阅号支持的接口

微信小程序 - 前期准备_第10张图片
image.png

域名/IP地址,服务器

ngrok
微信服务器和自己的服务器进行间接交互

把内网服务器暴露至公网
node模块:localtunnel
npm i -g localtunnel
lt --port 3100//实现端口映射

使用测试公众号

官方文档,接口测试号申请
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421137522

接入

微信小程序 - 前期准备_第11张图片
image.png

URL:开发者用来接收微信消息和事件的接口url,微信服务器把数据push到url中
Token: 开发者任意填写,生成签名,和接口url中的token进行比对,保证安全性
EncodingAESKey:开发者手动填写或者随机生成,用作加密和解密的密钥


微信小程序 - 前期准备_第12张图片
image.png
微信小程序 - 前期准备_第13张图片
image.png

app.js:


微信小程序 - 前期准备_第14张图片
image.png

node 版本要在11以上
node --harmony app.js


微信小程序 - 前期准备_第15张图片
image.png

你可能感兴趣的:(微信小程序 - 前期准备)