buy.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. // pages/buy/buy.js
  2. import { goodsList } from '../../api/index'
  3. import { submitOrder } from '../../api/pay'
  4. import itt from '../../utils/util'
  5. const app = getApp()
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. activeIndex: -1,
  12. goodsList: [],
  13. goodsId: '',
  14. orderAmount: '',
  15. num: '',
  16. appusername: '',
  17. appuserheadimg: ''
  18. },
  19. /**
  20. * 生命周期函数--监听页面显示
  21. */
  22. onShow() {
  23. this.getGoodsList()
  24. this.setData({
  25. appusername: app.globalData.userInfo.userName.length > 4 ? app.globalData.userInfo.userName.substring(0,4) : app.globalData.userInfo.userName,
  26. appuserheadimg: app.globalData.userInfo.headImg
  27. })
  28. },
  29. //获取套餐列表
  30. getGoodsList () {
  31. wx.showLoading({
  32. title: '加载中...',
  33. mask: true
  34. })
  35. goodsList({}).then(res => {
  36. wx.hideLoading()
  37. var response = res.data
  38. var recommendIndx = 0
  39. var recommendItem = response.find((item, index) => {
  40. recommendIndx = index
  41. return item.isRecommend == true
  42. })
  43. console.log(recommendItem,recommendIndx,'recommendItem');
  44. if (recommendItem) {
  45. this.setData({
  46. activeIndex: recommendIndx,
  47. goodsId: recommendItem.goodsId,
  48. orderAmount: recommendItem.salePrice,
  49. num: recommendItem.donateNumber + recommendItem.useNumber
  50. })
  51. } else {
  52. var choseItem = response[0]
  53. this.setData({
  54. activeIndex: 0,
  55. goodsId: choseItem.goodsId,
  56. orderAmount: choseItem.salePrice,
  57. num: choseItem.donateNumber + choseItem.useNumber
  58. })
  59. }
  60. this.setData({
  61. goodsList: response
  62. })
  63. }).catch(e => {
  64. wx.hideLoading()
  65. wx.showModal({
  66. content: e,
  67. confirmColor: '#333',
  68. showCancel: false
  69. })
  70. })
  71. },
  72. handlePayType (e) {
  73. var index = Number(e.currentTarget.dataset.index)
  74. var goodsInfo = e.currentTarget.dataset.goodsinfo
  75. console.log(goodsInfo, 'goodsInfo');
  76. this.setData({
  77. activeIndex: index,
  78. goodsId: goodsInfo.goodsId,
  79. orderAmount: goodsInfo.salePrice,
  80. num: goodsInfo.donateNumber + goodsInfo.useNumber
  81. })
  82. },
  83. // 调用微信支付
  84. handleWXPay () {
  85. var data = {
  86. goodsId: this.data.goodsId,
  87. orderAmount: this.data.orderAmount,
  88. num: this.data.num
  89. }
  90. wx.showLoading({
  91. title: '加载中...',
  92. mask: true
  93. })
  94. submitOrder(data).then(res => {
  95. wx.hideLoading()
  96. // 拉起微信支付
  97. wx.requestPayment({
  98. timeStamp: res.data.timeStamp,
  99. nonceStr: res.data.nonceStr,
  100. package: res.data.packageStr,
  101. signType: res.data.signType,
  102. paySign: res.data.paySign,
  103. success (res) {
  104. wx.showToast({
  105. title: '支付成功',
  106. icon: 'success'
  107. })
  108. },
  109. fail (res) {
  110. console.log('weixin pay fail', res);
  111. }
  112. })
  113. }).catch(e => {
  114. wx.hideLoading()
  115. wx.showModal({
  116. content: e,
  117. confirmColor: '#333',
  118. showCancel: false
  119. })
  120. })
  121. },
  122. handleAppointment () {
  123. wx.navigateTo({
  124. url: '/pages/appointment/appointment',
  125. })
  126. }
  127. })