index.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. import {
  2. getInviteList
  3. } from '~/api/user'
  4. Page({
  5. data: {
  6. list: [{
  7. num: 1,
  8. top: -60,
  9. left: 428
  10. }, {
  11. num: 2,
  12. top: 230,
  13. left: 274
  14. }, {
  15. num: 3,
  16. top: 580,
  17. left: 224
  18. }, {
  19. num: 4,
  20. top: 770,
  21. left: 570
  22. }, {
  23. num: 5,
  24. top: 856,
  25. left: 360
  26. }, {
  27. num: 6,
  28. top: 1194,
  29. left: 140
  30. }, {
  31. num: 7,
  32. top: 1194,
  33. left: 460
  34. }, {
  35. num: 8,
  36. top: 1466,
  37. left: 140
  38. }, {
  39. num: 9,
  40. top: 1466,
  41. left: 460
  42. }, {
  43. num: 10,
  44. top: 1740,
  45. left: 140
  46. }, {
  47. num: 11,
  48. top: 2088,
  49. left: 140
  50. }, {
  51. num: 12,
  52. top: 2088,
  53. left: 460
  54. }, {
  55. num: 13,
  56. top: 2360,
  57. left: 140
  58. }, {
  59. num: 14,
  60. top: 2360,
  61. left: 460
  62. }, {
  63. num: 15,
  64. top: 2636,
  65. left: 460
  66. }, {
  67. num: 16,
  68. top: 3036,
  69. left: 140
  70. }, {
  71. num: 17,
  72. top: 3036,
  73. left: 460
  74. }, {
  75. num: 18,
  76. top: 3310,
  77. left: 140
  78. }, {
  79. num: 19,
  80. top: 3310,
  81. left: 460
  82. }, {
  83. num: 20,
  84. top: 3580,
  85. left: 140
  86. }, {
  87. num: 21,
  88. top: 3580,
  89. left: 460
  90. }, {
  91. num: 22,
  92. top: 3852,
  93. left: 140
  94. }, {
  95. num: 23,
  96. top: 3852,
  97. left: 460
  98. }, {
  99. num: 24,
  100. top: 4126,
  101. left: 140
  102. }, {
  103. num: 25,
  104. top: 4126,
  105. left: 460
  106. }, {
  107. num: 26,
  108. top: 4396,
  109. left: 140
  110. }, {
  111. num: 27,
  112. top: 4396,
  113. left: 460
  114. }, {
  115. num: 28,
  116. top: 4670,
  117. left: 140
  118. }, {
  119. num: 29,
  120. top: 4670,
  121. left: 460
  122. }, {
  123. num: 30,
  124. top: 4944,
  125. left: 460
  126. }, {
  127. num: 31,
  128. top: 5332,
  129. left: 140
  130. }, {
  131. num: 32,
  132. top: 5332,
  133. left: 460
  134. }, {
  135. num: 33,
  136. top: 5604,
  137. left: 140
  138. }, {
  139. num: 34,
  140. top: 5604,
  141. left: 460
  142. }, {
  143. num: 35,
  144. top: 5878,
  145. left: 140
  146. }, {
  147. num: 36,
  148. top: 5878,
  149. left: 460
  150. }, {
  151. num: 37,
  152. top: 6148,
  153. left: 140
  154. }, {
  155. num: 38,
  156. top: 6148,
  157. left: 460
  158. }, {
  159. num: 39,
  160. top: 6418,
  161. left: 140
  162. }, {
  163. num: 40,
  164. top: 6418,
  165. left: 460
  166. }, {
  167. num: 41,
  168. top: 6692,
  169. left: 140
  170. }, {
  171. num: 42,
  172. top: 6692,
  173. left: 460
  174. }, {
  175. num: 43,
  176. top: 6960,
  177. left: 140
  178. }, {
  179. num: 44,
  180. top: 6960,
  181. left: 460
  182. }, {
  183. num: 45,
  184. top: 7284,
  185. left: 140
  186. }, {
  187. num: 46,
  188. top: 7284,
  189. left: 460
  190. }, {
  191. num: 47,
  192. top: 7554,
  193. left: 140
  194. }, {
  195. num: 48,
  196. top: 7554,
  197. left: 460
  198. }, {
  199. num: 49,
  200. top: 7828,
  201. left: 140
  202. }, {
  203. num: 50,
  204. top: 7828,
  205. left: 460
  206. }, {
  207. num: 51,
  208. top: 8100,
  209. left: 140
  210. }, {
  211. num: 52,
  212. top: 8100,
  213. left: 460
  214. }, {
  215. num: 53,
  216. top: 8372,
  217. left: 140
  218. }, {
  219. num: 54,
  220. top: 8372,
  221. left: 460
  222. }, {
  223. num: 55,
  224. top: 8642,
  225. left: 140
  226. }, {
  227. num: 56,
  228. top: 8642,
  229. left: 460
  230. }, {
  231. num: 57,
  232. top: 8912,
  233. left: 140
  234. }, {
  235. num: 58,
  236. top: 8912,
  237. left: 460
  238. }, {
  239. num: 59,
  240. top: 9120,
  241. left: 300
  242. }, {
  243. num: 60,
  244. top: 9422,
  245. left: 440
  246. }],
  247. treasureList: [{
  248. id: 2,
  249. num: 1,
  250. text: '加油!继续挑战第2关',
  251. text2: '你的成绩会被记录在排行榜上哦! 快来展示你的实力吧!',
  252. close: '/static/2t.png',
  253. open: '/static/2t-2.png',
  254. top: 310,
  255. left: -10
  256. }, {
  257. id: 5,
  258. num: 2,
  259. text: '再接再厉!通往下一关!',
  260. close: '/static/5.png',
  261. open: '/static/5-2.png',
  262. top: 840,
  263. left: 20
  264. }, {
  265. id: 10,
  266. num: 3,
  267. text: '挑战更高级难度!赢取更多奖励',
  268. close: '/static/10.png',
  269. open: '/static/10-2.png',
  270. top: 1736,
  271. left: 510
  272. }, {
  273. id: 15,
  274. num: 4,
  275. text: '保持冷静,一步一个脚印!',
  276. close: '/static/15.png',
  277. open: '/static/15-2.png',
  278. top: 2632,
  279. left: 26
  280. }, {
  281. id: 30,
  282. num: 5,
  283. text: '全力以赴,冲刺胜利!',
  284. text2: '不要气馁,坚持到底就能成功通关!',
  285. close: '/static/30.png',
  286. open: '/static/30-2.png',
  287. top: 4924,
  288. left: 16
  289. }],
  290. count: 0,
  291. state: false,
  292. modelInfo: {
  293. title: '',
  294. text: '',
  295. text2: ''
  296. }
  297. },
  298. async onLoad() {
  299. let {
  300. list
  301. } = await getInviteList({
  302. pageSize: 9999
  303. })
  304. this.setData({
  305. count: list.length
  306. })
  307. if (this.data.count > 2) {
  308. wx.pageScrollTo({
  309. selector: `#p${this.data.count<60?this.data.count-1:60}`,
  310. duration: 800
  311. })
  312. }
  313. },
  314. openTips({
  315. currentTarget
  316. }) {
  317. let info = currentTarget.dataset.info
  318. this.setData({
  319. state: true,
  320. modelInfo: this.data.count >= 60 ? {
  321. title: '恭喜,冲关成功!',
  322. text: '您展现了非凡的实力和毅力,获得SVIP终身会员',
  323. text2: '也期待着您未来的更多精彩表现!'
  324. } : info.id <= this.data.count ? {
  325. title: `恭喜,您已通关第${info.num}关`,
  326. text: info.text,
  327. text2: info.text2
  328. } : {
  329. title: '加油!冲关!',
  330. text: '保持积极的态度和努力的精神, 相信您可以顺利完成后面的关卡',
  331. text2: '展示您的实力吧!🏆'
  332. }
  333. })
  334. },
  335. applyOr({
  336. currentTarget
  337. }) {
  338. if (this.data.count < currentTarget.dataset.num) {
  339. this.setData({
  340. state: true,
  341. modelInfo: {
  342. title: '加油!冲关!',
  343. text: '保持积极的态度和努力的精神, 相信您可以顺利完成后面的关卡',
  344. text2: '展示您的实力吧!🏆'
  345. }
  346. })
  347. }
  348. },
  349. closeMediaBox() {
  350. this.setData({
  351. state: false
  352. })
  353. },
  354. jumpIntro({
  355. currentTarget
  356. }) {
  357. let iconDetail = currentTarget.dataset.icondetail
  358. if (iconDetail) {
  359. wx.navigateTo({
  360. url: `/pages/rankIntro/index?img=${iconDetail}`,
  361. })
  362. }
  363. },
  364. jumpRanking() {
  365. wx.navigateTo({
  366. url: '/pages/inviteRanking/index',
  367. })
  368. },
  369. /**
  370. * 用户点击右上角分享
  371. */
  372. onShareAppMessage() {
  373. const user = wx.getStorageSync('user');
  374. return {
  375. title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
  376. path: `/pages/index/index?uid=${user.uid}`,
  377. imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
  378. }
  379. }
  380. })