前言
开发微信微信官方账号应用和普通应用web应用程序没有太大区别,很难访问微信公众号API服务配置,稍有不慎就容易接入失败,导致无 ** 常使用。
常见问题
微信客户端缓存。
添加版本号的前端静态资源。添加时间戳前端跳转路径。window.location.href = './xxx.html'?time=' ((new Date()).getTime()设置服务端缓存时间。
若上述方法无法清除缓存,则只能采用以下方法。
重新登录微信。用第三方清洁工具清除缓存。
退出微信的时候可能也就只清除cookie,storage,页面资源缓存尚未完全清除。
微信jssdk使用步骤。
配置微信公共平台域名。
2. web引入前端网页js-sdk文件。
<script src="#34;></script>
3. web前端配置wx.config里面参数。
wx.config({ debug: true,/// 打开调试模式,调用所有api返回值将在客户端alert如果要查看输入参数,可以在pc端打开,参数信息通过log打出,仅在pc端时打印appId: '',// 必须填写,微信官方账号唯一标 timestamp: ,// 必填,签名时间戳 nonceStr: '',// 必填,生成签名随机串 signature: '',// 必填,签名 jsApiList: [] / 必填,需要使用的接口列表};
4. web前端执行wx.ready方法。
wx.ready(function(){ / config信息验证后执行ready所有接口调用方法都必须在config接口得到结果后,config这是客户端的异步操作,因此如果需要在页面加载时调用相关接口,则必须将相关接口放在页面上ready调用函数以确保正确执行。用户触发时调用的接口可直接调用,无需放置ready);
所有的微信jssdk接口都在wx.ready执行。
5. 前端编写wx.error方法。
wx.error(function(res){ // config信息验证失败将执行error如果签名过期导致验证失败,可以打开具体的错误信息config的debug模式查看,也可以在返回的res查看参数,对SPA在此更新签名。
微信jssdk配置文件。
注意配置参数类型是否相同。注意签名的生成url是现在的url同样。注意前端传输url有没有encodeURIComponent()后端有没有?url解码,生成签名。
微信接口调试页面
微信公共平台接口调试工具
微信接口端口号
只支持80或443端口,其他端口无效。
微信分享接口
微信共享接口url必须固定,不要动态改变url。否则,共享链接不是微信共享标签。(带文字和图片)// 微信共享标签// 微信共享标签正常显示flag=1 / 微信共享标签异常显示flag={randomNumber}
分享页面时不要动态修改url上述参数。
公共账户安全域名建议配置一级域名。共享链接不一定是当前页面的链接。共享链接域名必须与当前页面对应的公共账户安全域名一致。
微信开发者工具分享成功,移动微信分享失败。
微信图片接口
web从手机相册中拍照或选择接口。
wx.chooseI ** ge({ count: 1.// 默认9 sizeType: ["original","compressed"],// 可以指定是原图还是压缩图。默认情况下,两者都有 sourceType: ["album","camera"],// 可以指定来源是相册还是相机,两者都有 success: function(res) { var localIds = res.localIds // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 }
localIds参数返回是一个数组。
localIds参数是微信的图片资源地址,是标准src图片地址。
后端通过微信后端获取材料接口获取图片并保存。
微信素材管理文件
微信开放文档
微信支付接口
微信支付文件
【微信支付】普通商户接入文档
微信支付仿真,用于模拟支付功能。
微信支付API支付开发者文档
延伸:
IOS APP应用使用h5付款,导致无法返还App端,打开Safari浏览器问题。
原因是在支付界面上redirect_url参数是网站。
IOS APP修改回调协议的应用,让Safari直接调用浏览器IOS APP应用。
建议
注意微信公众号SDK API调用顺序。
注意微信微信官方账号参数接收和传输参数的大小必须相同。
一些微信功能需要使用真机。