@@ -92,6 +92,7 @@ OutLinkSchema.virtual('associatedApp', {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
OutLinkSchema.index({ shareId: -1 });
|
OutLinkSchema.index({ shareId: -1 });
|
||||||
|
OutLinkSchema.index({ teamId: 1, tmbId: 1, appId: 1 });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect } from 'react';
|
|||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
import type { ResLogin } from '@/global/support/api/userRes.d';
|
import type { ResLogin } from '@/global/support/api/userRes.d';
|
||||||
import { useUserStore } from '@/web/support/user/useUserStore';
|
import { useUserStore } from '@/web/support/user/useUserStore';
|
||||||
import { clearToken, setToken } from '@/web/support/user/auth';
|
import { clearToken } from '@/web/support/user/auth';
|
||||||
import { postFastLogin } from '@/web/support/user/api';
|
import { postFastLogin } from '@/web/support/user/api';
|
||||||
import { useToast } from '@fastgpt/web/hooks/useToast';
|
import { useToast } from '@fastgpt/web/hooks/useToast';
|
||||||
import Loading from '@fastgpt/web/components/common/MyLoading';
|
import Loading from '@fastgpt/web/components/common/MyLoading';
|
||||||
@@ -24,7 +24,6 @@ const FastLogin = ({
|
|||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const loginSuccess = useCallback(
|
const loginSuccess = useCallback(
|
||||||
(res: ResLogin) => {
|
(res: ResLogin) => {
|
||||||
setToken(res.token);
|
|
||||||
setUserInfo(res.user);
|
setUserInfo(res.user);
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import { useUserStore } from '@/web/support/user/useUserStore';
|
|||||||
import { useChatStore } from '@/web/core/chat/context/useChatStore';
|
import { useChatStore } from '@/web/core/chat/context/useChatStore';
|
||||||
import dynamic from 'next/dynamic';
|
import dynamic from 'next/dynamic';
|
||||||
import { serviceSideProps } from '@fastgpt/web/common/system/nextjs';
|
import { serviceSideProps } from '@fastgpt/web/common/system/nextjs';
|
||||||
import { clearToken, setToken } from '@/web/support/user/auth';
|
import { clearToken } from '@/web/support/user/auth';
|
||||||
import Script from 'next/script';
|
import Script from 'next/script';
|
||||||
import Loading from '@fastgpt/web/components/common/MyLoading';
|
import Loading from '@fastgpt/web/components/common/MyLoading';
|
||||||
import { useLocalStorageState, useMount } from 'ahooks';
|
import { useLocalStorageState, useMount } from 'ahooks';
|
||||||
@@ -60,7 +60,6 @@ const Login = ({ ChineseRedirectUrl }: { ChineseRedirectUrl: string }) => {
|
|||||||
const loginSuccess = useCallback(
|
const loginSuccess = useCallback(
|
||||||
(res: ResLogin) => {
|
(res: ResLogin) => {
|
||||||
setUserInfo(res.user);
|
setUserInfo(res.user);
|
||||||
setToken(res.token);
|
|
||||||
|
|
||||||
const decodeLastRoute = decodeURIComponent(lastRoute);
|
const decodeLastRoute = decodeURIComponent(lastRoute);
|
||||||
// 检查是否是当前的 route
|
// 检查是否是当前的 route
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { useRouter } from 'next/router';
|
|||||||
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
||||||
import type { ResLogin } from '@/global/support/api/userRes.d';
|
import type { ResLogin } from '@/global/support/api/userRes.d';
|
||||||
import { useUserStore } from '@/web/support/user/useUserStore';
|
import { useUserStore } from '@/web/support/user/useUserStore';
|
||||||
import { clearToken, setToken } from '@/web/support/user/auth';
|
import { clearToken } from '@/web/support/user/auth';
|
||||||
import { oauthLogin } from '@/web/support/user/api';
|
import { oauthLogin } from '@/web/support/user/api';
|
||||||
import { useToast } from '@fastgpt/web/hooks/useToast';
|
import { useToast } from '@fastgpt/web/hooks/useToast';
|
||||||
import Loading from '@fastgpt/web/components/common/MyLoading';
|
import Loading from '@fastgpt/web/components/common/MyLoading';
|
||||||
@@ -24,7 +24,6 @@ const provider = () => {
|
|||||||
|
|
||||||
const loginSuccess = useCallback(
|
const loginSuccess = useCallback(
|
||||||
(res: ResLogin) => {
|
(res: ResLogin) => {
|
||||||
setToken(res.token);
|
|
||||||
setUserInfo(res.user);
|
setUserInfo(res.user);
|
||||||
|
|
||||||
router.push(loginStore?.lastRoute ? decodeURIComponent(loginStore?.lastRoute) : '/app/list');
|
router.push(loginStore?.lastRoute ? decodeURIComponent(loginStore?.lastRoute) : '/app/list');
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import StandardPlan from './components/Standard';
|
|||||||
import ExtraPlan from './components/ExtraPlan';
|
import ExtraPlan from './components/ExtraPlan';
|
||||||
import PointsCard from './components/Points';
|
import PointsCard from './components/Points';
|
||||||
import FAQ from './components/FAQ';
|
import FAQ from './components/FAQ';
|
||||||
import { getToken } from '@/web/support/user/auth';
|
|
||||||
import { useTranslation } from 'next-i18next';
|
import { useTranslation } from 'next-i18next';
|
||||||
import MyIcon from '@fastgpt/web/components/common/Icon';
|
import MyIcon from '@fastgpt/web/components/common/Icon';
|
||||||
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
||||||
@@ -22,7 +21,7 @@ const PriceBox = () => {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const { data: teamSubPlan } = useQuery(['getTeamPlanStatus'], getTeamPlanStatus, {
|
const { data: teamSubPlan } = useQuery(['getTeamPlanStatus'], getTeamPlanStatus, {
|
||||||
enabled: !!getToken() || !!userInfo
|
enabled: !!userInfo
|
||||||
});
|
});
|
||||||
|
|
||||||
const onPaySuccess = () => {
|
const onPaySuccess = () => {
|
||||||
|
|||||||
@@ -1,20 +1,9 @@
|
|||||||
import { loginOut } from '@/web/support/user/api';
|
import { loginOut } from '@/web/support/user/api';
|
||||||
|
|
||||||
const tokenKey = 'token';
|
|
||||||
export const clearToken = () => {
|
export const clearToken = () => {
|
||||||
try {
|
try {
|
||||||
localStorage.removeItem(tokenKey);
|
|
||||||
return loginOut();
|
return loginOut();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
error;
|
error;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const setToken = (token: string) => {
|
|
||||||
if (typeof window === 'undefined') return '';
|
|
||||||
localStorage.setItem(tokenKey, token);
|
|
||||||
};
|
|
||||||
export const getToken = () => {
|
|
||||||
if (typeof window === 'undefined') return '';
|
|
||||||
return localStorage.getItem(tokenKey) || '';
|
|
||||||
};
|
|
||||||
|
|||||||
Reference in New Issue
Block a user