以前做过微信分享,但也仅限于前端,回忆起来当时没啥大坑,接口报错或者有啥问题基本当时都反馈给后台同学,最后都完美解决了。
而这次从微信公众号申请,公众号平台配置,node实现后台接口,前端实现分享功能一路开飞(抱个头想会儿)
起初觉得不难,很多人都已经做过了。node接口更好实现。而事实是猜对了结尾却猜错了开场。
好了,下来一步一步记录一下我遇到的各种坑,大部分坑都还是在微信公众平台的配置上。其实还是没有花时间仔细阅读开发者文档。建议要做的同学做之前还是好好研读一下开发者文档。
在公众号平台-设置-公众号设置-功能设置,配置JS接口安全域名
这样,txt文件就能访问到了。
平台-开发-基本配置-公众号开发信息-IP白名单里配置白名单
ip白名单配置的是你项目运行的服务器对应的外网地址,比如我做的时候问我们后台同事,他说百度里搜IP地址,出来的就是公司的外网地址,然后配上去后来接口调试根本就报无效ip地址嘛。后来找了运维要了xxx.cn对应的外网地址,接口调试才通过。
平台-开发-基本配置-服务器配置
服务器地址填的是你后台写的供微信服务器调用的接口,用来校验token
第二个字段token的配置,任意写的,但是必须保证跟你供微信调用的接口里写的token要一致。
供微信调用的接口:
其他字段配置没什么要特别说的了。
入口文件,index.js:
这个入口文件里面很多配置没用nuxt的用不到。
路由/router/weChart.js
/service/wxShare.js
api/getWx.js
vue组件页面引用
微信分享前后端实现基本就这样,自己配置过程中如有问题还得继续趟。
根据官方微信支付的 文档
和流程图
支付过程可以分为 后端流程 和 前端流程
根据经验 签名错误是xml的加密出错了
这里贴出一个提交统一下单的原始xml
这里说明一下: 经过亲测 spbill_create_ip , notify_url 这两个参数即使是写死的也不是导致 签名错误 的原因
检查商户信息,也就是商户号 mch_id 和商户的 key (这里需要注意 key ,是申请微信支付成功后,腾讯发给申请者邮件里面的秘钥,要想此秘钥生效还需要安装 操作证书 )