wxpay.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. function onBridgeReady(params) {
  2. console.log("onBridgeReady+"+new Date().getTime())
  3. uni.showLoading({
  4. mask:true,title:'加载中...'
  5. })
  6. //记录要回跳的url
  7. window.WeixinJSBridge.invoke(
  8. 'getBrandWCPayRequest', {
  9. 'appId': params.appId, // 公众号名称,由商户传入
  10. 'timeStamp': params.timeStamp, // 时间戳,自1970年以来的秒数
  11. 'nonceStr': params.nonceStr, // 随机串
  12. 'package': params.package,
  13. 'signType': params.signType, // 微信签名方式:
  14. 'paySign': params.paySign // 微信签名
  15. },
  16. (res) => {
  17. //alert(JSON.stringify(res)); // 支付取消会执行 支付成功不会
  18. if (res.err_msg == 'get_brand_wcpay_request:ok') {
  19. //alert("支付成功") // 不会执行
  20. //window.location.href = params.url
  21. } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
  22. //alert("支付取消") // 会执行
  23. uni.hideLoading();
  24. } else {
  25. alert("支付失败")
  26. uni.hideLoading();
  27. }
  28. }
  29. )
  30. }
  31. export const wxPayJs = (params) => {
  32. console.log("wxPayJs+"+new Date().getTime())
  33. uni.showLoading({
  34. mask:true,title:'加载中...'
  35. })
  36. if (!params.url) {
  37. params.url = window.location.href.split("#")[0] + "/#/";
  38. }
  39. if (typeof window.WeixinJSBridge === 'undefined') {
  40. if (document.addEventListener) {
  41. document.addEventListener('WeixinJSBridgeReady', function() {
  42. onBridgeReady(params)
  43. }, false)
  44. } else if (document.attachEvent) {
  45. document.attachEvent('WeixinJSBridgeReady', function() {
  46. onBridgeReady(params)
  47. })
  48. document.attachEvent('onWeixinJSBridgeReady', function() {
  49. onBridgeReady(params)
  50. })
  51. }
  52. } else {
  53. onBridgeReady(params)
  54. }
  55. }