pay.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Notify from '../miniprogram_npm/@vant/weapp/notify/notify';
  2. const api = require('../api/index')
  3. const config = {
  4. tabbar:["pages/index/index","pages/hotProduct/hotProduct","pages/mine/mine"]
  5. };
  6. function getPages(){
  7. var obj = {
  8. type: 'danger'
  9. }
  10. var pages = getCurrentPages()
  11. var route = pages[pages.length - 1]?.route
  12. if(route && config.tabbar.indexOf(route)==-1){
  13. obj.top = wx.getStorageSync('height')
  14. }
  15. return obj
  16. }
  17. function payMoney(data){
  18. return new Promise((resolve, reject) => {
  19. api.weixinpay(data).then(res=>{
  20. console.log(res)
  21. if(res.code == 200){
  22. var obj = res.data.data
  23. wx.hideLoading()
  24. wx.requestPayment
  25. (
  26. {
  27. "timeStamp": `${obj.timestamp}`,
  28. "nonceStr": obj.nonceStr,
  29. "package": "prepay_id="+obj.prepayId,
  30. "signType":obj.signType,
  31. "paySign": obj.signature,
  32. "success":function(res){
  33. // console.log(res)
  34. // resolve(res);
  35. },
  36. "fail":function(res){
  37. var obj = getPages()
  38. if(res.errMsg == 'requestPayment:fail cancel'){
  39. obj.message = '取消支付'
  40. }else{
  41. obj.message = '支付失败'
  42. }
  43. if(obj.message){
  44. Notify(obj)
  45. }
  46. // console.log(res)
  47. // resolve(res);
  48. },
  49. "complete":function(res){
  50. // console.log(res)
  51. resolve(res);
  52. }
  53. }
  54. )
  55. }
  56. }).catch(error=>{
  57. reject(error || '未知错误');
  58. })
  59. })
  60. }
  61. function open(data,selector='myPay'){
  62. var pages = getCurrentPages()
  63. const actionSheetRef = pages[pages.length-1].selectComponent('#'+selector)
  64. actionSheetRef.show(data)
  65. }
  66. // 导出请求方法
  67. module.exports = {
  68. payMoney: (data) => payMoney(data),
  69. openPay: (data,selector) => open(data,selector)
  70. };