Tips:
本文章主要基于微信JS-SDK和jQuery WeUI 进行的微信公众号网页开发。前提需要
1.微信公众号已经完成开发者认证。
2.在“基本配置”中设置IP白名单。
3.提供一个能支持80或者443的服务。
微信官方文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
获取access_token
access_token 用户获取jsapi_ticket,有效期7200秒,开发者必须在自己的服务全局缓存access_token。
建议开发者建立自己的access_token中控服务器统一获取和刷新,其他业务逻辑服务器所使用的access_token均来自于该中控服务器。 微信获取access_token接口文档
接口调用说明
前提调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。
1 | https请求方式: GET |
我这里使用了shell脚本获取access_token。
1 | a_url=`curl https://api.weixin.qq.com/cgi-bin/token\?grant_type\=client_credential\&appid\=xxx\&secret\=xxxx` |
tips: jq 是linux下shell进行json处理的工具,很强大。
可以使用这个地址测试该接口 使用网页调试工具调试该接口
获取jsapi_ticket
获取jsapi_ticket需要用到上一步的access_token,轻重jsapi_ticket有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket。
1 | https请求方式: GET |
我这里使用了shell脚本来获取,并且保存到文件。
1 | t_url=`curl https://api.weixin.qq.com/cgi-bin/ticket/getticket\?access_token\=$access_token\&type\=jsapi` |
我这里为了方便使用了crontab定时器每两个小时同步一次access_token和ticket,在生产环境中最好根据expires_in过期时间进行同步。
定时脚本如下:
1 | 00 */2 * * * /bin/bash /server/scripts/get_wx_ticket.sh |
至此完成了access_token和ticket的获取。
网页开发 通过js config接口注入权限验证配置
1 | wx.config({ |
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用。
在config之前需要对config所需参数进行签名,获取config方法网页端如下:
1 | function getWxTicket(){ |
后台进行签名,签名算法如下:
1 | /** |
至此完成了微信号网页开发的配置和授权。