一.前期準備
1.公衆號開發準備
- 註冊公衆號(訂閱號、小程序、服務號、測試號)
- 下載開發工具
2.公衆號註冊
- 服務號(企業)
- 訂閱號(媒體和個人)
- 小程序
3.服務號和訂閱號差異
- 服務號側重於服務,訂閱號側重於諮詢
- 訂閱號每天可以羣發一次,服務號每月可以發表四次
- 服務號主要適用於媒體、企業、政府,訂閱號還適用於個人
- 訂閱號不支持支付,服務號可以申請支付
4.開發者工具
- 開發者文檔
- 在線接口調試工具
- web開發者工具(用來在PC端顯示項目運行效果,需要綁定開發者微信號)
- 公衆平臺測試賬號(不用註冊訂閱號和服務號就可以實現分享功能)
- 測試號註冊鏈接 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
- 使用測試號會自動生成測試號的appID和appsecret
- 接口配置信息:當關注訂閱號和服務號後,向訂閱/服務號發送信息,信息會被轉發到對應URL上進行處理,從而響應用戶
- JS接口安全域名:做微信分享和支付,必須使用JS接口的安全域名
二.微信授權流程
1.概念理解
- 業務域名、JS接口安全域名、網頁授權域名【在公衆號設置->功能設置 裏面】
- 業務域名:如果沒有配置業務域名,當頁面有input輸入框時會有提示“防欺詐盜號,請勿支付或輸入qq密碼“
- JS接口安全域名:微信JSSDK暴露大量接口,用於客戶端調用,如果希望調用對應API則需要配置JS接口安全域名,如果不配置接口安全域名則無法調用微信API
- 網頁授權域名:使用微信授權時需要設置授權的回調域名
- 開發者工具(添加開發者微信號)、人員設置(添加運營者微信號)
- 在人員設置裏設置管理員信息
- 在人員設置裏設置運營者管理,其中可以綁定運營者微信號
- 開發者工具,綁定Web開發者工具,從而設定開發者微信號
- 網頁授權access_token和普通access_token
- UnionID
- 一個用戶訪問一個應用就會存在一個不同的OpenId,即一個用戶訪問公衆號、服務號、小程序都會有一個不同的OpenId
- 同一個用戶在訪問公衆號、服務號、小程序只存在同一個UnionID
2.授權流程
- 用戶同意授權,獲取code
- 通過code換取網頁授權access_token
- 拉取用戶信息(需scope爲snsapi_userinfo)
- 授權方式
- 靜默授權:不需要用戶感知的授權,只需要獲取OpenID
- 用戶信息授權:需要獲取用戶信息,需要用戶點擊授權
3.JSSDK調用流程
- 綁定域名
- 引入JS文件(可以在index.html中引入JSSDK的js文件或通過引入jssdk插件包的形式引入)
- 通過config接口注入權限驗證配置(接口簽名)
- 通過ready接口處理成功驗證