| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- let wx = {}
- import {api} from "../assets/http/api.js"
- let jweixin = require('jweixin-module');
- let url = encodeURIComponent(window.location.href.split('#')[0])
- /**
- * JS-SDK 卡片分享
- */
- wx.H5Share = async (shareParam) => {
- let shareData=(await api.wxApp.getWxShareData({url})).data.data
- //通过微信config接口注入配置
- jweixin.config({
- debug: false, //调试模式
- appId: shareData.appId, //必填,公众号的唯一标识
- timestamp: shareData.timestamp, //必填,生成签名的时间戳
- nonceStr: shareData.nonceStr, //必填,生成签名的随机串
- signature: shareData.signature, //必填,签名
- jsApiList: [
- 'updateTimelineShareData',
- 'updateAppMessageShareData',
- 'onMenuShareAppMessage', //旧的接口,即将废弃
- 'onMenuShareTimeline' //旧的接口,即将废弃
- ] //必填,需要使用的JS接口列表
- })
- jweixin.ready(function() {
- jweixin.updateTimelineShareData({
- ...shareParam,
- success: function() {
- console.log("配置分享朋友圈成功");
- }
- })
- jweixin.updateAppMessageShareData({
- ...shareParam,
- success: function() {
- console.log("配置分享微信好友成功");
- }
- })
- jweixin.onMenuShareTimeline({
- ...shareParam,
- success: function() {
- console.log("旧版配置分享朋友圈成功");
- }
- })
- jweixin.onMenuShareAppMessage({
- ...shareParam,
- success: function() {
- console.log("旧版配置分享微信好友成功");
- }
- })
- })
- }
- /**
- * JS-SDK 支付
- */
- wx.H5Pay = async (payParam) => {
- console.log("JS-SDK 支付Url",url);
- let configData = (await api.wxApp.getWxShareData({url})).data.data;
- //通过微信config接口注入配置
- jweixin.config({
- debug: false, //调试模式
- appId: configData.appId, //必填,公众号的唯一标识
- timestamp: configData.timestamp, //必填,生成签名的时间戳
- nonceStr: configData.nonceStr, //必填,生成签名的随机串
- signature: configData.signature, //必填,签名
- jsApiList: ['chooseWXPay'] //必填,需要使用的JS接口列表
- })
- jweixin.ready(async() => {
- return await new Promise((resolve, reject) => {
- jweixin.chooseWXPay({
- timestamp: payParam.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
- nonceStr: payParam.nonceStr, // 支付签名随机串,不长于 32 位
- package: payParam.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
- signType: payParam.signType, // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致
- paySign: payParam.paySign, // 支付签名
- success: function (res) {
- // 支付成功后的回调函数
- console.log("支付成功",res);
- resolve(res)
- },
- fail: function(err) {
- console.log("支付失败",err);
- reject(err)
- }
- });
- })
- })
- }
- export default wx
|