Refactor token handling and update login flow
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
import { isArray } from "~/utils/utils";
|
import { isArray } from "~/utils/utils";
|
||||||
|
import refreshToken from "~/utils/RefreshToken";
|
||||||
|
|
||||||
type FetchType = typeof $fetch;
|
type FetchType = typeof $fetch;
|
||||||
export type FetchOptions = Parameters<FetchType>[1];
|
export type FetchOptions = Parameters<FetchType>[1];
|
||||||
@ -7,16 +8,15 @@ const useClientRequest = async <T = unknown>(
|
|||||||
url: string,
|
url: string,
|
||||||
opts?: FetchOptions
|
opts?: FetchOptions
|
||||||
) => {
|
) => {
|
||||||
const token = useCookie<string | undefined>("token");
|
// const token = useCookie<string | undefined>("token");
|
||||||
const runtimeConfig = useRuntimeConfig();
|
const runtimeConfig = useRuntimeConfig();
|
||||||
|
|
||||||
const defaultOptions: FetchOptions = {
|
const defaultOptions: FetchOptions = {
|
||||||
baseURL: runtimeConfig.public.apiBase,
|
baseURL: runtimeConfig.public.apiBase,
|
||||||
onRequest({ options }) {
|
onRequest({ options }) {
|
||||||
options.headers = options.headers || 'application/json';
|
options.headers = options.headers || 'application/json';
|
||||||
if (token.value) {
|
if (refreshToken.getToken().token) {
|
||||||
// @ts-ignore
|
options.headers.set("Authorization", `Bearer ${refreshToken.getToken().token}`);
|
||||||
options.headers["authorization"] = "Bearer " + token.value;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onResponse({ response }) {
|
onResponse({ response }) {
|
||||||
|
|||||||
@ -4,14 +4,7 @@ import { getUserInfo } from "~/api/common/index";
|
|||||||
import type { AppMemberUserInfoRespVO } from "~/api/common/types";
|
import type { AppMemberUserInfoRespVO } from "~/api/common/types";
|
||||||
import MQTTClient from "~/utils/mqttClient";
|
import MQTTClient from "~/utils/mqttClient";
|
||||||
import { socialLoginByCode } from "~/api/pay";
|
import { socialLoginByCode } from "~/api/pay";
|
||||||
// const {
|
const app = useNuxtApp();
|
||||||
// $openLogin,
|
|
||||||
// $closeLogin,
|
|
||||||
// $openRegister,
|
|
||||||
// $closeRegister,
|
|
||||||
// $openLoginEmail,
|
|
||||||
// $closeLoginEmail,
|
|
||||||
// } = useNuxtApp();
|
|
||||||
|
|
||||||
export default defineStore("useUserStore", {
|
export default defineStore("useUserStore", {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
@ -90,8 +83,7 @@ export default defineStore("useUserStore", {
|
|||||||
// 打开登录界面
|
// 打开登录界面
|
||||||
if (!data.accessToken) {
|
if (!data.accessToken) {
|
||||||
ElMessage.error("因你未绑定手机号,请先绑定手机号");
|
ElMessage.error("因你未绑定手机号,请先绑定手机号");
|
||||||
// @ts-ignore
|
app.$openLogin("verify", row.code, row.type, row.state);
|
||||||
// $openLogin("verify", row.code, row.type, row.state);
|
|
||||||
} else {
|
} else {
|
||||||
refreshToken.setToken(data.accessToken, data.refreshToken);
|
refreshToken.setToken(data.accessToken, data.refreshToken);
|
||||||
refreshToken.setUserId(data.userId.toString());
|
refreshToken.setUserId(data.userId.toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user