feat: 微信登录获取openid

This commit is contained in:
Burt 2024-01-20 18:21:42 +08:00
parent 6a0de23432
commit 70b74eb3cb
5 changed files with 27 additions and 3 deletions

View File

@ -3,4 +3,4 @@ NODE_ENV = 'development'
# 是否去除console 和 debugger # 是否去除console 和 debugger
VITE_DELETE_CONSOLE = false VITE_DELETE_CONSOLE = false
VITE_SERVER_BASEURL = 'http://localhost:4000' VITE_SERVER_BASEURL = 'https://ukw0y1.laf.run'

View File

@ -28,7 +28,7 @@ const countStore = useCountStore()
const userStore = useUserStore() const userStore = useUserStore()
const setUserInfo = () => { const setUserInfo = () => {
userStore.setUserInfo({ username: 'fly', token: 'abcdef' }) userStore.setUserInfo({ nickname: 'fly', avatar: '', token: 'abcdef' })
} }
const clearUserInfo = () => { const clearUserInfo = () => {
userStore.clearUserInfo() userStore.clearUserInfo()

View File

@ -5,12 +5,34 @@
</route> </route>
<template> <template>
<view>我的</view> <view>我的</view>
<view>wx的openid:{{ openId }} </view>
<view @click="goLoginPage">去登录</view> <view @click="goLoginPage">去登录</view>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { useUserStore } from '@/store'
import { http } from '@/utils/http'
const userStore = useUserStore()
const openId = ref('')
const goLoginPage = () => { const goLoginPage = () => {
uni.navigateTo({ url: '/pages/login/index' }) uni.navigateTo({ url: '/pages/login/index' })
} }
// openId // openId
uni.login({
provider: 'weixin',
success: async ({ code }) => {
const res = await http<{ session_key: string; openid: string }>({
method: 'GET',
url: '/weixin/jscode2session',
data: {
code,
},
})
openId.value = res.result.openid
userStore.setUserInfo({ nickname: '微信用户', avatar: '', openid: res.result.openid })
},
})
</script> </script>

View File

@ -5,7 +5,7 @@ import { UserInfo } from '../typings'
export const useUserStore = defineStore( export const useUserStore = defineStore(
'user', 'user',
() => { () => {
const userInfo = ref<UserInfo>() const userInfo = ref<UserInfo>({ nickname: '', avatar: '' })
const setUserInfo = (val: UserInfo) => { const setUserInfo = (val: UserInfo) => {
userInfo.value = val userInfo.value = val

2
src/typings.d.ts vendored
View File

@ -1,6 +1,8 @@
export type UserInfo = { export type UserInfo = {
nickname: string nickname: string
avatar: string avatar: string
/** 微信的 openid非微信没有这个字段 */
openid?: string
token?: string token?: string
} }
export type UserItem = { export type UserItem = {