86 lines
2.1 KiB
JavaScript
86 lines
2.1 KiB
JavaScript
import request from '~/api/request';
|
|
|
|
Page({
|
|
data: {
|
|
phoneNumber: '',
|
|
isPhoneNumber: false,
|
|
isCheck: false,
|
|
isSubmit: false,
|
|
isPasswordLogin: false,
|
|
passwordInfo: {
|
|
account: '',
|
|
password: '',
|
|
},
|
|
radioValue: '',
|
|
},
|
|
|
|
/* 自定义功能函数 */
|
|
changeSubmit() {
|
|
if (this.data.isPasswordLogin) {
|
|
if (this.data.passwordInfo.account !== '' && this.data.passwordInfo.password !== '' && this.data.isCheck) {
|
|
this.setData({ isSubmit: true });
|
|
} else {
|
|
this.setData({ isSubmit: false });
|
|
}
|
|
} else if (this.data.isPhoneNumber && this.data.isCheck) {
|
|
this.setData({ isSubmit: true });
|
|
} else {
|
|
this.setData({ isSubmit: false });
|
|
}
|
|
},
|
|
|
|
// 手机号变更
|
|
onPhoneInput(e) {
|
|
const isPhoneNumber = /^[1][3,4,5,7,8,9][0-9]{9}$/.test(e.detail.value);
|
|
this.setData({
|
|
isPhoneNumber,
|
|
phoneNumber: e.detail.value,
|
|
});
|
|
this.changeSubmit();
|
|
},
|
|
|
|
// 用户协议选择变更
|
|
onCheckChange(e) {
|
|
const { value } = e.detail;
|
|
this.setData({
|
|
radioValue: value,
|
|
isCheck: value === 'agree',
|
|
});
|
|
this.changeSubmit();
|
|
},
|
|
|
|
onAccountChange(e) {
|
|
this.setData({ passwordInfo: { ...this.data.passwordInfo, account: e.detail.value } });
|
|
this.changeSubmit();
|
|
},
|
|
|
|
onPasswordChange(e) {
|
|
this.setData({ passwordInfo: { ...this.data.passwordInfo, password: e.detail.value } });
|
|
this.changeSubmit();
|
|
},
|
|
|
|
// 切换登录方式
|
|
changeLogin() {
|
|
this.setData({ isPasswordLogin: !this.data.isPasswordLogin, isSubmit: false });
|
|
},
|
|
|
|
async login() {
|
|
if (this.data.isPasswordLogin) {
|
|
const res = await request('/login/postPasswordLogin', 'post', { data: this.data.passwordInfo });
|
|
if (res.success) {
|
|
await wx.setStorageSync('access_token', res.data.token);
|
|
wx.switchTab({
|
|
url: `/pages/my/index`,
|
|
});
|
|
}
|
|
} else {
|
|
const res = await request('/login/getSendMessage', 'get');
|
|
if (res.success) {
|
|
wx.navigateTo({
|
|
url: `/pages/loginCode/loginCode?phoneNumber=${this.data.phoneNumber}`,
|
|
});
|
|
}
|
|
}
|
|
},
|
|
});
|