/*首页*/
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:'',
inputFocus: { nameInput: false, phoneInput: false, codeInput: false },
currentBabyIndex:0
},
/*---------生命周期--------*/
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()
} else {
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)
}
})
},
getNameFocus:function(){
var self=this
var inputFocus = { nameInput: true, phoneInput: false, codeInput: false }
self.setData({
inputFocus: inputFocus
})
},
getPhoneFocus: function () {
var self = this
var inputFocus = { nameInput: false, phoneInput: true, codeInput: false }
self.setData({
inputFocus: inputFocus
})
},
getCodeFocus: function () {
var self = this
var inputFocus = { nameInput: false, phoneInput: false, codeInput: true }
self.setData({
inputFocus: inputFocus
})
},
loseNameFocus: function () {
var self = this
var inputFocus = { nameInput: false}
self.setData({
inputFocus: inputFocus
})
},
losePhoneFocus: function () {
var self = this
var inputFocus = { phoneInput: false, }
self.setData({
inputFocus: inputFocus
})
},
loseCodeFocus: function () {
var self = this
var inputFocus = { codeInput: false }
self.setData({
inputFocus: inputFocus
})
},
// 改变baby
changeBaby(e){
this.setData({
currentBabyIndex: e.currentTarget.dataset.index
})
},
/*---------自定义函数--------*/
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() {
networkUtil.showLoading()
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
app.globalData.userInfo = res.data.data
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()
})
},
// 文章点赞
articleLike(e) {
console.log(e)
var self = this
// 已经点赞
if (e.currentTarget.dataset.islike == 1) {
networkUtil.showErrorToast('您已经点过赞啦')
return;
}
networkUtil._post(api.articleLike, { id: e.currentTarget.dataset.artid }, function (res) {
var artList = self.data.list
artList[e.currentTarget.dataset.categaryindex].article[e.currentTarget.dataset.artindex].likeCount++
artList[e.currentTarget.dataset.categaryindex].article[e.currentTarget.dataset.artindex].isLike = 1
self.setData({
list: artList
});
}, function (res) {
console.log(res)
})
},
// 标签页面
clickLabel(e){
console.log(e)
wx.navigateTo({
url: '../articleLists/articleLists?category=' + e.currentTarget.dataset.categary,
})
},
/*---------------欢迎介绍页面---------------*/
// 获取验证码
getVerifyCode: function (e) {
console.log("name:" + name)
console.log("phone:" + phone)
if (timeCount < 60) {
return
}
if (numberUtil.IsTelPhoneNumber(phone) && name.length>0) {
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(res.errormsg)
})
if (timeCount == 60) {
this.keepTime()
}
} else {
networkUtil.showErrorToast('请输入正确手机号码和姓名')
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
// console.log(e)
},
blurNameInput:function(e){
name = e.detail.value
// console.log(e)
},
// 提交表单
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()
}
})