luckyDraw.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. // pages/luckyDraw/luckyDraw.js
  2. var http = require('../../../utils/http.js')
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. size: 555, //转盘大小,
  9. s_awards: '', //结果
  10. //更改数据可以更改这属性,格式要像下面这样写才行
  11. awardsConfig: {
  12. option: '', //转盘的标题名称
  13. awards: []
  14. },
  15. userAddrList: []
  16. },
  17. //接收当前转盘初始化时传来的参数
  18. getData(e) {
  19. this.setData({
  20. option: e.detail.option
  21. })
  22. },
  23. //接收当前转盘结束后的答案选项
  24. getAwards(e) {
  25. console.log(e)
  26. this.setData({
  27. s_awards: e.detail,
  28. })
  29. },
  30. //开始转动或者结束转动
  31. startZhuan(e) {
  32. this.setData({
  33. zhuanflg: e.detail ? true : false
  34. })
  35. },
  36. //切换转盘选项
  37. switchZhuanpan(e) {
  38. //当转盘停止时才执行切换转盘
  39. if (!this.data.zhuanflg) {
  40. var idx = e.currentTarget.dataset.idx,
  41. zhuanpanArr = this.data.zhuanpanArr,
  42. obj = {};
  43. for (let i in zhuanpanArr) {
  44. if (this.data.option != zhuanpanArr[i].option && zhuanpanArr[i].id == idx) {
  45. obj.option = zhuanpanArr[i].option;
  46. obj.awards = zhuanpanArr[i].awards;
  47. this.setData({
  48. awardsConfig: obj //其实默认要更改当前转盘的数据要传个这个对象,才有效果
  49. })
  50. break;
  51. }
  52. }
  53. }
  54. },
  55. //转盘声音
  56. switch1Change1(e) {
  57. var value = e.detail.value;
  58. if (this.data.zhuanflg) {
  59. wx.showToast({
  60. title: '当转盘停止转动后才有效',
  61. icon: 'none'
  62. })
  63. return;
  64. } else {
  65. this.setData({
  66. musicflg: value
  67. })
  68. }
  69. },
  70. //不重复抽取
  71. switch1Change2(e) {
  72. var value = e.detail.value;
  73. if (this.data.zhuanflg) {
  74. wx.showToast({
  75. title: '当转盘停止转动后才有效',
  76. icon: 'none'
  77. })
  78. return;
  79. } else {
  80. this.setData({
  81. repeat: value
  82. })
  83. }
  84. },
  85. //快速决定
  86. switch1Change3(e) {
  87. var value = e.detail.value;
  88. if (this.data.zhuanflg) {
  89. wx.showToast({
  90. title: '当转盘停止转动后才有效',
  91. icon: 'none'
  92. })
  93. return;
  94. } else {
  95. this.setData({
  96. fastJuedin: value
  97. })
  98. }
  99. },
  100. //概率 == 如果不重复抽取开启的话 概率是无效的
  101. switch1Change4(e) {
  102. var value = e.detail.value;
  103. if (this.data.zhuanflg) {
  104. wx.showToast({
  105. title: '当转盘停止转动后才有效',
  106. icon: 'none'
  107. })
  108. return;
  109. } else {
  110. this.setData({
  111. probability: value
  112. })
  113. }
  114. },
  115. // 获取用户积分
  116. getScore() {
  117. var params = {
  118. url: '/p/score/ScoreInfo',
  119. method: 'GET',
  120. callBack: res => {
  121. this.setData({
  122. currentScore: res.score
  123. })
  124. if (res.score < 300) {
  125. wx.showModal({
  126. title: '提示',
  127. content: '积分不足,请先赚取积分!',
  128. showCancel: false,
  129. success(res) {
  130. if (res.confirm) {
  131. wx.navigateBack({
  132. delta: 1
  133. })
  134. }
  135. }
  136. })
  137. }
  138. }
  139. }
  140. http.request(params)
  141. },
  142. /**
  143. * 生命周期函数--监听页面加载
  144. */
  145. onLoad: function (options) {
  146. },
  147. /**
  148. * 生命周期函数--监听页面初次渲染完成
  149. */
  150. onReady: function () {
  151. //实例化组件对象,这样有需要时就能调用组件内的方法
  152. this.zhuanpan = this.selectComponent("#zhuanpan");
  153. },
  154. /**
  155. * 生命周期函数--监听页面显示
  156. */
  157. onShow: function () {
  158. this.getScore()
  159. this.getUserAddr()
  160. },
  161. // 获取用户地址
  162. getUserAddr() {
  163. var params = {
  164. url: '/p/address/list',
  165. method: 'GET',
  166. data: {},
  167. callBack: res => {
  168. this.setData({
  169. userAddrList: res
  170. })
  171. if (!res.length) {
  172. wx.showModal({
  173. title: '提示',
  174. content: '请先添加收货地址',
  175. showCancel: false,
  176. success(res) {
  177. if (res.confirm) {
  178. wx.navigateTo({
  179. url: '/pages/delivery-address/delivery-address',
  180. })
  181. }
  182. }
  183. })
  184. }
  185. }
  186. }
  187. http.request(params)
  188. },
  189. /**
  190. * 生命周期函数--监听页面隐藏
  191. */
  192. onHide: function () {
  193. },
  194. /**
  195. * 生命周期函数--监听页面卸载
  196. */
  197. onUnload: function () {
  198. },
  199. /**
  200. * 页面相关事件处理函数--监听用户下拉动作
  201. */
  202. onPullDownRefresh: function () {
  203. },
  204. /**
  205. * 页面上拉触底事件的处理函数
  206. */
  207. onReachBottom: function () {
  208. },
  209. /**
  210. * 用户点击右上角分享
  211. */
  212. onShareAppMessage: function () {
  213. }
  214. })