388 lines
9.8 KiB
JavaScript
388 lines
9.8 KiB
JavaScript
/*
|
|
* 手太欠
|
|
* 愿这世界都如故事里一样 美好而动人~
|
|
*/
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
userData : '', //用户信息
|
|
identity : '', //用户身份
|
|
identityShow : '',
|
|
userLogin : '', //登录状态
|
|
avatar : '', //头像
|
|
nickName : '', //昵称
|
|
sign : '', //喝水打卡
|
|
nowStatus : '', //判断状态
|
|
identityData : '',//会员身份信息
|
|
caseOrder : '', //订单
|
|
account : '', //账户
|
|
count : '', //数值
|
|
isCase : '', //是否有档案
|
|
popStatus : false,//档案弹框
|
|
nameState : false,
|
|
memberType : false,
|
|
serviceMobile : '',
|
|
waterMobile : '',
|
|
inviteCount : '', //激活码
|
|
waterState : false, //水滴状态
|
|
barHeight : getApp().globalData.statusBarHeight, // 状态栏高度
|
|
jiaonangheight : getApp().globalData.jiaonangheight, //胶囊高度
|
|
listType : '1', //任务类型
|
|
rightShow : false, //右侧菜单
|
|
taskSort : [], //任务分类
|
|
taskArr : [] //任务列表
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
// 获取登录状态
|
|
if(wx.getStorageSync("token")){
|
|
this.setData({
|
|
userLogin: true
|
|
})
|
|
|
|
// 获取用户信息
|
|
this.userInfo();
|
|
}
|
|
|
|
// 获取任务列表
|
|
this.taskEntry();
|
|
|
|
// 获取任务分类
|
|
this.taskInfo();
|
|
},
|
|
|
|
//定义函数读取用户微信运动数据
|
|
getWeRunInfo() {
|
|
wx.login({
|
|
success: res => {
|
|
let newCode = res.code
|
|
wx.getWeRunData({
|
|
success: WeRunRes=> {
|
|
wx.$api.user.wechatStep({
|
|
code : newCode,
|
|
encryptData : WeRunRes.encryptedData,
|
|
iv : WeRunRes.iv
|
|
}).then(WeRunSuccess => {
|
|
// 获取任务列表
|
|
this.taskEntry();
|
|
}).catch(err => {
|
|
// 获取任务列表
|
|
this.taskEntry();
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 用户信息
|
|
*/
|
|
userInfo() {
|
|
wx.$api.user.userIndex().then(res => {
|
|
this.setData({
|
|
userData : res.data,
|
|
account : res.data.account,
|
|
count : res.data.count,
|
|
avatar : res.data.avatar,
|
|
nickName : res.data.nickname,
|
|
identity : res.data.identity,
|
|
identityShow : res.data.identityShow,
|
|
nowStatus : res.data.nowStatus,
|
|
caseOrder : res.data.case,
|
|
serviceMobile : res.data.service.mobile,
|
|
inviteCount : res.data.invite_count || '',
|
|
waterMobile : res.data.water_mobile
|
|
})
|
|
}).catch(err => {})
|
|
},
|
|
|
|
/**
|
|
* 任务分类
|
|
*/
|
|
taskInfo() {
|
|
wx.$api.user.taskIndex().then(res => {
|
|
this.setData({
|
|
taskSort : res.data
|
|
})
|
|
}).catch(err => {})
|
|
},
|
|
|
|
/**
|
|
* 任务列表
|
|
*/
|
|
taskEntry() {
|
|
wx.$api.user.taskList({
|
|
category_id: this.data.listType
|
|
}).then(res => {
|
|
this.setData({
|
|
taskArr : res.data
|
|
})
|
|
}).catch(err => {})
|
|
},
|
|
|
|
/**
|
|
* 头像上传
|
|
*/
|
|
updImg(){
|
|
wx.chooseMedia({
|
|
count : 1,
|
|
success : path => {
|
|
// 上传图片
|
|
wx.$api.file.uploadImg(path.tempFiles[0].tempFilePath, {}).then(res=>{
|
|
this.setData({
|
|
avatar:res.url
|
|
})
|
|
this.settingInfo('avatar', res.path)
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 上传用户信息
|
|
*/
|
|
settingInfo(key, value) {
|
|
wx.$api.user.setting(key, {
|
|
value: value
|
|
}).then(() => {
|
|
this.nameState = false
|
|
}).catch(err => {})
|
|
},
|
|
|
|
/**
|
|
* 获取微信运动
|
|
*/
|
|
getWeRun() {
|
|
wx.getSetting({
|
|
success:res=> {
|
|
if(!res.authSetting["scope.werun"]) {
|
|
//申请用户授权
|
|
wx.authorize({
|
|
scope: 'scope.werun',
|
|
success() {
|
|
//允许-读取用户的微信运动数据
|
|
this.getWeRunInfo()
|
|
},fail() {
|
|
//不允许
|
|
wx.showModal({
|
|
title : '读取微信运动数据失败',
|
|
content : '请在小程序右上角[设置]中开启授权'
|
|
})
|
|
}
|
|
})
|
|
} else{
|
|
// 读取用户的微信运动数据
|
|
this.getWeRunInfo()
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 流程判断
|
|
*/
|
|
judge(e) {
|
|
if(wx.getStorageSync("token")){
|
|
// 开通会员
|
|
if(this.data.identity.order == 1 || this.data.identity.order == 2) {
|
|
wx.navigateTo({
|
|
url: '../member/index/index'
|
|
})
|
|
return
|
|
} else if(this.data.identity.order == 5 || this.data.identity.order == 6) {
|
|
wx.navigateTo({
|
|
url: '../member/look/index?orderid=' + this.data.identity.order
|
|
})
|
|
return
|
|
}
|
|
wx.navigateTo({
|
|
url: '../member/rights/index'
|
|
})
|
|
}else {
|
|
// 去登录
|
|
wx.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 展示会员卡
|
|
*/
|
|
memberTab(){
|
|
if(wx.getStorageSync("token")){
|
|
if(this.data.identity.order != 1){
|
|
this.setData({
|
|
memberType: !this.data.memberType
|
|
})
|
|
}
|
|
return
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 赠送水滴说明
|
|
*/
|
|
waterTap() {
|
|
this.setData({
|
|
waterState: !this.data.waterState
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 拨打电话
|
|
*/
|
|
phoneCall(){
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.data.waterMobile
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 跳转体验馆H5页面
|
|
*/
|
|
h5Web(){
|
|
this.setData({
|
|
waterState: false
|
|
})
|
|
if(this.data.identity.order == 2) {
|
|
wx.showModal({
|
|
title : '温馨提示',
|
|
content : '您已经参加过活动了,不可重复参加',
|
|
showCancel: false,
|
|
success : res=> {}
|
|
})
|
|
return
|
|
}
|
|
wx.switchTab({
|
|
url: '/pages/index/index'
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 处理未登录时的转跳
|
|
*/
|
|
userNav(e){
|
|
let pageUrl = e.currentTarget.dataset.url
|
|
if(wx.getStorageSync("token")){
|
|
wx.navigateTo({
|
|
url: pageUrl
|
|
})
|
|
}else{
|
|
// 去登录
|
|
wx.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
}
|
|
this.setData({
|
|
rightShow: false
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 退出登录
|
|
*/
|
|
outLogin() {
|
|
// 清理客户端登录缓存
|
|
wx.removeStorageSync("token")
|
|
this.setData({
|
|
rightShow: false
|
|
})
|
|
this.setData({
|
|
userLogin: false
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 选择任务类型
|
|
*/
|
|
onTabs(e) {
|
|
this.setData({
|
|
listType: e.currentTarget.dataset.type
|
|
})
|
|
|
|
// 获取任务列表
|
|
this.taskEntry();
|
|
},
|
|
|
|
/**
|
|
* 显示右侧导航内容
|
|
*/
|
|
rightBind() {
|
|
this.setData({
|
|
rightShow: !this.data.rightShow
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 敬请期待
|
|
*/
|
|
await() {
|
|
wx.showToast({
|
|
title : '开发中,敬请期待',
|
|
icon : 'none',
|
|
duration: 2000
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 建立用户档案
|
|
*/
|
|
establish(){
|
|
wx.navigateTo({
|
|
url: '/pages/record/index/index'
|
|
})
|
|
this.setData({
|
|
popStatus: false
|
|
})
|
|
},
|
|
|
|
// 任务分类跳转
|
|
JumpUrl(open) {
|
|
let newState = open.currentTarget.dataset.state,
|
|
newKey = open.currentTarget.dataset.key
|
|
if(newState == 1) return
|
|
if(newKey == 'steps'){
|
|
// 获取微信运动
|
|
this.getWeRun()
|
|
return
|
|
}
|
|
if(wx.getStorageSync("token")){
|
|
let newUrl = open.currentTarget.dataset.url,
|
|
newType = open.currentTarget.dataset.type
|
|
switch(newType){
|
|
case 'switchTab':
|
|
wx.switchTab({
|
|
url: newUrl
|
|
})
|
|
break;
|
|
case 'web':
|
|
// 跳转web
|
|
break;
|
|
case 'mini':
|
|
wx.navigateTo({
|
|
url: newUrl
|
|
})
|
|
break;
|
|
}
|
|
} else{
|
|
// 去登录
|
|
wx.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
}
|
|
},
|
|
}) |