buy.js 3.4 KB

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