如果按照微信官方文档设置好页面自定义分享标题、图片后,却看到分享出来的内容不对按以下步骤排查。
1,appid和appsecret不正确;
可以单独调用一下获取jsapi_ticket方法验证appid和appsecret是否配置正确。如果设置正确会返回jsapi_ticket,否则请对照返回的错误码修改设置信息。
PS:因为jsapi_ticket有效期是7200秒,所以请在自己程序中缓存该值,不要每次请求服务器。
2,当前URL、时间戳、nonceStr等业务参数不正确。
使用微信官方提供的验证工具校验:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
3,忘记设置微信公众号的JS接口安全域名
如果上述两种错误都排查掉的话并且用微信开发工具模拟可以看到自定义分享内容正确,但用手机真实测试却不对的话,基本可以确认是因为没有把当前网站域名添加到微信公众号的JS接口安全域名里。
登录微信公众号,在【公众号设置】的【JS接口安全域名】里添加当前网站域名即可。
PS:注意JS接口安全域名每个月只能修改四次,另外现在修改JS接口安全域名时需要把微信验证文件添加到官网根目录。
因为微信接口本身比较多,而且像jsapi_ticke的获取有一定的验证算法、很多接口之前有依赖调用关系,所以不建议在项目中自己来写这些方法,最好使用网上现有的第三方插件,如PHP框架有EasyWechat和wechat-php-sdk。但由于EasyWechat不支持ThinkPHP框架,所以笔记一直使用wechat-php-sdk。