bayi пре 2 година
родитељ
комит
a6f29b361d
4 измењених фајлова са 222 додато и 245 уклоњено
  1. 35 33
      api/user.js
  2. 157 157
      pages/index/index.js
  3. 22 49
      pages/invite/index.js
  4. 8 6
      pages/invite/index.wxml

+ 35 - 33
api/user.js

@@ -1,38 +1,40 @@
 import {
-  request
+    request
 } from "../utils/request";
 
 module.exports = {
-  // 用户登录
-  userLogin: data => request('/user/openId', 'get', data),
-  // 统计用户登录
-  loginLog: data => request('/loginLog', 'post', data),
-  //获取他人用户信息,
-  getUserInfo: data => request('/user/info', 'get', data),
-  //获取用户信息
-  getMyInfo: data => request('/v3/user/my', 'get', data),
-  // 设置用户信息
-  setUserInfo: (data, method = 'post') => request('/user', method, data),
-  // 兑换激活码
-  getLearnCard: data => request('/v3/learnCard/exchange', 'get', data, false, false),
-  // 购买vip
-  buyVip: data => request('/order', 'post', data, true),
-  //获取是否vip及过期时间
-  getVipInfo: data => request('/auth', 'get', data),
-  //获取自己朗读的作品
-  getSelfRead: data => request('/userRead/my', 'get', data),
-  //获取其他用户朗读的作品
-  getUserRead: data => request('/userRead', 'get', data),
-  // 获取用户关注列表 type:1我的关注;2我的粉丝 ;3相互关注
-  getFansList: data => request('/fans/myFriend', 'get', data),
-  // 加关注请求类型为post,取消关注为put
-  setFans: (data, method = 'post') => request('/fans', method, data),
-  // 搜索用户
-  getOtherUser: data => request('/v3/user/query', 'get', data),
-  // 获取收藏列表
-  getFavoritesList: data => request('/favorites', 'get', data),
-  // 用code获取手机号
-  exchangePhone: data => request('/v3/user/phoneNumber', 'get', data),
-  // 绑定手机号
-  bindPhone: data => request('/v3/user/bindMobile', 'post', data),
+    // 用户登录
+    userLogin: data => request('/user/openId', 'get', data),
+    // 统计用户登录
+    loginLog: data => request('/loginLog', 'post', data),
+    //获取他人用户信息,
+    getUserInfo: data => request('/user/info', 'get', data),
+    //获取用户信息
+    getMyInfo: data => request('/v3/user/my', 'get', data),
+    // 设置用户信息
+    setUserInfo: (data, method = 'post') => request('/user', method, data),
+    // 兑换激活码
+    getLearnCard: data => request('/v3/learnCard/exchange', 'get', data, false, false),
+    // 购买vip
+    buyVip: data => request('/order', 'post', data, true),
+    //获取是否vip及过期时间
+    getVipInfo: data => request('/auth', 'get', data),
+    //获取自己朗读的作品
+    getSelfRead: data => request('/userRead/my', 'get', data),
+    //获取其他用户朗读的作品
+    getUserRead: data => request('/userRead', 'get', data),
+    // 获取用户关注列表 type:1我的关注;2我的粉丝 ;3相互关注
+    getFansList: data => request('/fans/myFriend', 'get', data),
+    // 加关注请求类型为post,取消关注为put
+    setFans: (data, method = 'post') => request('/fans', method, data),
+    // 搜索用户
+    getOtherUser: data => request('/v3/user/query', 'get', data),
+    // 获取收藏列表
+    getFavoritesList: data => request('/favorites', 'get', data),
+    // 用code获取手机号
+    exchangePhone: data => request('/v3/user/phoneNumber', 'get', data),
+    // 绑定手机号
+    bindPhone: data => request('/v3/user/bindMobile', 'post', data),
+    // 获取邀请的用户列表
+    getInviteList: data => request('/v3/user/invite', 'get', data),
 }

+ 157 - 157
pages/index/index.js

