mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-01-27 05:15:43 +08:00
01d60336a6
* feat: refreshToken * chore: store refreshToken * chore: generate token using jsonwebtoken * chore: set refreshToken in httpOnly cookie * perf: authHeader verify * chore: add add response interceptor * chore: test refresh * chore: handle logout * chore: type * chore: update pnpm-lock.yaml * chore: remove test code * chore: add todo comment * chore: update pnpm-lock.yaml * chore: remove default interceptors * chore: copy codes * chore: handle refreshToken invalid * chore: add refreshToken preference * chore: typo * chore: refresh token逻辑调整 * refactor: interceptor presets * chore: copy codes * fix: ci errors * chore: add missing await * feat: 完善refresh-token逻辑及文档 * fix: ci error * chore: filename --------- Co-authored-by: vince <vince292007@gmail.com>
30 lines
704 B
TypeScript
30 lines
704 B
TypeScript
import type { EventHandlerRequest, H3Event } from 'h3';
|
|
|
|
export function useResponseSuccess<T = any>(data: T) {
|
|
return {
|
|
code: 0,
|
|
data,
|
|
error: null,
|
|
message: 'ok',
|
|
};
|
|
}
|
|
|
|
export function useResponseError(message: string, error: any = null) {
|
|
return {
|
|
code: -1,
|
|
data: null,
|
|
error,
|
|
message,
|
|
};
|
|
}
|
|
|
|
export function forbiddenResponse(event: H3Event<EventHandlerRequest>) {
|
|
setResponseStatus(event, 403);
|
|
return useResponseError('ForbiddenException', 'Forbidden Exception');
|
|
}
|
|
|
|
export function unAuthorizedResponse(event: H3Event<EventHandlerRequest>) {
|
|
setResponseStatus(event, 401);
|
|
return useResponseError('UnauthorizedException', 'Unauthorized Exception');
|
|
}
|