pay.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. obj.message = '支付失败'
  39. if(obj.message){
  40. Notify(obj)
  41. }
  42. // console.log(res)
  43. // resolve(res);
  44. },
  45. "complete":function(res){
  46. console.log(res)
  47. resolve(res);
  48. }
  49. }
  50. )
  51. }
  52. }).catch(error=>{
  53. reject(error || '未知错误');
  54. })
  55. })
  56. }
  57. // 导出请求方法
  58. module.exports = {
  59. payMoney: (data) => payMoney(data)
  60. };