feat: 微信登录获取openid
This commit is contained in:
parent
6a0de23432
commit
70b74eb3cb
2
env/.env.development
vendored
2
env/.env.development
vendored
@ -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'
|
||||||
|
@ -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()
|
||||||
|
@ -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>
|
||||||
|
@ -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
2
src/typings.d.ts
vendored
@ -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 = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user