微信开发的一些总结

最近有机会,尝试了一次微信开发,中间遇到不少比较容易踩得坑,记录一下。php

主要功能是html

  1. 微信网页认证
  2. 转盘抽奖
  3. 微信公共号发红包给当前登陆用户
  4. 分享给好友和分享到朋友圈

涉及到的资源

微信公众平台: https://mp.weixin.qq.comhtml5

微信商户平台: https://pay.weixin.qq.com/node

微信API:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htmlgit

微信开发者论坛: http://qydev.weixin.qq.com/qa/index.php?qa=questionsgithub

过程记录

微信网页认证

条件:api

  1. 服务号
  2. 经过微信认证

接口文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html安全

过程是获取用户受权的code,经过code获取access_code,而后经过access_code获取用户信息。微信

其中第一个坑

第一步获取用户受权的code,redirect_uri常常会报错redirect_uri参数错误,可能的缘由是:cookie

  1. 公众平台后台设置受权回调域名
  2. 回调页面有端口,受权也需端口
  3. redirect_uri urlencode
  4. 绑定已备案域名,主要域名必须是二级或二级以上域名

若是以上问题都注意到后,仍是有问题,即可以等几个小时,极可能是微信接口抽风了,我就是用着用着这个接口挂了,等了好几个小时本身好了。

第二个坑

有时候报错”不能访问连接“,缘由是微信后台设置的回调域名不对,有时候本身切换host后,域名不对,因此修改回调域名就行了。

第三个坑

access_token会过时,用的时候建议每次都经过refresh_token去从新获取access_token

第四个坑

用户受权后回跳的页面的时候,控制台报错

`Resource interpreted as Document but transferred with MIME type application/octet-stream: "https://open.weixin.qq.com/connect/oauth2/..`

解决办法是,回调页面的url设置为http://xxx.com,而不是xxx.com

第五个坑

受权回调页面,url会带有?code=xxx,不能直接分享这个url,会致使后面的用户受权不了。由于这个问题纠结了好久。

解决方式是,在node端解析code,而后写入cookie,经过url redirect到没有code的页面。另外一种方式是,经过微信api,定制分享内容和分享的连接。

公众号微信发红包给用户

条件:

  1. 经过微信认证
  2. 经过微信支付认证

接口地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_1

第一个坑

就是有时候会报错签名错误,可能缘由及解决办法是:

  1. 生成签名的密匙过时,从新去后台设置一下便可。
  2. 加密的字符串须要按照ASCII排序
  3. 若是仍是没解决,能够去掉中文试试
  4. 仍是不正确,能够经过签名工具,把参数都输入后看输出的和本身的哪一步不对。
  5. 最后,post请求传过去的body应该是xml格式,且xml格式须要严格按照xml语法,顺序最好和文档的同样。

第二个坑

证书的使用。
官方下载会下载到三个证书,node用.p12后缀的,使用方式是在请求头设置 agent,而后设置密码。具体见文末的代码连接。

第三个坑

红包的描述和祝福语之类的设置中文会出现红包发送不出去的状况,解决方式是对中文进行unicode编码。

分享给好友和分享到朋友圈

第一步,在微信后台设置js接口安全域名

第二步,引入js文件

第三步,经过config接口注入验证配置

: signature签名获取方式是先获取 jsapi_ticket,经过access_token获取jsapi_ticket时老是报错,同一个未过时的access_token获取用户信息是能够的,获取jsapi_ticket就不行。

第四部,配置onMenuShareTimeline方法。能够自定义分享内容和连接。


最后,推荐html5的一些组件库

frozenUI: http://frozenui.github.io

很出色的h5制做网站:http://h5.baidu.com/

源代码仓库连接:https://github.com/freestyle21/orange-plus

原创文章,欢迎转载。转载请注明:转载自 Fs21 ' s Home,谢谢!
原文连接地址: 微信开发的一些总结
相关文章
相关标签/搜索