activitydetail.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. // customer/pages/activitydetail/activitydetail.js
  2. const app = getApp();
  3. const utils = require("../../../utils/http");
  4. let page = 1;
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. turntableDetail: {},
  11. imgUrl:app.globalData.imgUrl,
  12. prizesText: '',
  13. blocks: [{
  14. padding: '30px',
  15. imgs: [{
  16. src: 'https://o.nczyzs.com/xcx/ciecleground.png',
  17. width: '650rpx',
  18. height: '650rpx',
  19. rotate: true,
  20. top: '14rpx'
  21. }]
  22. }],
  23. prizes: [{
  24. fonts: [{
  25. text: '0',
  26. top: '15%'
  27. }],
  28. background: '#FFFFFF'
  29. },
  30. {
  31. fonts: [{
  32. text: '1',
  33. top: '15%'
  34. }],
  35. background: '#FFD6B1'
  36. },
  37. {
  38. fonts: [{
  39. text: '2',
  40. top: '15%'
  41. }],
  42. background: '#FFFFFF'
  43. },
  44. {
  45. fonts: [{
  46. text: '3',
  47. top: '15%'
  48. }],
  49. background: '#FFD6B1'
  50. },
  51. {
  52. fonts: [{
  53. text: '4',
  54. top: '15%'
  55. }],
  56. background: '#FFFFFF'
  57. },
  58. {
  59. fonts: [{
  60. text: '5',
  61. top: '15%'
  62. }],
  63. background: '#FFD6B1'
  64. },
  65. ],
  66. buttons: [{
  67. radius: '50px',
  68. pointer: true,
  69. imgs: [{
  70. src: 'https://o.nczyzs.com/xcx/roundcircle.png',
  71. width: '90%',
  72. top: '-115%'
  73. }],
  74. fonts: [{
  75. text: '抽奖',
  76. top: '-38rpx',
  77. fontSize: '38rpx',
  78. fontColor: '#ffffff'
  79. }, {
  80. text: '剩余3次',
  81. top: '18rpx',
  82. fontSize: '24rpx',
  83. fontColor: '#ffffff'
  84. }]
  85. }
  86. ],
  87. },
  88. start() {
  89. wx.showToast({
  90. title: '只有客户才能参与',
  91. icon: 'none'
  92. })
  93. return false;
  94. // 获取抽奖组件实例
  95. const child = this.selectComponent('#myLucky')
  96. // 调用play方法开始旋转
  97. child.$lucky.play()
  98. // 用定时器模拟请求接口
  99. setTimeout(() => {
  100. // 3s 后得到中奖索引 (假设抽到第0个奖品)
  101. const index = 0
  102. // 调用stop方法然后缓慢停止
  103. child.$lucky.stop(index)
  104. }, 3000)
  105. },
  106. end(event) {
  107. // 中奖奖品详情
  108. console.log(event.detail)
  109. },
  110. getTurntableDetail() {
  111. var that = this;
  112. utils.$post({
  113. url: app.globalData.webUrl + 'api/lottery/act_detail',
  114. header: {
  115. 'Authorization': 'bearer ' + app.globalData.token
  116. },
  117. data: {},
  118. success: function (res) {
  119. if (res.data.code == '0') {
  120. that.setsurplusCount(res.data.data.lottery_num);
  121. that.setData({
  122. turntableDetail: res.data.data,
  123. prizes: that.handleGoods(res.data.data.good),
  124. prizesText: res.data.data.good.map(v => v.good_name).join('/')
  125. })
  126. }
  127. }
  128. })
  129. },
  130. handleGoods(goodList) {
  131. let goods = goodList.map((v, i) => {
  132. return {
  133. fonts: [{
  134. text: v.good_name,
  135. top: '10%',
  136. id: v.actid,
  137. fontSize: '24rpx'
  138. }],
  139. imgs: [{
  140. src: v.good_img || 'https://o.nczyzs.com/xcx/circlegift.png',
  141. width: '50rpx',
  142. height: '50rpx',
  143. top: '50%'
  144. }],
  145. background: i % 2 == 0 ? '#FFFFFF' : '#FFD6B1',
  146. }
  147. });
  148. goods.splice(0, '', {
  149. fonts: [{
  150. text: '谢谢参与',
  151. top: '10%',
  152. id: '111',
  153. fontSize: '24rpx',
  154. }],
  155. imgs: [{
  156. src: 'https://o.nczyzs.com/xcx/circlegift.png',
  157. width: '50rpx',
  158. height: '50rpx',
  159. top: '50%'
  160. }],
  161. background: '#FFD6B1'
  162. })
  163. return goods;
  164. },
  165. /**
  166. * 设置抽奖次数
  167. * @param {*} count
  168. */
  169. setsurplusCount(count) {
  170. this.setData({
  171. buttons: [{
  172. radius: '50px',
  173. pointer: true,
  174. imgs: [{
  175. src: 'https://o.nczyzs.com/xcx/roundcircle.png',
  176. width: '90%',
  177. top: '-115%'
  178. }],
  179. fonts: [{
  180. text: '抽奖',
  181. top: '-38rpx',
  182. fontSize: '38rpx',
  183. fontColor: '#ffffff'
  184. }, {
  185. text: `剩余${count}次`,
  186. top: '18rpx',
  187. fontSize: '24rpx',
  188. fontColor: '#ffffff'
  189. }]
  190. }
  191. ],
  192. })
  193. },
  194. /**
  195. * 抽奖客户
  196. */
  197. lotteryClient() {
  198. wx.navigateTo({
  199. url: '/pages/other/other?type=29&actid=' + this.data.turntableDetail.id,
  200. })
  201. },
  202. /**
  203. * 我的中奖客户
  204. */
  205. winningClient() {
  206. wx.showToast({
  207. title: '只有客户才能查看',
  208. icon: 'none'
  209. })
  210. },
  211. /**
  212. * 员工转发活动记录
  213. */
  214. shareCountRecord() {
  215. var that = this;
  216. utils.$post({
  217. url: app.globalData.webUrl + 'api/lottery/act_forward_log',
  218. header: {
  219. 'Authorization': 'bearer ' + app.globalData.token
  220. },
  221. data: {
  222. actid: that.data.turntableDetail.id
  223. },
  224. success: function (res) {
  225. if (res.data.code == '0') {
  226. console.log('成功')
  227. }
  228. }
  229. })
  230. },
  231. /**
  232. * 生命周期函数--监听页面加载
  233. */
  234. onLoad(options) {
  235. this.setData({
  236. imgUrl:app.globalData.imgUrl
  237. })
  238. this.getTurntableDetail();
  239. },
  240. /**
  241. * 生命周期函数--监听页面初次渲染完成
  242. */
  243. onReady() {
  244. },
  245. /**
  246. * 生命周期函数--监听页面显示
  247. */
  248. onShow() {
  249. },
  250. /**
  251. * 生命周期函数--监听页面隐藏
  252. */
  253. onHide() {
  254. },
  255. /**
  256. * 生命周期函数--监听页面卸载
  257. */
  258. onUnload() {
  259. },
  260. /**
  261. * 页面相关事件处理函数--监听用户下拉动作
  262. */
  263. onPullDownRefresh() {
  264. },
  265. /**
  266. * 页面上拉触底事件的处理函数
  267. */
  268. onReachBottom() {
  269. },
  270. /**
  271. * 用户点击右上角分享
  272. */
  273. onShareAppMessage() {
  274. this.shareCountRecord();
  275. let uid = app.globalData.currentUserId ? app.globalData.currentUserId : app.globalData.personMsg.id;
  276. return {
  277. title: this.data.turntableDetail.title,
  278. imageUrl: '',
  279. path: '/share/pages/activity/activity?uid=' + uid + '&clientype=' + app.globalData.clientype + '&actid=' + this.data.turntableDetail.id,
  280. };
  281. }
  282. })