index.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. const Parse = getApp().Parse;
  2. const company = getApp().globalData.company;
  3. const getTabs = require("../../../utils/getTabs")
  4. const login = require("../../../utils/login");
  5. const dateF = require("../../../utils/date")
  6. import Toast from '@vant/weapp/toast/toast';
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. active: 0,
  13. showModel: false,
  14. isSignIn:false
  15. },
  16. /**
  17. * 生命周期函数--监听页面加载
  18. */
  19. onLoad: async function (options) {
  20. login.loginNow()
  21. this.setData({
  22. active: options?.active || 0
  23. })
  24. let list = await getTabs.getDiyTabs()
  25. this.setData({
  26. tabbarList: list
  27. })
  28. let {
  29. q,
  30. invite,
  31. groupId,
  32. path
  33. } = options
  34. let str = decodeURIComponent(q);
  35. let obj = this.getParaName(str)
  36. console.log(obj);
  37. if(path){
  38. wx.navigateTo({
  39. url: path,
  40. });
  41. }
  42. },
  43. async onChange(event) {
  44. let currentIndex = event.detail;
  45. let userInfo = wx.getStorageSync("userLogin");
  46. if (currentIndex != 0 && userInfo == '') {
  47. console.log(userInfo);
  48. login.loginNow()
  49. return
  50. }
  51. this.setData({
  52. active: currentIndex
  53. })
  54. let componentPage = this.selectComponent(`#comp${currentIndex}`)
  55. switch (currentIndex) {
  56. case 0:
  57. break;
  58. case 2:
  59. break;
  60. case 3:
  61. // componentPage.getUser()
  62. break;
  63. }
  64. },
  65. toCart() {
  66. this.setData({
  67. active: 2
  68. })
  69. },
  70. //解析二维码
  71. getParaName(url) {
  72. if (!url || url.indexOf('?') == -1) {
  73. return
  74. }
  75. let paraname = url.split('?')[1]
  76. return this.setObject(paraname) //封装成对象
  77. },
  78. setObject(paraArr) {
  79. let obj = {}
  80. let arr1 = paraArr.split('&')
  81. arr1.forEach(item => {
  82. let str = item.split('=')
  83. let key = str[0]
  84. let val = str[1]
  85. obj[key] = val
  86. })
  87. return obj
  88. },
  89. async agentParent(){
  90. if(!Parse.User.current()?.id) return
  91. wx.request({
  92. url: 'https://server.fmode.cn/api/user/agent/parent',
  93. data: {
  94. uid: Parse.User.current()?.id
  95. },
  96. header: {
  97. 'content-type': 'application/json'
  98. },
  99. method: 'POST',
  100. dataType: 'json',
  101. responseType: 'text',
  102. success: (result) => {
  103. console.log(result);
  104. },
  105. fail: () => {},
  106. complete: () => {}
  107. });
  108. },
  109. /**
  110. * 生命周期函数--监听页面初次渲染完成
  111. */
  112. onReady: function () {
  113. },
  114. /**
  115. * 生命周期函数--监听页面显示
  116. */
  117. onShow: function () {
  118. this.agentParent()
  119. this.getRenew()
  120. let {
  121. active
  122. } = this.data
  123. let componentPage = this.selectComponent(`#comp${active}`)
  124. if (!componentPage) {
  125. return
  126. }
  127. switch (active) {
  128. case 0:
  129. break;
  130. case 1:
  131. // componentPage.setData({
  132. // scate: []
  133. // })
  134. // componentPage.refresh()
  135. break;
  136. case 2:
  137. // componentPage.setData({
  138. // allCheck: false,
  139. // cartList: [],
  140. // totalPrice: 0.00,
  141. // })
  142. // componentPage.getShopcart()
  143. break;
  144. case 3:
  145. // componentPage.refresh()
  146. break;
  147. }
  148. },
  149. /* 服务器是否需要续费 */
  150. async getRenew(){
  151. let query = new Parse.Query("Company")
  152. query.select('website','expireMap')
  153. query.equalTo('objectId',company)
  154. let c = await query.first()
  155. if(c?.id && c?.get('expireMap')){
  156. let url = getApp().globalData.rootPage || getApp().globalData.defaultTabBar.list[0].pagePath
  157. //website配置且renew(续费)存在
  158. if(c.get('expireMap')?.renew && c.get('website')){
  159. wx.showModal({
  160. title: '警告',
  161. content: '当前平台服务器承载已超出阈值,请与技术人员联系。',
  162. showCancel: false,
  163. cancelText: '取消',
  164. cancelColor: '#000000',
  165. confirmText: '确定',
  166. confirmColor: '#3CC51F',
  167. success: (result) => {
  168. if(result.confirm){
  169. wx.reLaunch({
  170. url: `/common-page/pages/loading/index?url=${url}`,
  171. });
  172. }
  173. },
  174. fail: ()=>{},
  175. complete: ()=>{}
  176. });
  177. }
  178. }
  179. },
  180. /**
  181. * 生命周期函数--监听页面隐藏
  182. */
  183. onHide: function () {
  184. },
  185. /**
  186. * 生命周期函数--监听页面卸载
  187. */
  188. onUnload: function () {
  189. },
  190. /**
  191. * 页面相关事件处理函数--监听用户下拉动作
  192. */
  193. onPullDownRefresh: function () {
  194. wx.reLaunch({
  195. url: '/index',
  196. });
  197. },
  198. /**
  199. * 页面上拉触底事件的处理函数
  200. */
  201. onReachBottom: function () {
  202. },
  203. /**
  204. * 用户点击右上角分享
  205. */
  206. onShareAppMessage: function () {
  207. let uid = Parse.User.current().id
  208. return {
  209. title: '分享',
  210. // path: `index?invite=${uid}`,
  211. path: `index`,
  212. imageUrl: '',
  213. }
  214. }
  215. })