|
@@ -24,9 +24,9 @@
|
|
|
|
|
|
|
|
<!-- 按钮区域 -->
|
|
<!-- 按钮区域 -->
|
|
|
<view class="button-section">
|
|
<view class="button-section">
|
|
|
- <view class="login-btn" @click="login">
|
|
|
|
|
|
|
+ <button class="login-btn" open-type="getPhoneNumber" @getphonenumber="getWxMobile">
|
|
|
<text class="btn-text">手机号一键登录</text>
|
|
<text class="btn-text">手机号一键登录</text>
|
|
|
- </view>
|
|
|
|
|
|
|
+ </button>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<!-- 说明文字 -->
|
|
<!-- 说明文字 -->
|
|
@@ -41,6 +41,10 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
|
+import { getWxPhone } from "@/api/mini"
|
|
|
|
|
+import { create } from "@/api/user"
|
|
|
|
|
+import store from '@/store'
|
|
|
|
|
+
|
|
|
export default {
|
|
export default {
|
|
|
props: {
|
|
props: {
|
|
|
loginStyle: {
|
|
loginStyle: {
|
|
@@ -50,12 +54,50 @@ export default {
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
-
|
|
|
|
|
|
|
+ form: {
|
|
|
|
|
+ mobile: ""
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- login() {
|
|
|
|
|
- this.$emit('goToLogin')
|
|
|
|
|
|
|
+ getWxMobile(e) {
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ if (e.detail.errMsg === "getPhoneNumber:ok") {
|
|
|
|
|
+ let currentMiniOpenId = uni.getStorageSync('miniOpenId')
|
|
|
|
|
+ getWxPhone({ iv: e.detail.iv, encryptedData: e.detail.encryptedData, miniOpenId: currentMiniOpenId }).then(subRes => {
|
|
|
|
|
+ if(subRes.data && subRes.data.hasNoOpenId && subRes.data.hasNoOpenId == 1){
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ content: '网络异常,请重试一次',
|
|
|
|
|
+ success: function (res) {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ console.log('用户点击确定')
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ return false
|
|
|
|
|
+ }
|
|
|
|
|
+ this.form.mobile = subRes.data.mobile
|
|
|
|
|
+ that.confirmFn()
|
|
|
|
|
+ })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$msg("获取手机失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ confirmFn() {
|
|
|
|
|
+ let currentMiniOpenId = uni.getStorageSync('miniOpenId')
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ create({miniOpenId: currentMiniOpenId, ...this.form}).then(res => {
|
|
|
|
|
+ if(res.code == 1){
|
|
|
|
|
+ uni.setStorageSync('token', res.data.token)
|
|
|
|
|
+ if(res.data.user && !that.$util.isEmpty(res.data.user)){
|
|
|
|
|
+ store.commit('setLoginInfo', res.data.user)
|
|
|
|
|
+ that.$msg('登录成功')
|
|
|
|
|
+ // 登录成功后触发事件通知父组件
|
|
|
|
|
+ this.$emit('loginSuccess', res.data.user)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
};
|
|
};
|
|
@@ -205,12 +247,18 @@ export default {
|
|
|
transition: all 0.3s ease;
|
|
transition: all 0.3s ease;
|
|
|
border: none;
|
|
border: none;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
|
|
|
&:active {
|
|
&:active {
|
|
|
transform: translateY(2upx);
|
|
transform: translateY(2upx);
|
|
|
box-shadow: 0 4upx 12upx rgba(238, 90, 36, 0.4);
|
|
box-shadow: 0 4upx 12upx rgba(238, 90, 36, 0.4);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ &::after {
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.btn-icon {
|
|
.btn-icon {
|
|
|
font-size: 32upx;
|
|
font-size: 32upx;
|
|
|
margin-right: 12upx;
|
|
margin-right: 12upx;
|