// pages/user/index.js import dayjs from '../../utils/dayjs/index.js' import relativeTime from '../../utils/dayjs/relativeTime.js' dayjs.extend(relativeTime); import { store } from '../../utils/store.js' import { UserModel } from '../../models/user.js' let userModel = new UserModel() import { AuthModel } from '../../models/auth.js' let authModel = new AuthModel() Page({ /** * 页面的初始数据 */ data: { messageTotal: Number, canIUse: wx.canIUse('button.open-type.getUserInfo'), authType:0, reAuth:false, isAuth:false, nickName:'', avatarUrl:'', userInfo:{ type:Object, value:{} } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, onShow: function () { this.getUserInfo() }, // 授权登录 bindGetUserInfo (e) { //console.log(e.detail.userInfo) if (e.detail.userInfo){ let avatarUrl = e.detail.userInfo.avatarUrl let nickName = e.detail.userInfo.nickName this.updateUserInfo(avatarUrl,nickName) } }, // 将用户信息发送服务器 updateUserInfo (avatarUrl, nickName) { userModel.updateUserInfo(avatarUrl, nickName, res => { if(res.code === 200){ this.getUserInfo() } }) }, // 获取用户信息 getUserInfo () { userModel.getUserInfo(res => { let nickName = res.result.nickName let avatarUrl = res.result.avatarUrl if (nickName && avatarUrl){ //console.log('已授权') this.setData({ userInfo: res.result, avatarUrl: res.result.avatarUrl, nickName: res.result.nickName, reAuth: true, },()=>{ if (store.hasPhone()) { //console.log('已经绑定手机号码') this.getMsgStatus() } else { //console.log('未绑定手机号码') wx.redirectTo({ url: '/pages/register/index', }) } }) store.saveUserInfo({ nickName: res.result.nickName, avatarUrl: res.result.avatarUrl, phone: res.result.phone || '' }) } else { //console.log('未授权') this.setData({ isAuth: true }) } }) }, // 获取未读消息 getMsgStatus () { userModel.getMyMessageTotal(res => { //console.log(res.result.total) this.setData({ messageTotal: Number(res.result.total) }) }) }, // cell点击 onTapItem (e) { const { type } = e.currentTarget.dataset //console.log(type) if (type === 'myInfo'){ wx.navigateTo({ url: `/pages/user/${type}/index?userIcon=${this.data.userInfo.avatarUrl}&userName=${this.data.userInfo.nickName}&userPhone=${this.data.userInfo.phone || ''}&company=${this.data.userInfo.company || ''}&position=${this.data.userInfo.position || ''}`, }) } else { wx.navigateTo({ url: `/pages/user/${type}/index`, }) } } })