Spaces:
Sleeping
Sleeping
| /** | |
| * 退出登录接口 | |
| */ | |
| import { parseCookies } from 'h3'; | |
| import { cookieStore, getTokenFromStore } from '~/server/utils/CookieStore'; | |
| import { proxyMpRequest } from '~/server/utils/proxy-request'; | |
| export default defineEventHandler(async event => { | |
| const token = await getTokenFromStore(event); | |
| if (!token) { | |
| return { statusCode: 401, statusText: '未登录或登录已过期,请重新扫码登录' }; | |
| } | |
| const response: Response = await proxyMpRequest({ | |
| event: event, | |
| method: 'GET', | |
| endpoint: 'https://mp.weixin.qq.com/cgi-bin/logout', | |
| query: { | |
| t: 'wxm-logout', | |
| token: token, | |
| lang: 'zh_CN', | |
| }, | |
| }); | |
| // 登出后清理内存中的 cookie 缓存 | |
| const authKey = getRequestHeader(event, 'X-Auth-Key') || parseCookies(event)['auth-key']; | |
| if (authKey) { | |
| cookieStore.removeCookie(authKey); | |
| } | |
| return { | |
| statusCode: response.status, | |
| statusText: response.statusText, | |
| }; | |
| }); | |