226 lines
5.1 KiB
JavaScript
226 lines
5.1 KiB
JavaScript
// pages/login/login.js
|
||
const app = getApp()
|
||
import {
|
||
wechatMobileLogin
|
||
} from "../../api/login.js"
|
||
import {auth} from "../../api/index.js"
|
||
import {throttle} from "../../utils/util"
|
||
let urlHost=app.hostConfig().agreehost;
|
||
Page({
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
check: 0,
|
||
beforeClose(action){
|
||
return new Promise((resolve) => {
|
||
if (action === 'confirm') {
|
||
resolve(true);
|
||
} else {
|
||
// 拦截取消操作
|
||
resolve(false);
|
||
}
|
||
})
|
||
},
|
||
showEntryTip:false,
|
||
showEntryTip_second:false,
|
||
redirecUrl:'',
|
||
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static'
|
||
|
||
},
|
||
handleAgree(){
|
||
if(!this.data.check){
|
||
wx.showToast({
|
||
title: '请同意《肝胆相照用户服务协议》!',
|
||
icon:'none'
|
||
})
|
||
return false
|
||
};
|
||
},
|
||
|
||
onConfirmEntry(){
|
||
//wx.setStorageSync('hasEntry', true);
|
||
},
|
||
onCloseEntry(){
|
||
this.setData({
|
||
showEntryTip:true,
|
||
showEntryTip_second:true
|
||
})
|
||
},
|
||
onConfirmEntry_second(){
|
||
this.setData({
|
||
showEntryTip_second:false,
|
||
});
|
||
//wx.setStorageSync('hasEntry', true);
|
||
|
||
},
|
||
onCloseEntry_second(){
|
||
wx.exitMiniProgram({success: (res) => {}})
|
||
this.setData({
|
||
showEntryTip_second:false,
|
||
showEntryTip:false,
|
||
});
|
||
|
||
},
|
||
getPhoneNumber:throttle(function(e) {
|
||
if (e.detail.errMsg == 'getPhoneNumber:ok'){
|
||
// if(!e.detail.code){
|
||
// wx.showToast({
|
||
// title: '当前微信版本过低,可能部分功能受影响',
|
||
// icon:'none'
|
||
// })
|
||
// return false
|
||
// };
|
||
auth().then(res => {
|
||
wechatMobileLogin({
|
||
phone_code: e.detail.code,
|
||
user_type: 1,
|
||
wx_code: res
|
||
}).then((data)=>{
|
||
wx.setStorageSync('AUTH_TOKEN', data.token);
|
||
wx.setStorageSync('CLIENT_USER_ID',data.client_user_id);
|
||
wx.setStorageSync('USER_ID',data.user_id);
|
||
let url=this.data.redirectUrl?this.data.redirectUrl:'/pages/index/index';
|
||
let handleGo=null;
|
||
if(url.indexOf('login')!=-1 || url.indexOf('mobileLogin')!=-1){
|
||
handleGo=function(){
|
||
wx.reLaunch({
|
||
url:'/pages/index/index'
|
||
})
|
||
}
|
||
}else{
|
||
wx.reLaunch({
|
||
url:url
|
||
})
|
||
}
|
||
app.imLogin({path:'pages/login/login'},handleGo);
|
||
|
||
})
|
||
});
|
||
}else if(e.detail.errMsg == 'getPhoneNumber:fail user deny'){
|
||
console.log('您拒绝手机号授权')
|
||
}else{
|
||
wx.showToast({
|
||
title: '手机号授权失败',
|
||
icon:'none'
|
||
})
|
||
}
|
||
}),
|
||
goMobile(){
|
||
let url='/pages/mobileLogin/mobileLogin';
|
||
let redirectUrl=this.data.redirectUrl?this.data.redirectUrl:'/pages/index/index';
|
||
// console.log('222222');
|
||
// console.log(redirectUrl)
|
||
app.method.navigateTo({
|
||
url: url+"?redirectUrl="+encodeURIComponent(redirectUrl)
|
||
})
|
||
},
|
||
goAgreement:throttle(function(event){
|
||
let id=event.currentTarget.dataset.id;
|
||
app.method.navigateTo({
|
||
url:"/pages/linkPage/linkPage?url="+encodeURIComponent(urlHost+'/basic/file/agreement.htm?id='+id)
|
||
})
|
||
}),
|
||
checkboxChange(e) {
|
||
this.setData({
|
||
check: e.detail.value.length
|
||
})
|
||
|
||
},
|
||
getRedirect(urlParams){
|
||
|
||
let url=decodeURIComponent(urlParams);
|
||
let index=url.indexOf("redirectUrl=");
|
||
let cur_url=''
|
||
if(index!=-1){
|
||
cur_url=url.substring(index+12,index.length);
|
||
// console.log(cur_url)
|
||
this.getRedirect(cur_url);
|
||
}else{
|
||
cur_url=url;
|
||
}
|
||
return decodeURIComponent(cur_url);
|
||
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad(options) {
|
||
this.setData({
|
||
beforeClose: this.data.beforeClose.bind(this),
|
||
})
|
||
if(options.redirectUrl){
|
||
this.setData({
|
||
redirectUrl:"/"+this.getRedirect(options.redirectUrl)
|
||
})
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
this.setData({
|
||
img_host:app.hostConfig().imghost
|
||
});
|
||
wx.getPrivacySetting({
|
||
success: res => {
|
||
console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
|
||
if (res.needAuthorization) {
|
||
// 需要弹出隐私协议
|
||
this.setData({
|
||
showEntryTip:true
|
||
})
|
||
} else {
|
||
this.setData({
|
||
showEntryTip:false
|
||
})
|
||
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私
|
||
}
|
||
},
|
||
fail: () => {},
|
||
complete: () => {}
|
||
})
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
|
||
}) |