You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xzjl-ui/pages/home/me/indexx.js

426 lines
11 KiB

// pages/home/me/indexx.js
import Toast from 'tdesign-miniprogram/toast/index';
import Dialog from 'tdesign-miniprogram/dialog/index';
const app = getApp();//新建页面时 默认引入
const req = app.xzjlReq();//初始化一个的request() 实例
Page({
/**
* 页面的初始数据
*/
data: {
isCxHq:false,
bdsjhVisible:false,
avatar:"",
countdown:60,
userInfo:{
avatar:"",
nick:"",
isChatVip:false,//是否会员
phone:'',
hasPhone:false
},
phone:'',
phoneVerificationCode:'',
bdSuccess: false, //绑定成功
showPhone: true, //更改手机号码
isHavePhone: true,
existPhone: false,
findAccount: false, //账号账号数据
openLogout: false, //退出登入
deadline: 0
},
// 手机号码校验
getPhone(e){
const phone = e.detail.value;
if (!/^1[3456789]\d{9}$/.test(phone)) {
wx.showToast({
title: '手机号码格式不正确',
icon: 'none'
});
return;
}
},
getVerificationCode(e){
const VerificationCode = e.detail.value;
if (VerificationCode.length !== 6) {
wx.showToast({
title: '验证码格式不正确',
icon: 'none'
});
return;
}
},
// 找回数据
findData(){
this.setData({
existPhone: false,
findAccount: true,
showPhone: false
})
},
// 找回账号数据
retrieveAccount(){
req.patchRequest('/api/user/retrieve-data',{
phone:this.data.phone,
code:this.data.phoneVerificationCode
}).then(res => {
if (res.data.code === 200) {
wx.showToast({
title: '找回数据成功,请重新登入',
icon: 'none'
})
setTimeout(() => {
wx.redirectTo({
url: '/pages/index/index',
})
}, 1000);
}else {
wx.showToast({
title: res.data.msg,
icon: 'error'
})
}
}).catch(res => {
console.log(res, '找回账号数据失败');
})
},
closeFindData(){
this.setData({
existPhone: true,
showPhone: false,
findAccount: false
})
},
closeExistPhone(){
this.setData({
existPhone: false,
showPhone: true
})
},
bindinNewPhone(){
this.setData({
existPhone: false,
showPhone: true,
isHavePhone: false,
phone: '',
phoneVerificationCode: '',
isCxHq: false,
countdown: 60
})
},
getCode(){
// 请求前校验
if (!/^1[3456789]\d{9}$/.test(this.data.phone)) {
return wx.showToast({
title: '手机号码格式不正确',
icon: 'none'
});
}
// if(this.data.phone === this.data.userInfo.phone){
// return wx.showToast({
// title: '您已绑定该号码',
// icon: 'error'
// })
// }
if(this.data.countdown === 60 || this.data.countdown === '重新获取'){
req.postRequest('/api/user/send-authentication-code',{
phone:this.data.phone
}).then((res)=>{
if (res.data.code === 200) {
wx.showToast({
title: '验证码已发送,请在手机上查收',
icon: 'none'
})
if (this.data.countdown === '重新获取') {
this.setData({countdown: 60})
}
// 验证码倒计时
this.setData({isCxHq:true})
const timerId = setInterval(()=>{
this.setData({countdown:this.data.countdown-1})
if (this.data.countdown === 0) {
clearTimeout(timerId);
this.setData({countdown:'重新获取'})
}
},1000)
this.setData({timerId: timerId})
}
}).catch(res => {
wx.showToast({
title: '发送失败',
icon: 'error'
})
console.log(res, '验证码发送失败');
})
}
},
doBdsjh(){
console.log('绑定手机号')
this.setData({bdsjhVisible:true})
},
doCancelSjh(){
this.setData({
bdsjhVisible:false,
showPhone: true, //更改手机号码
isHavePhone: false,
existPhone: false,
findAccount: false, //账号账号数据
phone: '',
phoneVerificationCode: '',
isCxHq: false
})
clearTimeout(this.data.timerId);
},
bdSuccessBtn(){
this.setData({
bdsjhVisible: false,
showPhone: true,
bdSuccess: false
})
},
doEXecSjh(){
if (this.data.phone === this.data.userInfo.phone) {
return wx.showToast({
title: '已绑定该手机号',
icon: 'error'
})
}
if (this.data.phoneVerificationCode.length !== 6) {
return wx.showToast({
title: '验证码格式不正确',
icon: 'none'
});
}
req.patchRequest('/api/user/curt',{
phone:this.data.phone,
phoneVerificationCode:this.data.phoneVerificationCode
}).then((res)=>{
if (res.data.code === 1003) {
return wx.showToast({
title: '手机验证码不存在',
icon: 'error'
})
}
if (res.data.code === 1004) {
return wx.showToast({
title: '手机验证码错误',
icon: 'error'
})
}
if (res.data.code === 1005) {
return wx.showToast({
title: '手机验证码已过期',
icon: 'error'
})
}
if (res.data.code === 500) {
return this.setData({
existPhone: true,
showPhone: false,
})
}else {
this.getUserInfo()
this.setData({
bdSuccess: true,
showPhone: false,
phoneVerificationCode:'',
isCxHq:false
})
}
})
},
go2Grzl(){
wx.redirectTo({
url: '/pages/home/me/grzl/grzl'
})
},
// 跳转到会员购买页面
go2Member(){
wx.redirectTo({
url: '/pages/home/me/member/member?isChatVip=' + this.data.userInfo.isChatVip
})
},
go2Gw(){
// wx.redirectTo({
// url: '/pages/home/me/gw/gw'
// })
console.log('跳转了解星座精灵页面');
},
go2Ysxy(){
wx.redirectTo({
url: '/pages/home/me/ysxy/ysxy'
})
console.log('跳转隐私协议页面');
},
go2Yhsyxy(){
wx.redirectTo({
url: '/pages/home/me/yhsyxy/yhsyxy'
})
console.log('跳转用户协议页面');
},
go2Cjwt(){
// wx.redirectTo({
// url: '/pages/home/me/cjwt/cjwt'
// })
console.log('跳转常见问题页面');
},
go2Device(){
wx.redirectTo({
url: '/pages/home/me/mydevice/device'
})
},
go2Sq(){
wx.showToast({
title: '敬请期待',
icon: 'none'
})
},
go2Yjfk(){
wx.redirectTo({
url: '/pages/home/me/yjfk/yjfk'
})
},
go2Manual(){
wx.redirectTo({
url: '/pages/home/me/manual/manual'
})
console.log('跳转说明书页面');
},
go2Jcjb(){
wx.redirectTo({
url: '/pages/home/me/jcjb/jcjb'
})
},
getUserInfo(){
req.getRequest('/api/user/curt',{}).then((res)=>{
if(res.data.code==200){
this.setData({
userInfo:res.data.data,
// phone:res.data.data.phone,
})
// 获取默认头像
this.getDetaile()
// 获取vip截止日期
if (res.data.data.isChatVip) {
this.getVipDeadline(res.data.data.chatVipEndTime)
}
}
}).catch((err)=>{
console.log(err);
})
},
ReqData(){
req.getRequest('/getList',{id: 1024}).then((res)=>{
console.log(res);
}).catch((err)=>{
console.log(err);
})
},
// 获取默认头像
getDetaile(){
const list = wx.getStorageSync('xy-static-img')
const type = this.data.userInfo.constellation
this.setData({
list: list[type]
})
},
// 获取vip截止日期
getVipDeadline(time){
const endTime = new Date(time)
const newTime = new Date()
// 判断时间是否已经到期
if (endTime > newTime) {
const deadTime = endTime - newTime
const deadline = Math.floor(deadTime / 1000 / 60 / 60 / 24)
this.setData({deadline: deadline})
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
this.getUserInfo()
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.getUserInfo()
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
go2Index(){
wx.navigateTo({
url: '/pages/index/index'
})
Toast({
context: this,
selector: '#t-toast',
message: '退出成功!',
});
}
,
ljXzjl(){
},
closeLogout(){
this.setData({openLogout: !this.data.openLogout})
},
logout() {
req.deleteRequest('/api/user/logout',{}).then((res)=>{
if(res.data.code === 200){
wx.setStorageSync('token', '')
wx.redirectTo({
url: '/pages/index/index'
})
}
})
}
})