diff --git a/src/api/users/index.ts b/src/api/users/index.ts index 985c9e6..46a4a48 100644 --- a/src/api/users/index.ts +++ b/src/api/users/index.ts @@ -1,5 +1,5 @@ import { http } from "@/http/http"; -import type { CurrentUserResponseData, WxUserDTO } from './types'; +import type { CurrentUserResponseData, WxUserDTO, DynamicCodeResponse } from './types'; /** 获取当前登录用户详情 */ export async function getCurrentUserApi() { @@ -8,4 +8,9 @@ export async function getCurrentUserApi() { export async function mpCodeToOpenId(code: string) { return await http.get("wx/mpCodeToOpenId", { code }); +} + +/** 根据openid获取动态码 */ +export async function generateDynamicCode(openid: string) { + return await http.get("wx/generateDynamicCode", { openid }); } \ No newline at end of file diff --git a/src/api/users/types.ts b/src/api/users/types.ts index 678ed47..a3536b8 100644 --- a/src/api/users/types.ts +++ b/src/api/users/types.ts @@ -26,4 +26,12 @@ export interface WxUserDTO { updateTime?: string; /** 备注 */ remark?: string; +} + +/** 动态码响应数据 */ +export interface DynamicCodeResponse { + /** 动态码 */ + dynamicCode: string; + /** 有效时间(分钟) */ + validityMinutes: string; } \ No newline at end of file diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index f534c60..8de7686 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -6,7 +6,7 @@ import { useCartStore } from '@/pinia/stores/cart' import { getShopListApi } from '@/api/shop' import type { ShopEntity } from '@/api/shop/types' import ProductContainer from './components/product-container.vue'; -import { mpCodeToOpenId } from '@/api/users' +import { generateDynamicCode, mpCodeToOpenId } from '@/api/users' import { toHttpsUrl } from '@/utils' definePage({ @@ -32,7 +32,13 @@ onMounted(async () => { provider: 'weixin', //使用微信登录 success: function (loginRes) { mpCodeToOpenId(loginRes.code).then((wxUser) => { - console.log('wxUser:', wxUser) + console.log('wxUser:', wxUser); + wxStore.setOpenid(wxUser.data.openid); + generateDynamicCode(wxUser.data.openid).then((dynamicCode) => { + console.log('dynamicCode:', dynamicCode); + }).catch((e) => { + console.error('generateDynamicCode error:', e) + }) }).catch((e) => { console.error('mpCodeToOpenId error:', e) })