signup.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. // pages/user/user.js
  2. const app = getApp()
  3. var host = app.globalData.host;
  4. const $api = require('../../utils/api.js').API;
  5. import md5 from '../../utils/md5.js';//支付页面引入md5.js
  6. var logindata={}
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. info: {},
  13. index:-1,
  14. type:'',
  15. phone:'',
  16. phcode:'',
  17. text:'获取验证码'
  18. },
  19. /**
  20. * 生命周期函数--监听页面加载
  21. */
  22. onLoad: function (options) {
  23. this.setData({
  24. type:options.type
  25. })
  26. $api.getsignup().then(res=>{
  27. this.setData({
  28. info:res.data.data
  29. })
  30. })
  31. },
  32. bindChange(e) {
  33. let match=this.data.info.groups;
  34. this.setData({
  35. index: e.detail.value,
  36. match_group: match[e.detail.value].id
  37. })
  38. },
  39. getcode(){
  40. if(this.data.phone.length>=11){
  41. $api.sendcode({phone:this.data.phone}).then(res=>{
  42. this.countdown()
  43. })
  44. }else{
  45. wx.showToast({
  46. icon: 'none',
  47. title: '请输入正确的手机号',
  48. })
  49. }
  50. },
  51. countdown(){
  52. var count=60,_this=this;
  53. var timer=setInterval(c,1000)
  54. function c(){
  55. if(count>0){
  56. count--;
  57. _this.setData({
  58. text:count+"s重新发送"
  59. })
  60. }else{
  61. _this.setData({
  62. text:'获取验证码'
  63. })
  64. clearInterval(timer)
  65. }
  66. }
  67. },
  68. inputchange(e) {
  69. this.setData({
  70. phone: e.detail.value
  71. })
  72. },
  73. codechange(e) {
  74. this.setData({
  75. phcode: e.detail.value
  76. })
  77. },
  78. post(){
  79. var data={
  80. signup_type:this.data.type,
  81. total_fee:this.data.info.viewer_price,
  82. phone:this.data.phone,
  83. phcode:this.data.phcode,
  84. match_group:this.data.match_group,
  85. match_id:this.data.info.id,
  86. match_name:this.data.info.name
  87. }
  88. if(this.data.type == 2){
  89. data.total_fee=this.data.info.player_price
  90. }
  91. if (!data.match_group) {
  92. wx.showToast({
  93. icon: 'none',
  94. title: '请选择比赛分组',
  95. })
  96. return
  97. }
  98. if (data.phone.length<11){
  99. wx.showToast({
  100. icon: 'none',
  101. title: '请输入正确的手机号',
  102. })
  103. return
  104. }
  105. if (!data.phcode) {
  106. wx.showToast({
  107. icon: 'none',
  108. title: '请输入验证码',
  109. })
  110. return
  111. }
  112. $api.wxpay(data).then(res=>{
  113. var timestamp = Math.round(new Date().getTime() / 1000).toString();
  114. var paySign = md5('appId=' + res.data.data.appid + '&nonceStr=' + res.data.data.nonce_str + '&package=prepay_id=' + res.data.data.prepay_id + '&signType=MD5&timeStamp=' + timestamp + '&key=' + res.data.data.key).toUpperCase();
  115. console.log(paySign)
  116. wx.requestPayment({
  117. timeStamp: timestamp,
  118. nonceStr: res.data.data.nonce_str,
  119. package: 'prepay_id=' + res.data.data.prepay_id,
  120. signType: 'MD5',
  121. paySign: paySign,
  122. success(res) {
  123. wx.showToast({
  124. title: '报名成功',
  125. })
  126. wx.switchTab({
  127. url: '../index/index'
  128. });
  129. },
  130. fail(res) { console.log(res)}
  131. })
  132. })
  133. },
  134. /**
  135. * 生命周期函数--监听页面初次渲染完成
  136. */
  137. onReady: function () {
  138. },
  139. /**
  140. * 生命周期函数--监听页面显示
  141. */
  142. onShow: function () {
  143. },
  144. /**
  145. * 生命周期函数--监听页面隐藏
  146. */
  147. onHide: function () {
  148. },
  149. /**
  150. * 生命周期函数--监听页面卸载
  151. */
  152. onUnload: function () {
  153. },
  154. /**
  155. * 页面相关事件处理函数--监听用户下拉动作
  156. */
  157. onPullDownRefresh: function () {
  158. },
  159. /**
  160. * 页面上拉触底事件的处理函数
  161. */
  162. onReachBottom: function () {
  163. },
  164. /**
  165. * 用户点击右上角分享
  166. */
  167. onShareAppMessage: function () {
  168. }
  169. })