Files
sykl-hy/pages/user/index.js

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"
})
}
},
})