/*首页*/ var strophe = require('../../utils/strophe.js') var WebIM = require('../../utils/WebIM.js').default // 网络请求工具类 var networkUtil = require('../../utils/network_util.js') var api = require('../../utils/apiFile.js') // 数字类数据处理 var numberUtil = require('../../utils/numberUtil.js') var util = require('../../utils/util.js') // 事件监听 var event = require('../../utils/event.js') // 获取应用实例 var app = getApp() var timeCount = 60; var timer; var phone; var name; Page({ /*---------属性变量--------*/ data: { isLogin: '', item_big_height: 0, item_small: 0, // 首页类型 1登录 2用户首页 3欢迎页 pageType: 0, time: '0s', list:[], userInfo:'' }, /*---------生命周期--------*/ onLoad: function () { this.calculatePageSize() var isFirst = wx.getStorageSync('isFirst') // 网络监听 this.networkStatusChange() if (!isFirst) { wx.setStorageSync('isFirst', 'isFirst') this.welcomePage() } else { if (app.globalData.token == null || app.globalData.token == '') { this.toLogin() console.log('登录页面--') } else { console.log('shouye页面--') networkUtil.showLoading() this.homePage() // 监听事件 event.on('likeChanged', this, function (data) { if (data.categoryIndex == -1) { var artList = this.data.crisisCategorie artList[data.articleIdIndex].likeCount++ this.setData({ crisisCategorie: artList }); } else { var artList = this.data.articleList artList[data.categoryIndex].article[data.articleIdIndex].likeCount++ this.setData({ articleList: artList }); } }) } } }, onUnload: function () { // 移除监听 event.remove('likeChanged', this); }, /*---------交互--------*/ // 下拉刷新回调接口 onPullDownRefresh: function () { if (app.globalData.token == null || app.globalData.token == '') { wx.stopPullDownRefresh() return } // 网络请求,重新请求一遍数据 this.homePage() }, // 点击头像 tapAvatar: function () { var that = this wx.showActionSheet({ itemList: ['退出当前用户'], success: function (res) { if (res.tapIndex == 0) { wx.setStorageSync('userToken', '') wx.setStorageSync('userId', '') getApp().globalData.token = '' getApp().globalData.userId = '' that.toLogin() } }, fail: function (res) { console.log(res.errMsg) } }) }, /*---------自定义函数--------*/ homePage() { var that = this this.requestHomeInfo() that.setData({ pageType: 2 }) }, toLogin() { var that = this that.setData({ pageType: 1 }) }, welcomePage(){ var that = this that.setData({ pageType: 3 }) }, calculatePageSize() { var windowWidth = wx.getSystemInfoSync().windowWidth var smallWidth = ((windowWidth - 10) / 2 - 10) this.setData({ item_big_height: 'height:' + windowWidth / 4 + 'px', item_small: 'width:' + windowWidth / 4 * 0.45 + 'px;height:' + windowWidth / 4 * 0.45 + 'px', }) }, // 监听网络状态 networkStatusChange() { var that = this wx.onNetworkStatusChange(function (res) { if (res.isConnected == true) { that.connectWebIM() } }) }, requestHomeInfo(){ // 需要先请求用户信息 this.getUserInfo() }, // 获取用户信息 getUserInfo() { var self = this var param = { 'token': app.globalData.token } networkUtil._get(api.userInfo + app.globalData.userId[0], {}, function (res) { console.log('获取用户信息',res) app.globalData.days = res.data.data.days self.getArticleInfo(res.data.data.days) self.setData({ userData: res.data.data }) }, function (res) { networkUtil.showErrorToast(res.errormsg) }) }, getArticleInfo(days) { var self = this // 文章列表 networkUtil._get(api.homeArtList, { page: 0, limit: 100, days: days }, function (res) { console.log('获取文章信息', res.data.list) app.globalData.artList = res.data.list self.setData({ list: res.data.list }) }, function (res) { wx.stopPullDownRefresh() }) }, // 设置UI数据 setUserInfo(data) { }, /*---------------欢迎介绍页面---------------*/ // 获取验证码 getVerifyCode: function (e) { console.log("name:" + name) console.log("phone:" + phone) if (timeCount < 60) { return } var that = this networkUtil._post(api.bindDoc, { username: name, phone: phone }, function (res) { console.log("getVerifyCode:",res) }, function (res) { timeCount = 60 clearTimeout(timer); that.setData({ time: '0s' }) networkUtil.showErrorToast('获取验证码失败,请稍后再试') }) if (timeCount == 60) { this.keepTime() } // if (numberUtil.IsTelPhoneNumber(phone)) { // } else { // wx.showToast({ // title: '请输入正确手机号码', // }) // return // } }, // 计时器 keepTime: function () { var that = this timeCount-- that.setData({ time: timeCount + 's' }) if (timeCount == 0) { timeCount = 60 clearTimeout(timer); return } timer = setTimeout(function () { that.keepTime() }, 1000) }, blurInput: function (e) { phone = e.detail.value }, blurNameInput:function(e){ name = e.detail.value }, // 提交表单 formSubmit: function (e) { var self = this if (e.detail.value.code == "") { wx.showModal({ title: '提示', content: '请输入验证码', showCancel: false, success: function (res) { } }) return } networkUtil.showLoading() var param = { code: e.detail.value.code, phone: phone } if (getApp().globalData.openInfo.mpid) { param.gzopenid = getApp().globalData.openInfo.mpid console.log('绑定mpid', param) } if (getApp().globalData.openInfo.code) { param.jscode = getApp().globalData.openInfo.code console.log('绑定code', param) } networkUtil._get(api.verifyCode, param, function (res) { console.log(res) self.loginSuccess(res.data) }, function (res) { networkUtil.showErrorToast(res.errormsg) }) }, loginSuccess(data) { wx.setStorageSync('userToken', data.token) wx.setStorageSync('userId', data.patientIds) wx.setStorageSync('hxName', data.hxName) wx.setStorageSync('hxPassWord', data.hxPassWord) getApp().globalData.token = data.token getApp().globalData.userId = data.patientIds this.homePage() } })