From fa74612c99459a8b4e94121d2d3bfcc42915208b Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期二, 27 五月 2025 16:08:20 +0800 Subject: [PATCH] loading,wechatLogin --- pages/login/login.vue | 57 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 36 insertions(+), 21 deletions(-) diff --git a/pages/login/login.vue b/pages/login/login.vue index 7434365..a926a9a 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -50,8 +50,11 @@ import { onShow } from '@dcloudio/uni-app' import { useGlobal } from '@/composables/useGlobal' import { usePlatformLoginType } from '@/composables/usePlatformLoginType' +import { useUserStore } from '@/store/user' + const { apitype } = usePlatformLoginType() -const { $http, $message,$store } = useGlobal() +const { $http, $message, $store } = useGlobal() +const userStore = useUserStore() const isChecked = ref(false) const toggleCheck = () => { @@ -64,8 +67,29 @@ uni.showToast({ title: '请先同意协议', icon: 'none' }); return; } - // 微信登录逻辑 - uni.showToast({ title: '微信登录', icon: 'success' }); + // 微信登录 + uni.login({ + "provider": "weixin", + "onlyAuthorize": true, // 微信登录仅请求授权认证 + success: async function (event:any) { + const { code } = event + $message.showLoading(); + const resp = await userStore.loginwx({ code, phoneNumber: wxUser.value.phoneNumber, purePhoneNumber: wxUser.value.purePhoneNumber }) + if (resp && resp.data) { + // that.$forceUpdate() + uni.reLaunch({ + url: '/pages/home/home' + }) + } + $message.hideLoading(); + }, + fail: function (err:any) { + // 登录授权失败 + // err.code是错误码 + } + }) + + }; onShow(() => { @@ -77,13 +101,8 @@ "provider": "weixin", "onlyAuthorize": true, // 微信登录仅请求授权认证 success: async function (event: any) { - console.log("aaaa") - console.log(event) const { code } = event let openIdExistFlag = await getExistUserByOpenId(code); - console.log(openIdExistFlag) - console.log(wxUser.value) - }, fail: function (err: any) { // 登录授权失败 @@ -101,8 +120,6 @@ } }) if (code == 0) { - console.log("查看当前用户是否已经绑定过") - console.log(data) wxUser.value = data if (wxUser && wxUser.user) { return true @@ -113,16 +130,13 @@ } } -const handleGetPhoneNumber = async (e:any) => { +const handleGetPhoneNumber = async (e: any) => { + if (!isChecked.value) { $message.showToast('请同意用户协议') return } - debugger; - console.log(e) - console.log(e.detail.code) // 动态令牌 - console.log(e.detail.errMsg) // 回调信息(成功失败都会返回) - console.log(e.detail.errno) // 错误码(失败时返回) + if (e.detail.errMsg == 'getPhoneNumber:ok') { console.log('获取成功') const { @@ -134,13 +148,13 @@ } }) if (code == 0) { + debugger; // 获取手机号码后,实现微信登录 - console.log(data) const phoneNumber = data.phone_info.phoneNumber; const purePhoneNumber = data.phone_info.purePhoneNumber; wxUser.value.phoneNumber = phoneNumber wxUser.value.purePhoneNumber = purePhoneNumber - // that.handleWechatClick() + handleWechatClick() } else { } @@ -153,10 +167,11 @@ uni.login({ "provider": "weixin", "onlyAuthorize": true, // 微信登录仅请求授权认证 - success: async function (event) { + success: async function (event: any) { const { code } = event $message.showLoading(); - const resp = await $store.dispatch('loginwx', { code, phoneNumber: wxUser.phoneNumber, purePhoneNumber: wxUser.purePhoneNumber }) + console.log("获取到的微信用户信息是:", wxUser.value) + const resp = await userStore.loginwx({ code, phoneNumber: wxUser.value.phoneNumber, purePhoneNumber: wxUser.value.purePhoneNumber }) if (resp && resp.data) { // $forceUpdate() uni.reLaunch({ @@ -165,7 +180,7 @@ } $message.hideLoading(); }, - fail: function (err) { + fail: function (err: any) { // 登录授权失败 // err.code是错误码 } -- Gitblit v1.9.3