index.js 9.2 KB

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