|
|
|
@ -47,7 +47,8 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
import * as LoginApi from '@/api/login' |
|
|
|
import store from '@/store' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
@ -60,67 +61,56 @@ |
|
|
|
isLoad: false, |
|
|
|
// 手机号 |
|
|
|
mobile: '', |
|
|
|
// 密码 |
|
|
|
vpass:"", |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 生命周期函数--监听页面加载 |
|
|
|
*/ |
|
|
|
async onLoad(options) { |
|
|
|
console.log('login onLoad') |
|
|
|
// 设置当前是否显示微信小程序授权登录 |
|
|
|
// await this.setShowUserInfo() |
|
|
|
// 数据加载完成 |
|
|
|
this.isLoad = true |
|
|
|
console.log('isLoad', true) |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
|
|
|
|
// 点击登录 |
|
|
|
handleLogin() { |
|
|
|
const app = this |
|
|
|
if (!app.isLoading && app.formValidation(SUBMIT_LOGIN)) { |
|
|
|
if (!app.isLoading && app.formValidationMobile(app.mobile)) { |
|
|
|
app.submitLogin() |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 验证 |
|
|
|
formValidationMobile(str){ |
|
|
|
if (Verify.isEmpty(str)) { |
|
|
|
this.$toast('手机号不能为空') |
|
|
|
return false |
|
|
|
} |
|
|
|
return true |
|
|
|
}, |
|
|
|
|
|
|
|
// 确认登录 |
|
|
|
submitLogin() { |
|
|
|
const app = this |
|
|
|
app.isLoading = true |
|
|
|
store.dispatch('Login', { |
|
|
|
smsCode: app.smsCode, |
|
|
|
mobile: app.mobile, |
|
|
|
isParty: app.isParty, |
|
|
|
partyData: app.partyData |
|
|
|
}) |
|
|
|
.then(result => { |
|
|
|
// 显示登录成功 |
|
|
|
app.$toast(result.message) |
|
|
|
// 相应全局事件订阅: 刷新上级页面数据 |
|
|
|
uni.$emit('syncRefresh', true) |
|
|
|
// 跳转回原页面 |
|
|
|
setTimeout(() => app.onNavigateBack(1), 2000) |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
// 跳转回原页面 |
|
|
|
if (err.result.data.isBack) { |
|
|
|
setTimeout(() => app.onNavigateBack(1), 2000) |
|
|
|
} |
|
|
|
}) |
|
|
|
.finally(() => app.isLoading = false) |
|
|
|
}, |
|
|
|
|
|
|
|
/** |
|
|
|
* 设置当前是否显示微信小程序授权登录 |
|
|
|
* - 条件1: 只有微信小程序才显示获取用户信息按钮 |
|
|
|
* - 条件2: 后台设置是否已开启该选项 [后台-客户端-注册设置] |
|
|
|
*/ |
|
|
|
async setShowUserInfo() { |
|
|
|
console.log('setShowUserInfo start') |
|
|
|
const app = this |
|
|
|
// 判断当前客户端是微信小程序, 并且支持getUserProfile接口 |
|
|
|
const isMpWeixin = app.platform === 'MP-WEIXIN' && wx.canIUse('getUserProfile') |
|
|
|
|
|
|
|
// 获取后台设置 |
|
|
|
await SettingModel.item(SettingKeyEnum.REGISTER.value, false) |
|
|
|
.then(setting => { |
|
|
|
app.isMpWeixinAuth = isMpWeixin && setting.isOauthMpweixin |
|
|
|
console.log('setShowUserInfo complete') |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取到用户信息的回调函数 |
|
|
|
onGetUserInfoSuccess({ oauth, code, userInfo }) { |
|
|
|
// 记录第三方用户信息数据 |
|
|
|
this.partyData = { oauth, code, userInfo } |
|
|
|
// 显示注册页面 |
|
|
|
this.onShowRegister() |
|
|
|
}, |
|
|
|
|
|
|
|
// 显示注册页面 |
|
|
|
onShowRegister() { |
|
|
|
// 是否显示微信小程序授权登录 |
|
|
|
this.isMpWeixinAuth = false |
|
|
|
// 已获取到了第三方用户信息 |
|
|
|
this.isParty = true |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|