@@ -1,176 +1,176 @@
 const app = getApp()
 import {
-  getHotrecommendList,
-  getAuthorityList,
-  getCategoryList
+    getHotrecommendList,
+    getAuthorityList,
+    getCategoryList
 } from "~/api/works"
 import {
-  getBannerList
+    getBannerList
 } from '~/api/global'
 import reachBottom from '~/mixins/reachBottom'
 import share from '~/mixins/share'
 import {
-  createStoreBindings
+    createStoreBindings
 } from 'mobx-miniprogram-bindings'
 import {
-  store
+    store
 } from '~/store/index'
 Page({
-  behaviors: [reachBottom, share],
-  data: {
-    navBarHeight: app.globalData.navBarHeight,
-    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
-    currentType: '2',
-    // 控制一级分类是否固定
-    isFixed: false,
-    desktopTips: app.globalData.desktopTips,
-    isIOS: app.globalData.isIOS,
-    categoryList: [],
-    bannerList: []
-  },
-  onLoad() {
-    this.getLocUserInfo()
-    if (Object.keys(this.data.userInfo).length > 0) {
-      this.requestAgain()
-    } else {
-      getApp().callBack = (res) => {
+    behaviors: [reachBottom, share],
+    data: {
+        navBarHeight: app.globalData.navBarHeight,
+        background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
+        currentType: '2',
+        // 控制一级分类是否固定
+        isFixed: false,
+        desktopTips: app.globalData.desktopTips,
+        isIOS: app.globalData.isIOS,
+        categoryList: [],
+        bannerList: []
+    },
+    onLoad() {
         this.getLocUserInfo()
-        this.requestAgain()
-      }
-    }
-    let {
-      desktopTips
-    } = app.globalData
-    if (desktopTips) {
-      setTimeout(() => {
+        if (Object.keys(this.data.userInfo).length > 0) {
+            this.requestAgain()
+        } else {
+            getApp().callBack = (res) => {
+                this.getLocUserInfo()
+                this.requestAgain()
+            }
+        }
+        let {
+            desktopTips
+        } = app.globalData
+        if (desktopTips) {
+            setTimeout(() => {
+                this.setData({
+                    desktopTips: false
+                })
+                wx.setStorage({
+                    key: "preDesktopTime",
+                    data: new Date()
+                })
+            }, 6000)
+        }
+    },
+    onShow() {
+        /*  if (typeof this.getTabBar === 'function') {
+           this.getTabBar().setData({
+             selected: 0
+           })
+         } */
+    },
+    onUnload() {
+        this.storeBindings.destroyStoreBindings()
+    },
+    onReachBottom() {
+        this.loadMore()
+    },
+    async getLocUserInfo() {
+        this.storeBindings = createStoreBindings(this, {
+            store,
+            fields: {
+                userInfo: 'userInfo'
+            },
+        })
+        this.storeBindings.updateStoreBindings()
+    },
+    async loadMore() {
+        if (!this.data.userInfo.grade) {
+            return
+        }
+        if (this.data.currentType == '2') {
+            this.localGetData(getHotrecommendList, {
+                grade: this.data.userInfo.grade
+            })
+        } else if (this.data.currentType == '1') {
+            let list = await getAuthorityList({
+                grade: this.data.userInfo.grade
+            })
+            this.setData({
+                list
+            })
+        }
+    },
+    jumpChildClassify({
+        currentTarget
+    }) {
+        let firstInfo = currentTarget.dataset.item
+        let params = firstInfo.childList.length > 0 ? `list=${encodeURIComponent(JSON.stringify(firstInfo.childList))}` : `id=${firstInfo.id}`
+        wx.navigateTo({
+            url: `/pages/childClassify/index?type=class&title=${firstInfo.title}&${params}`,
+        })
+    },
+    jumpSearch() {
+        wx.navigateTo({
+            url: '/pages/childClassify/index?type=search',
+        })
+    },
+    /**
+     * 监听页面滚动事件
+     */
+    onPageScroll(e) {
+        if (e.scrollTop >= 103 && !this.data.isFixed) {
+            this.setData({
+                isFixed: true
+            })
+        } else if (e.scrollTop < 103 && this.data.isFixed) {
+            this.setData({
+                isFixed: false
+            })
+        }
+    },
+    async getCategoryList() {
+        let grade = this.data.userInfo.grade
+        let categoryList = await getCategoryList({
+            grade
+        })
         this.setData({
-          desktopTips: false
+            categoryList
+        })
+    },
+    closeDesktop() {
+        this.setData({
+            desktopTips: false
         })
         wx.setStorage({
-          key: "preDesktopTime",
-          data: new Date()
+            key: "preDesktopTime",
+            data: new Date()
+        })
+    },
+    async getBannerList() {
+        let bannerList = await getBannerList({
+            grade: this.data.userInfo.grade,
+        })
+        this.setData({
+            bannerList,
         })
-      }, 6000)
-    }
-  },
-  onShow() {
-    /*  if (typeof this.getTabBar === 'function') {
-       this.getTabBar().setData({
-         selected: 0
-       })
-     } */
-  },
-  onUnload() {
-    this.storeBindings.destroyStoreBindings()
-  },
-  onReachBottom() {
-    this.loadMore()
-  },
-  async getLocUserInfo() {
-    this.storeBindings = createStoreBindings(this, {
-      store,
-      fields: {
-        userInfo: 'userInfo'
-      },
-    })
-    this.storeBindings.updateStoreBindings()
-  },
-  async loadMore() {
-    if (!this.data.userInfo.grade) {
-      return
-    }
-    if (this.data.currentType == '2') {
-      this.localGetData(getHotrecommendList, {
-        grade: this.data.userInfo.grade
-      })
-    } else if (this.data.currentType == '1') {
-      let list = await getAuthorityList({
-        grade: this.data.userInfo.grade
-      })
-      this.setData({
-        list
-      })
-    }
-  },
-  jumpChildClassify({
-    currentTarget
-  }) {
-    let firstInfo = currentTarget.dataset.item
-    let params = firstInfo.childList.length > 0 ? `list=${encodeURIComponent(JSON.stringify(firstInfo.childList))}` : `id=${firstInfo.id}`
-    wx.navigateTo({
-      url: `/pages/childClassify/index?type=class&title=${firstInfo.title}&${params}`,
-    })
-  },
-  jumpSearch() {
-    wx.navigateTo({
-      url: '/pages/childClassify/index?type=search',
-    })
-  },
-  /**
-   * 监听页面滚动事件
-   */
-  onPageScroll(e) {
-    if (e.scrollTop >= 103 && !this.data.isFixed) {
-      this.setData({
-        isFixed: true
-      })
-    } else if (e.scrollTop < 103 && this.data.isFixed) {
-      this.setData({
-        isFixed: false
-      })
-    }
-  },
-  async getCategoryList() {
-    let grade = this.data.userInfo.grade
-    let categoryList = await getCategoryList({
-      grade
-    })
-    this.setData({
-      categoryList
-    })
-  },
-  closeDesktop() {
-    this.setData({
-      desktopTips: false
-    })
-    wx.setStorage({
-      key: "preDesktopTime",
-      data: new Date()
-    })
-  },
-  async getBannerList() {
-    let bannerList = await getBannerList({
-      grade: this.data.userInfo.grade,
-    })
-    this.setData({
-      bannerList,
-    })
-  },
-  requestAgain() {
-    this.resetData()
-    this.getCategoryList()
-    this.getBannerList()
-    if (this.data.currentType == 7) {
-      this.selectComponent('#activityList').getActivities()
-    }
-  },
-  selectType({
-    target
-  }) {
-    if (target.dataset.type) {
-      if (this.selectComponent('#worksList')) {
-        this.selectComponent('#worksList').resetAudio()
-      }
-      this.setData({
-        currentType: target.dataset.type,
-        list: [],
-      })
-      if (target.dataset.type != '7') {
+    },
+    requestAgain() {
         this.resetData()
-      }
-    }
-  },
-  onUnload() {
-    this.storeBindings.destroyStoreBindings()
-  },
+        this.getCategoryList()
+        this.getBannerList()
+        if (this.data.currentType == 7) {
+            this.selectComponent('#activityList').getActivities()
+        }
+    },
+    selectType({
+        target
+    }) {
+        if (target.dataset.type) {
+            if (this.selectComponent('#worksList')) {
+                this.selectComponent('#worksList').resetAudio()
+            }
+            this.setData({
+                currentType: target.dataset.type,
+                list: [],
+            })
+            if (target.dataset.type != '7') {
+                this.resetData()
+            }
+        }
+    },
+    onUnload() {
+        this.storeBindings.destroyStoreBindings()
+    },
 })

