1.微信开发原理
微信客户端->微信服务器->开发绑定的服务器。
微信开发步骤:
1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑(入口为公众号后台设置的url)


2.微信验证服务器原理(验证服务器的有效性)
在微信公众后台配置的url和token保存之后会发一个GET请求到我们配置的url上。
并且携带四个参数用来验证签名:
验证签名成功之后把随机字符串返回给微信服务器。即可完成验证。


3.微信开发两种开发模式:

1.消息处理(主动接口、被动接口)
此类开发入口是在后台填写的url (被动接口微信服务器会将消息或者事件主动推送到我们绑定的服务器上)
2.h5页面(类似活动、游戏等要分享朋友圈或者好友来参加的活动)
此类开发主要是为了通过活动等获取粉丝来达到推广和传播的作用,所以第一步要 网页授权 来获得微信用户的openid来记录用户信息,其次要用到jssdk里的分享等接口来达到传播的效果!


4.微信开发access_token的总结

1.接口access_token:
接口调用的access_token。是对接口的认证!
获取方式:http请求方式: GET[https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET](https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET)
2.网页授权access_token(第三方h5页面分享获得用户数据用)
这个access_token是网页授权之后获得的access_token是为了获得授权之后拿到用户数据用的。
这个是微信服务器回调到后台填写的网页授权域名下!不是基本配置里的那个接收数据的那个url
https://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html


5.网页授权的总结
5.1.网页授权的步骤:

1、引导用户进入授权页面同意授权,获取code
    2、通过code换取网页授权access_token(与基础支持中的access_token不同)
    3、如果需要,开发者可以刷新网页授权access_token,避免过期
    4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
 ```
5.2网页授权的两种方式 snsapi_base和snsapi_userinfo

1.用户已经关注公众号
snsapi_base:静默授权 得到code和openid 结束
snsapi_userinfo:静默授权 可以通过openid和access_token(可以通过code获取)获取用户数据
2.用户未关注公众号
snsapi_base:静默授权 得到code和openid 结束
snsapi_userinfo:弹出是否同意授权 可以通过openid和access_token(可以通过code获取)获取用户数据

---

>6.jssdk
>6.1 使用步骤:

1.绑定js安全域名(最多三个 支持二级域名 )
2.在页面引入js文件: 如需使用摇一摇周边功能,请引入 jweixin-1.1.0.js
3.配置接口调用权限验证(先获取jsapi_ticket 根据jssdk签名生成算法。)
4.调用对应的jssdk接口

>6.2 jsapi_ticket 和 api_ticket 区别

jsapi_ticket是用来验证jssdk签名。而api_ticket是用来验证jssdk里微信卡券的签名。

---

>7.UnionID机制

1.同一个微信用户在同一个微信公众号下openid是相同的。
同一个微信用户在不用的微信公众号下的openid是不同的。
2.在用户关注下通过openid和接口调用的access_token可以获取到用户的基本信息。
“`