jweixin.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. let wx = {}
  2. import {api} from "../assets/http/api.js"
  3. let jweixin = require('jweixin-module');
  4. let url = encodeURIComponent(window.location.href.split('#')[0])
  5. /**
  6. * JS-SDK 卡片分享
  7. */
  8. wx.H5Share = async (shareParam) => {
  9. let shareData=(await api.wxApp.getWxShareData({url})).data.data
  10. //通过微信config接口注入配置
  11. jweixin.config({
  12. debug: false, //调试模式
  13. appId: shareData.appId, //必填,公众号的唯一标识
  14. timestamp: shareData.timestamp, //必填,生成签名的时间戳
  15. nonceStr: shareData.nonceStr, //必填,生成签名的随机串
  16. signature: shareData.signature, //必填,签名
  17. jsApiList: [
  18. 'updateTimelineShareData',
  19. 'updateAppMessageShareData',
  20. 'onMenuShareAppMessage', //旧的接口,即将废弃
  21. 'onMenuShareTimeline' //旧的接口,即将废弃
  22. ] //必填,需要使用的JS接口列表
  23. })
  24. jweixin.ready(function() {
  25. jweixin.updateTimelineShareData({
  26. ...shareParam,
  27. success: function() {
  28. console.log("配置分享朋友圈成功");
  29. }
  30. })
  31. jweixin.updateAppMessageShareData({
  32. ...shareParam,
  33. success: function() {
  34. console.log("配置分享微信好友成功");
  35. }
  36. })
  37. jweixin.onMenuShareTimeline({
  38. ...shareParam,
  39. success: function() {
  40. console.log("旧版配置分享朋友圈成功");
  41. }
  42. })
  43. jweixin.onMenuShareAppMessage({
  44. ...shareParam,
  45. success: function() {
  46. console.log("旧版配置分享微信好友成功");
  47. }
  48. })
  49. })
  50. }
  51. /**
  52. * JS-SDK 支付
  53. */
  54. wx.H5Pay = async (payParam) => {
  55. console.log("JS-SDK 支付Url",url);
  56. let configData = (await api.wxApp.getWxShareData({url})).data.data;
  57. //通过微信config接口注入配置
  58. jweixin.config({
  59. debug: false, //调试模式
  60. appId: configData.appId, //必填,公众号的唯一标识
  61. timestamp: configData.timestamp, //必填,生成签名的时间戳
  62. nonceStr: configData.nonceStr, //必填,生成签名的随机串
  63. signature: configData.signature, //必填,签名
  64. jsApiList: ['chooseWXPay'] //必填,需要使用的JS接口列表
  65. })
  66. jweixin.ready(async() => {
  67. return await new Promise((resolve, reject) => {
  68. jweixin.chooseWXPay({
  69. timestamp: payParam.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
  70. nonceStr: payParam.nonceStr, // 支付签名随机串,不长于 32 位
  71. package: payParam.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
  72. signType: payParam.signType, // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致
  73. paySign: payParam.paySign, // 支付签名
  74. success: function (res) {
  75. // 支付成功后的回调函数
  76. console.log("支付成功",res);
  77. resolve(res)
  78. },
  79. fail: function(err) {
  80. console.log("支付失败",err);
  81. reject(err)
  82. }
  83. });
  84. })
  85. })
  86. }
  87. export default wx