index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import {
  2. getUserInfo,
  3. getVipInfo
  4. } from '~/api/user'
  5. import {
  6. getProducts,
  7. getTasks,
  8. submitTask
  9. } from '~/api/global'
  10. import {
  11. getOpenidNoLogin
  12. } from '~/utils/httpUtilNoLogin';
  13. const app = getApp()
  14. Page({
  15. data: {
  16. userInfo: {},
  17. vipTime: '',
  18. isIos: false,
  19. tasks: [],
  20. // isIos: app.globalData.isIOS,
  21. productNum: {},
  22. productVip: {}
  23. },
  24. onLoad() {
  25. this.getProducts()
  26. /* app.watch(() => {
  27. console.log('执行了');
  28. this.getProducts()
  29. this.setUserInfo()
  30. }) */
  31. },
  32. async onShow() {
  33. let uid = wx.getStorageSync('uid') || ''
  34. // 没登陆先走静默登录,登录后直接获取用户信息
  35. /* if (uid) {
  36. this.setUserInfo()
  37. } */
  38. if (!uid) {
  39. getOpenidNoLogin(async () => {
  40. this.setUserInfo()
  41. })
  42. } else {
  43. this.setUserInfo()
  44. }
  45. },
  46. // 设置用户信息及vip状态和任务完成情况
  47. async setUserInfo() {
  48. let userInfo = await getUserInfo()
  49. let vipTime = await getVipInfo()
  50. this.getTasks()
  51. this.setData({
  52. userInfo,
  53. vipTime,
  54. })
  55. console.log(userInfo);
  56. // 如果用户没有头像及昵称的话就提醒获取
  57. if (!userInfo.user.avatar && !userInfo.user.wechatName) {
  58. wx.navigateTo({
  59. url: `/pages/login/login`
  60. });
  61. }
  62. },
  63. async getTasks() {
  64. let tasks = await getTasks()
  65. this.setData({
  66. tasks
  67. })
  68. },
  69. async getProducts() {
  70. let products = await getProducts()
  71. let productVip = products.find(item => {
  72. return item.type == 1
  73. })
  74. let productNum = products.find(item => {
  75. return item.type == 2
  76. })
  77. console.log(products);
  78. this.setData({
  79. productNum,
  80. productVip
  81. })
  82. },
  83. // 支付
  84. toPay({
  85. currentTarget
  86. }) {
  87. let type = currentTarget.dataset.type
  88. },
  89. // 提交任务
  90. async submitTask({
  91. currentTarget
  92. }) {
  93. let id = currentTarget.dataset.type
  94. await submitTask({
  95. id
  96. })
  97. wx.showToast({
  98. title: id == '1' ? '签到成功!' : id == 3 ? "观看成功!" : "",
  99. icon: "none"
  100. })
  101. this.getTasks()
  102. },
  103. jump({
  104. currentTarget
  105. }) {
  106. let url = currentTarget.dataset.url
  107. wx.navigateTo({
  108. url: url
  109. });
  110. },
  111. switcher({
  112. currentTarget
  113. }) {
  114. wx.reLaunch({
  115. url: `/pages/index/index?tabbarIndx=${currentTarget.dataset.index}`
  116. });
  117. },
  118. // 调起广告
  119. rewardedVideo() {
  120. if (this.data.tasks.length != 3 || this.data.tasks[2].completed) {
  121. return
  122. }
  123. this.selectComponent('#advert').rewardedVideo();
  124. },
  125. /* showShare() {
  126. this.selectComponent('#shareSelect').showModal()
  127. }, */
  128. // 分享配置
  129. onShareAppMessage: function (res) {
  130. const user = wx.getStorageSync('user');
  131. console.log(`/pages/index/index?sid=${user.uid}`);
  132. return {
  133. title: `邀请你一起来朗读课文`,
  134. path: `/pages/index/index?uid=${user.uid}`,
  135. imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/shareContent.png'
  136. }
  137. },
  138. })