最近有机会,尝试了一次微信开发,中间遇到不少比较容易踩得坑,记录一下。php
主要功能是html
微信公众平台: 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
接口文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html安全
过程是获取用户受权的code,经过code获取access_code,而后经过access_code获取用户信息。微信
第一步获取用户受权的code,redirect_uri
常常会报错redirect_uri参数错误
,可能的缘由是:cookie
若是以上问题都注意到后,仍是有问题,即可以等几个小时,极可能是微信接口抽风了,我就是用着用着这个接口挂了,等了好几个小时本身好了。
有时候报错”不能访问连接“,缘由是微信后台设置的回调域名不对,有时候本身切换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,定制分享内容和分享的连接。
条件:
接口地址:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_1
就是有时候会报错签名错误
,可能缘由及解决办法是:
证书的使用。
官方下载会下载到三个证书,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,谢谢!
原文连接地址: 微信开发的一些总结