+ 22 - 49
pages/invite/index.js

@@ -1,69 +1,42 @@
-// pages/invite/index.js
+import {
+    getInviteList
+} from '~/api/user'
 Page({
 
     /**
      * 页面的初始数据
      */
     data: {
-        count: 50
+        list: [],
+        count: 0
     },
 
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
-
+    async onShow() {
+        let {
+            list
+        } = await getInviteList({
+            pageSize: 9999
+        })
+        this.setData({
+            list,
+            count: list.length
+        })
+        console.log(list);
     },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh() {
-
+    showTranscript() {
+        this.selectComponent("#popUp").showModal()
     },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom() {
-
+    closeTranscript() {
+        this.selectComponent("#popUp").hideModal()
     },
-
     /**
      * 用户点击右上角分享
      */
     onShareAppMessage() {
+        const user = wx.getStorageSync('user');
         return {
             title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
-            path: '/pages/index/index',
+            path: `/pages/index/index?uid=${user.uid}`,
             imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/learn/50fdd9225ae9b8c71a541981f2c46b95.png'
         }
     }

+ 8 - 6
pages/invite/index.wxml

@@ -1,3 +1,5 @@
+<wxs src="../../utils/filter.wxs" module="filters" />
+
 <view class="invite">
     <image src="http://reader-wx.ai160.com/images/reader/v3/learn/yxbg.png" class='headerBg' />
     <view class="progressBox">
@@ -197,16 +199,16 @@
     <view class="popBox">
         <view class="header">
             成绩单
-            <image src="/static/lollipop.png" class="close"  bindtap="closeTranscript"/>
+            <image src="/static/lollipop.png" class="close" bindtap="closeTranscript" />
         </view>
         <scroll-view scroll-y="true" class="list" enhanced show-scrollbar='{{false}}'>
-            <view class="item" wx:for="{{20}}" wx:key="index">
+            <view class="item" wx:for="{{list}}" wx:key="eid">
                 <view class="left">
-                    <view class="num">{{index}}</view>
-                    <image src="/static/concern.png" class="avatar" />
-                    <view class="nickName textOver">郑茜郑茜娅郑茜娅娅</view>
+                    <view class="num">{{index+1}}</view>
+                    <image src="{{item.avatar}}" class="avatar" />
+                    <view class="nickName textOver">{{item.nickName||item.eid}}</view>
                 </view>
-                <view class="time">2023.04.13 21:12:21</view>
+                <view class="time">{{filters.formatDate(item.gmtCreated,1)}}</view>
             </view>
             <button class="resetBtn" open-type="share">
                 <image src="/static/yqb.png" class="inviteBtn" />