微信官方提供了丰富的接口文档,但是开发接入的时候还是调到很多坑里面找不到原因。这里整理下H5接入微信的详细方法,在每一步中要注意的事项。
平时我们都是说我关注了公众号,其实公众号是包含了服务号、订阅号、企业号。他们的区别,订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以群发一条消息;服务号:主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息;企业号:主要用于公司内部通讯使用,需要先验证身份才可以关注成功企业号;
根据业务的需求选择选择适合的公众号类型,并且注册成个体户|企业|政府|媒体|个人|组织等类型。
官方提供的步骤:
STEP1
要想调起js-sdki的步骤按照官方提供的文档绑定域名,在正式的公众号里面绑定域名是需要到ICP备案。如果你没有一个备案的网站可以先不考虑申请公众号来联调接口,可以使用公众号测试账号,点我 。在公众号测试平台里面配置本地的IP地址也是可以被访问的,但是一定要用80端口(坑一)。
图1.测试配置接口域名格式如图1,配上域名要去掉http://或是https://,不要问为什么(坑二)。
STEP2
接下来引入js库,当然http://res.wx.qq.com/open/js/jweixin-1.0.0.js,同时支持https://res.wx.qq.com/open/js/jweixin-1.0.0.js 的访问。但是如果你的网站是https,就一定要使用https。
STEP3
配置config稍微复杂且坑多。因为有2次请求和一次加密算法。
第一次请求获取token,接口示例:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx056377399801fa11&secret=fa875643686b0a52b3b0673267a0022b 获取。token每日上线2000次,每次请求的token一定要缓存2分钟,否则超过限制就不能访问了。
第二次请求获取ticket,接口示例:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=OO3Bwobo0iTZNXKoYyHfXQnYOvBVKW8XsAz0JQ4KOiCWC6QGV176NBzLRNhXGj_uwlCXFg9FzXQVGd7qTpScvxUSwCza7oqp7MJ05jnROvTJbs2hRBztoU3eiDja_n4lDBLeAEALJT&type=jsapi
拿到ticket后我们需要把参数拼接成字符串,然后用sha1来加密:signature:sha1('jsapi_ticket=' + ticketMap.ticket + '&noncestr=' + noncestr + '×tamp=' + timestamp + '&url=' + url),拼接后得到的signature。然后生成了如下配置:url的链接是要带http的,要和测试管理账号图1里面配置的域名保持一致(坑三)
图2. 配置好后的config示例signature的请求要由后台来回去。我的示例是基于node起的服务,并且完成数据的请求和加密。
然后再在wx.ready()里面配置接口,以分享为例:
图3 分享接口配置点击页面右上角分享好友和扫一扫为例:
图4 点击分享好友回调 图5 分享给好友显示效果 图6 调起扫一扫的功能回调到此js-sdk的调用已经成功。下面一篇文章先预告,会介绍如何获取用户数据授权登录。
网友评论