|
|
|
@ -11,7 +11,9 @@ |
|
|
|
<view class="form-item"> |
|
|
|
<view class="form-item--parts"> |
|
|
|
<view class="gjcode"> |
|
|
|
+86 |
|
|
|
<select> |
|
|
|
<option class="">+86</option> |
|
|
|
</select> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<input class="form-item--input" type="number" v-model="mobile" maxlength="11" placeholder="请输入手机号码" /> |
|
|
|
@ -48,6 +50,9 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import * as LoginApi from '@/api/login' |
|
|
|
import * as Verify from '@/utils/verify' |
|
|
|
import store from '@/store' |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
@ -70,12 +75,7 @@ |
|
|
|
* 生命周期函数--监听页面加载 |
|
|
|
*/ |
|
|
|
async onLoad(options) { |
|
|
|
console.log('login onLoad') |
|
|
|
// 设置当前是否显示微信小程序授权登录 |
|
|
|
// await this.setShowUserInfo() |
|
|
|
// 数据加载完成 |
|
|
|
this.isLoad = true |
|
|
|
console.log('isLoad', true) |
|
|
|
// do nothing |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
@ -87,45 +87,57 @@ |
|
|
|
// 点击登录 |
|
|
|
handleLogin() { |
|
|
|
const app = this |
|
|
|
if (!app.isLoading && app.formValidation(SUBMIT_LOGIN)) { |
|
|
|
if (!app.isLoading && app.formValidationName(app.mobile)) { |
|
|
|
app.submitLogin() |
|
|
|
} |
|
|
|
}, |
|
|
|
//todo |
|
|
|
formValidationName(str){ |
|
|
|
if(Verify.isEmpty(str)){ |
|
|
|
this.$toast('手机号不能为空') |
|
|
|
return false |
|
|
|
} |
|
|
|
if(!Verify.isMobile(str)){ |
|
|
|
this.$toast('手机号格式不对') |
|
|
|
return false |
|
|
|
} |
|
|
|
return true |
|
|
|
}, |
|
|
|
|
|
|
|
formValidationPass(str){ |
|
|
|
if(Verify.isEmpty(str)){ |
|
|
|
this.$toast('密码不能为空') |
|
|
|
return false |
|
|
|
} |
|
|
|
return true |
|
|
|
}, |
|
|
|
// 提交登录 |
|
|
|
submitLogin(){ |
|
|
|
const app = this |
|
|
|
app.isLoading = true |
|
|
|
store.dispatch('Login', { |
|
|
|
smsCode: app.code, |
|
|
|
mobile: app.newPhone |
|
|
|
// isParty: false, |
|
|
|
// partyData: "" |
|
|
|
}) |
|
|
|
.then(result => { |
|
|
|
// 显示登录成功 |
|
|
|
app.$toast(result.message) |
|
|
|
// 到设备选择 |
|
|
|
|
|
|
|
// 相应全局事件订阅: 刷新上级页面数据 |
|
|
|
// uni.$emit('syncRefresh', true) |
|
|
|
// this.$navTo("pages/home") |
|
|
|
// 跳转回原页面 |
|
|
|
//setTimeout(() => app.onNavigateBack(1), 2000) |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
console.log(err); |
|
|
|
}) |
|
|
|
.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> |
|
|
|
@ -153,12 +165,13 @@ |
|
|
|
.form-item { |
|
|
|
display: flex; |
|
|
|
padding: 18rpx; |
|
|
|
border-bottom: 1rpx solid #f3f1f2; |
|
|
|
margin-bottom: 30rpx; |
|
|
|
height: 126rpx; |
|
|
|
|
|
|
|
&--input { |
|
|
|
padding-left: 12rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
border-bottom: 1rpx solid #f3f1f2; |
|
|
|
letter-spacing: 1rpx; |
|
|
|
flex: 1; |
|
|
|
height: 100%; |
|
|
|
@ -181,6 +194,7 @@ |
|
|
|
padding: 6rpx; |
|
|
|
margin-right: 22rpx; |
|
|
|
height: 100%; |
|
|
|
border-right: 1px solid #034373; |
|
|
|
background-color: #F8F8F8; |
|
|
|
} |
|
|
|
} |
|
|
|
|