/** * 微信jssdk调用 */ let Weixin = function () { var wx = require('jweixin-module'); this.weixin = wx; this.init = function (params) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: params.appId, // 必填,公众号的唯一标识 timestamp: params.timestamp, // 必填,生成签名的时间戳 nonceStr: params.nonceStr, // 必填,生成签名的随机串 signature: params.signature, // 必填,签名 jsApiList: ['chooseWXPay', 'openAddress', 'updateAppMessageShareData', 'updateTimelineShareData', 'scanQRCode', 'hideMenuItems' ] // 必填,需要使用的JS接口列表 }); } /** * 发起支付 * @param jsApiParame * @param callback * @param cancel */ this.pay = function (jsApiParame, callback, cancel) { wx.ready(function () { wx.chooseWXPay({ timestamp: jsApiParame .timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: jsApiParame.nonceStr, // 支付签名随机串,不长于 32 位 package: jsApiParame.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*) signType: jsApiParame.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: jsApiParame.paySign, // 支付签名 success: function (res) { typeof callback == 'function' && callback(res); }, cancel: function (res) { typeof cancel == 'function' && cancel(res); } }); }) } /** * 获取收货地址 * @param {Object} callback */ this.openAddress = function (callback) { wx.ready(function () { wx.openAddress({ success: function (res) { typeof callback == 'function' && callback(res); }, fail: (res) => { console.log('获取收货地址 fail',res); alert(JSON.stringify(res)) } }); }) } /** * 分享给好友 * @param {Object} params * @param {Object} callback */ this.setShareData = function (params, callback) { wx.ready(function () { // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容 wx.updateAppMessageShareData({ title: params.title || '', // 分享标题 desc: params.desc || '', // 分享描述 link: params.link || '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: params.imgUrl || '', // 分享图标 success: function (res) { typeof callback == 'function' && callback(res); }, fail: function (err) { } }) // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容 wx.updateTimelineShareData({ title: params.title || '', // 分享标题 link: params.link || '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: params.imgUrl || '', // 分享图标 success: function (res) { typeof callback == 'function' && callback(res); } }) }); } /** * 扫一扫 * @param {Object} callback */ this.scanQRCode = function (callback) { wx.ready(function () { wx.scanQRCode({ needResult: 1, scanType: ["qrCode"], success: function (res) { typeof callback == 'function' && callback(res); } }); }) } } export { Weixin }