<template>
	<div class="h-full pt-200rpx bg-white px-50rpx">
		<u-button type="primary" shape="circle" ripple @click="handleLogin">
			微信快捷登录
		</u-button>
	</div>
</template>

<script setup>
// import { login } from '@uni-helper/uni-promises'

const instance = getCurrentInstance()
const { $toast, $api, $store } = instance.proxy
const handleLogin = () => {
	$store.user.login()
}
function getUserInfo() {
	uni.getUserInfo({
		provider: 'weixin',
		success: function (res) {
			// 获取用户信息成功
			console.log('用户信息：', res.userInfo)
			// 将用户信息发送给后端服务器进行处理
			sendUserInfoToServer(res.userInfo)
		},
		fail: function (err) {
			// 获取用户信息失败
			console.error('获取用户信息失败：', err)
			// 如果用户拒绝授权，可以引导用户打开授权设置页面
			if (err.errMsg === 'getUserInfo:fail auth deny') {
				openAuthSetting()
			}
		}
	})
}
function openAuthSetting() {
	uni.openSetting({
		success: function (res) {
			if (res.authSetting['scope.userInfo']) {
				// 用户开启了授权，重新调用 `uni.getUserInfo` 获取用户信息
				getUserInfo()
			}
		}
	})
}

function sendUserInfoToServer(userInfo) {
	console.log('🚀 ~ file: index.vue:61 ~ userInfo:', userInfo)
	// 将登录凭证 code 和用户信息发送给后端服务器
	// 后端服务器通过调用微信的接口验证登录凭证的有效性，并返回用户的唯一标识，如 openid 和 session_key
	// 根据后端返回的用户标识，可以进行后续的登录流程，例如在前端保存用户信息、进行页面跳转等
}
</script>

<style></style>
