examtest/test_mini/pages/login/login.js

146 lines
3.3 KiB
JavaScript

//index.js
//获取应用实例
const app = getApp()
const api = require("../../utils/request.js");
Page({
data: {
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
countDown:40,
form:{
phone:0,
code:0,
nickname:0,
avatar:0
}
},
//事件处理函数
bindViewTap: function () {
wx.navigateTo({
url: '../logs/logs'
})
},
phoneChange: function (e) {
this.data.form.phone = e.detail.value
},
codeChange: function (e) {
this.data.form.code = e.detail.value
},
onLoad: function () {
wx.hideHomeButton()
if (app.globalData.userInfo) {
this.setData({
userInfo: app.globalData.userInfo,
hasUserInfo: true
})
} else if (this.data.canIUse) {
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
app.userInfoReadyCallback = res => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
} else {
// 在没有 open-type=getUserInfo 版本的兼容处理
wx.getUserInfo({
success: res => {
app.globalData.userInfo = res.userInfo
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
}
},
getUserInfo: function (e) {
app.globalData.userInfo = e.detail.userInfo
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
},
sendMsg : function (){
var that = this
if(that.isPhone(that.data.form.phone)){
api.request('/crm/consumer/sendcode', 'GET', { phone: that.data.form.phone }).then(res => {
wx.showToast({
title: '验证码发送成功!注意查收',
icon: 'none'
})
getApp().globalData.timer = setInterval(function () {
that.startPass()
}, 1000)
})
}else{
wx.showToast({
title: '请输入正确的手机号!',
icon: 'none'
})
}
},
onGetInfo : function (e){
var that = this
if(e.detail.userInfo){
this.setData({
userInfo: e.detail.userInfo
})
that.data.form.nickname = e.detail.userInfo.nickName
that.data.form.avatar = e.detail.userInfo.avatarUrl
}
if(that.isPhone(that.data.form.phone)){
that.denglu(that.data.form)
}else{
wx.showToast({
title: '请输入正确的手机号!',
icon: 'none'
})
}
},
goMain: function (){
wx.reLaunch({
url: '/pages/main/main',
})
},
goadmin: function(){
wx.redirectTo({
url: '/pages/admin/login',
})
},
denglu: function (data) {
api.request('/crm/consumer/register/', 'POST', data).then(res => {
getApp().onLaunch()
wx.switchTab({
url: '/pages/main/main',
})
})
},
startPass: function(){
var that = this
var mil = that.data.countDown
if (mil < 2) {
that.setData({
countDown:40
})
clearInterval(getApp().globalData.timer)
}else{
this.setData({
countDown: mil-1,
});
}
},
isPhone: function(phone){
var phoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
if (phoneReg.test(phone)) {
return true;
} else {
return false;
}
}
})