| | |
| | | </view> |
| | | <view class="login_btn"> |
| | | <!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU --> |
| | | <!-- <button v-if="canIUseGetUserProfile" type="primary" class="uni-tip-button" @click="login">授权并登录</button> --> |
| | | <button type="primary" open-type="getUserInfo" @getuserinfo="login" |
| | | <button v-if="canIUseGetPhoneNumber" type="primary" class="uni-tip-button" |
| | | @click="mobileAuthLogin">授权并登录</button> |
| | | <button type="primary" v-else open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" |
| | | class="uni-tip-button">授权并登录</button> |
| | | <view class="no_login" @click="back"> |
| | | 暂不授权 |
| | |
| | | </view> |
| | | </checkbox-group> |
| | | </view> |
| | | <!-- <view class="mobile_login" @click="toMobileLogin"> |
| | | 同意并输入手机号登录 |
| | | </view> --> |
| | | <!-- <view class="agreement_wrap"> |
| | | <view class="agree_item"> |
| | | <view class="item_icon" @click="isChecked = !isChecked"> |
| | | <image v-if="!isChecked" :src="$util.img('upload/img/iconCheck.png')" mode="aspectFit" |
| | | class="item_select_img"></image> |
| | | <image v-else :src="$util.img('upload/img/publish-selected.png')" mode="aspectFit" |
| | | class="item_select_img"></image> |
| | | </view> |
| | | <view class="item_content"> |
| | | 首次登录自动注册运满满及货车帮账号,且已阅读并同意<text class="agreement">《用户服务协议》</text><text |
| | | class="agreement">《个人信息保护政策》</text><text class="agreement">《账号关联协议》</text> |
| | | </view> |
| | | </view> |
| | | <view class="agree_item"> |
| | | <view class="item_icon" @click="isCheckedSan = !isCheckedSan"> |
| | | <image v-if="!isCheckedSan" :src="$util.img('upload/img/iconCheck.png')" mode="aspectFit" |
| | | class="item_select_img"></image> |
| | | <image v-else :src="$util.img('upload/img/publish-selected.png')" mode="aspectFit" |
| | | class="item_select_img"></image> |
| | | </view> |
| | | <view class="item_content"> |
| | | 已阅读并同意<text class="agreement">《第三方合作清单》</text> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | <u-popup ref="popup" type="center"> |
| | | <uni-popup ref="popup" type="center"> |
| | | <view class="bind-wrap"> |
| | | <!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU --> |
| | | <view class="heard">提示</view> |
| | |
| | | @getphonenumber="mobileAuthLogin"><text>点击绑定手机号码</text></button> --> |
| | | <!-- #endif --> |
| | | </view> |
| | | </u-popup> |
| | | <u-popup ref="bindMobile"> |
| | | </uni-popup> |
| | | <uni-popup ref="bindMobile"> |
| | | <view class="bind-wrap"> |
| | | <!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU --> |
| | | <view class="heard">提示</view> |
| | |
| | | @getphonenumber="mobileAuthLogin"><text>点击绑定手机号码</text></button> |
| | | <!-- #endif --> |
| | | </view> |
| | | </u-popup> |
| | | </uni-popup> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | isChecked: false, |
| | | isCheckedSan: false, |
| | | canIUseGetUserProfile: false |
| | | canIUseGetPhoneNumber: false |
| | | }; |
| | | }, |
| | | created() { |
| | | // #ifdef MP-WEIXIN |
| | | if (wx.getUserProfile) this.canIUseGetUserProfile = true; |
| | | if (uni.getStorageSync('queryPhoneNumber')) this.canIUseGetPhoneNumber = true; |
| | | // #endif |
| | | }, |
| | | onShow() { |
| | |
| | | } else { |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', res.code |
| | | ) |
| | | ) |
| | | } |
| | | }, |
| | | fail: res => { |
| | |
| | | back() { |
| | | uni.navigateBack() |
| | | }, |
| | | toMobileLogin() { |
| | | if (!this.isChecked) { |
| | | return this.$util.showToast({ |
| | | title: "请先同意协议" |
| | | getPhoneNumber(e) { |
| | | if (e.detail.errMsg == 'getPhoneNumber:ok') { |
| | | this.$db.set('queryPhoneNumber', 'getPhoneNumber:ok'); |
| | | uni.login({ |
| | | provider: 'weixin', |
| | | timeout: 3000, |
| | | success: res => { |
| | | let obj = { |
| | | bindgetphonenumber: e.detail.code, |
| | | jsCode: res.code |
| | | } |
| | | this.$api.CreateUser(obj).then(result => { |
| | | if (result.code == 1) { |
| | | this.$db.set('userToken', result.data.accessToken); |
| | | this.$util.redirectTo( |
| | | '/pages/index/index', {}, |
| | | 'tabbar') |
| | | } else { |
| | | this.$util.showToast({ |
| | | title: result.msg |
| | | }); |
| | | } |
| | | }).catch((err) => { |
| | | console.log(err, 'uni.loginerr') |
| | | }) |
| | | }, |
| | | }) |
| | | } |
| | | this.$util.redirectTo('/otherPages/member/mobileLogin/mobileLogin') |
| | | console.log(e) |
| | | }, |
| | | mobileAuthLogin(e) { |
| | | console.log(e) |
| | | if (!this.isChecked) { |
| | | return this.$util.showToast({ |
| | | return this.$common.showToast({ |
| | | title: "请先同意协议" |
| | | }) |
| | | } |
| | | // return |
| | | if (e.detail.errMsg == 'getPhoneNumber:ok') { |
| | | let authData = uni.getStorageSync('authInfo'); |
| | | console.log(authData) |
| | | var data = { |
| | | code: e.detail.code, |
| | | uid: authData.id |
| | | // iv: e.detail.iv, |
| | | // encryptedData: e.detail.encryptedData |
| | | }; |
| | | console.log(e) |
| | | // if (Object.keys(authData).length) { |
| | | // Object.assign(data, authData); |
| | | // } |
| | | // if (authData.avatarUrl) data.headimg = authData.avatarUrl; |
| | | // if (authData.nickName) data.nickname = authData.nickName; |
| | | // if (uni.getStorageSync('source_member')) data.source_member = uni.getStorageSync('source_member'); |
| | | |
| | | if (this.isSub) return; |
| | | this.isSub = true; |
| | | |
| | | this.$api.temLogin({ |
| | | data, |
| | | success: res => { |
| | | if (res.code == 1) { |
| | | console.log(res) |
| | | |
| | | if (res.data.wx_openid) { |
| | | this.$util.showToast({ |
| | | title: "登录成功", |
| | | icon: "success" |
| | | }) |
| | | uni.setStorage({ |
| | | key: 'uid', |
| | | data: res.data.id, |
| | | success: () => { |
| | | uni.removeStorageSync('wx_openid_set'); |
| | | uni.removeStorageSync('source_member'); |
| | | uni.removeStorageSync('authInfo'); |
| | | this.$api.temLogin({ |
| | | data: { |
| | | uid: res.data.id, |
| | | }, |
| | | success: res => { |
| | | if (res.code == 1) { |
| | | console.log(res) |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', '1') |
| | | } else { |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', res |
| | | .code) |
| | | } |
| | | }, |
| | | fail: res => { |
| | | this.$util.showToast({ |
| | | title: "接口错误" |
| | | }); |
| | | } |
| | | }); |
| | | // this.$store.dispatch('getCartNumber'); |
| | | setTimeout(() => { |
| | | this.$util.redirectTo( |
| | | '/pages/index/index', {}, |
| | | 'tabbar') |
| | | }, 1000) |
| | | } |
| | | }); |
| | | } else { |
| | | this.$refs.bindMobile.close() |
| | | // uni.setStorageSync('wx_openid_set',1) |
| | | this.$refs.popup.open() |
| | | } |
| | | |
| | | // this.$store.commit('setToken', res.data.token); |
| | | // this.$refs.bindMobile.close(); |
| | | // if (res.data.is_register && this.$refs.registerReward.getReward()) { |
| | | // this.$refs.registerReward.open(); |
| | | // } |
| | | uni.login({ |
| | | provider: 'weixin', |
| | | timeout: 3000, |
| | | success: res => { |
| | | this.$api.temLogin(res.code).then((result) => { |
| | | if (result.code == 1) { |
| | | this.$db.set('userToken', result.data.accessToken); |
| | | this.$util.redirectTo( |
| | | '/pages/index/index', {}, |
| | | 'tabbar') |
| | | } else { |
| | | this.isSub = false; |
| | | this.$util.showToast({ |
| | | title: res.msg |
| | | title: result.msg |
| | | }); |
| | | } |
| | | }, |
| | | fail: res => { |
| | | this.isSub = false; |
| | | this.$util.showToast({ |
| | | title: 'request:fail' |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }).catch((err) => { |
| | | console.log('err', err); |
| | | }) |
| | | }, |
| | | }) |
| | | }, |
| | | getCode(userInfo, callback) { |
| | | uni.login({ |
| | | provider: 'weixin', |
| | | timeout: 3000, |
| | | success: res => { |
| | | console.log(res) |
| | | console.log(res, 'getCode') |
| | | let data = { |
| | | code: res.code, |
| | | nickname: userInfo.nickName, |
| | |
| | | title: "请先同意协议" |
| | | }) |
| | | } |
| | | // if (!this.isChecked || !this.isCheckedSan) { |
| | | // this.$util.showToast({ |
| | | // title: "请勾选用户注册/登录协议和第三方合作清单" |
| | | // }) |
| | | // return |
| | | // } |
| | | // #ifdef MP-WEIXIN |
| | | if (this.canIUseGetUserProfile) { |
| | | wx.getUserProfile({ |
| | | desc: '获取用户个人信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 |
| | | success: (res) => { |
| | | console.log(res) |
| | | if (res.errMsg == 'getUserProfile:ok') { |
| | | |
| | | // this.authInfo.nickName = res.userInfo.nickName; |
| | | // this.authInfo.avatarUrl = res.userInfo.avatarUrl; |
| | | // uni.setStorageSync('authInfo', this.authInfo) |
| | | |
| | | this.getCode(res.userInfo, data => { |
| | | console.log(data) |
| | | if (data.code == 1) { |
| | | uni.setStorageSync('authInfo', data.data) |
| | | if (!data.data.mobile) { |
| | | this.$refs.bindMobile.open() |
| | | } else { |
| | | if (data.data.wx_openid) { |
| | | this.$util.showToast({ |
| | | title: "登录成功", |
| | | icon: "success" |
| | | }) |
| | | uni.setStorage({ |
| | | key: 'uid', |
| | | data: data.data.id, |
| | | success: () => { |
| | | uni.removeStorageSync( |
| | | 'wx_openid_set'); |
| | | uni.removeStorageSync( |
| | | 'source_member'); |
| | | uni.removeStorageSync('authInfo'); |
| | | this.$api.temLogin({ |
| | | data: { |
| | | uid: data.data.id, |
| | | }, |
| | | success: res => { |
| | | if (res.code == |
| | | 1) { |
| | | console |
| | | .log( |
| | | res |
| | | ) |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', |
| | | '1' |
| | | ) |
| | | } else { |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', |
| | | res |
| | | .code |
| | | ) |
| | | } |
| | | }, |
| | | fail: res => { |
| | | this.$util |
| | | .showToast({ |
| | | title: "接口错误" |
| | | }); |
| | | } |
| | | }); |
| | | // this.$store.dispatch('getCartNumber'); |
| | | setTimeout(() => { |
| | | this.$util.redirectTo( |
| | | '/pages/index/index', {}, |
| | | 'tabbar') |
| | | }, 1000) |
| | | } |
| | | }); |
| | | } else { |
| | | // uni.setStorageSync('wx_openid_set',1) |
| | | this.$refs.popup.open() |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | return |
| | | // if (data) { |
| | | // this.authLogin(data); |
| | | // } else { |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // } |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | } else if (e.detail.errMsg == 'getUserInfo:ok') { |
| | | this.getCode(data => { |
| | | if (data.code == 1) { |
| | | uni.setStorageSync('authInfo', data.data) |
| | | if (!data.data.mobile) { |
| | | this.$refs.bindMobile.open() |
| | | } else { |
| | | if (data.data.wx_openid) { |
| | | this.$util.showToast({ |
| | | title: "登录成功", |
| | | icon: "success" |
| | | }) |
| | | uni.setStorage({ |
| | | key: 'uid', |
| | | data: data.data.id, |
| | | success: () => { |
| | | uni.removeStorageSync('wx_openid_set'); |
| | | uni.removeStorageSync('source_member'); |
| | | uni.removeStorageSync('authInfo'); |
| | | this.$api.temLogin({ |
| | | data: { |
| | | uid: data.data.id, |
| | | }, |
| | | success: res => { |
| | | if (res.code == 1) { |
| | | console.log(res) |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', '1') |
| | | } else { |
| | | uni.setStorageSync( |
| | | 'is_perfect_user', res.code |
| | | ) |
| | | } |
| | | }, |
| | | fail: res => { |
| | | this.$util.showToast({ |
| | | title: "接口错误" |
| | | }); |
| | | } |
| | | }); |
| | | // this.$store.dispatch('getCartNumber'); |
| | | setTimeout(() => { |
| | | this.$util.redirectTo( |
| | | '/pages/index/index', {}, |
| | | 'tabbar') |
| | | }, 1000) |
| | | } |
| | | }); |
| | | } else { |
| | | // uni.setStorageSync('wx_openid_set',1) |
| | | this.$refs.popup.open() |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | // #endif |
| | | // if (!uni.getStorageSync('wx_openid_set')) { |
| | | // // #ifdef MP-QQ || MP-BAIDU |
| | | // if (e.detail.errMsg == 'getUserInfo:ok') { |
| | | // this.getCode(data => { |
| | | // if (data) { |
| | | // this.authLogin(data); |
| | | // } else { |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // } |
| | | // }); |
| | | // } |
| | | // // #endif |
| | | |
| | | // // #ifdef MP-WEIXIN |
| | | // if (this.canIUseGetUserProfile) { |
| | | // wx.getUserProfile({ |
| | | // desc: '获取用户个人信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 |
| | | // success: (res) => { |
| | | // if (res.errMsg == 'getUserProfile:ok') { |
| | | |
| | | // // this.authInfo.nickName = res.userInfo.nickName; |
| | | // // this.authInfo.avatarUrl = res.userInfo.avatarUrl; |
| | | // // uni.setStorageSync('authInfo', this.authInfo) |
| | | |
| | | // this.getCode(data => { |
| | | // console.log(data) |
| | | // return |
| | | // if (data) { |
| | | // this.authLogin(data); |
| | | // } else { |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // } |
| | | // }); |
| | | // } |
| | | // } |
| | | // }) |
| | | // } else if (e.detail.errMsg == 'getUserInfo:ok') { |
| | | // this.getCode(data => { |
| | | // if (data) { |
| | | // this.authLogin(data); |
| | | // } else { |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // } |
| | | // }); |
| | | // } |
| | | // // #endif |
| | | |
| | | // // #ifndef MP |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // // #endif |
| | | // } else { |
| | | // this.$refs.auth.close(); |
| | | // this.toLogin(); |
| | | // } |
| | | uni.login({ |
| | | provider: 'weixin', |
| | | timeout: 3000, |
| | | success: res => {}, |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | |
| | | line-height: 70rpx; |
| | | background-color: #35A6FF; |
| | | border-radius: 70rpx; |
| | | padding: 0; |
| | | } |
| | | |
| | | .no_login { |
| | |
| | | color: #ffffff; |
| | | background-color: #35A6FF; |
| | | } |
| | | </style> |
| | | </style> |