1
10 小时以前 12d9f4e03c0331efc9a656356e78b9f314639707
rsf-admin/src/config/authProvider.js
@@ -4,33 +4,51 @@
import avatar from '/avatar.jpg'
const AI_COMPONENTS = new Set([
  'aiParam',
  'aiPrompt',
  'aiDiagnosis',
  'aiDiagnosisPlan',
  'aiCallLog',
  'aiRoute',
  'aiToolConfig',
  'aiMcpMount',
]);
const filterAiMenus = (items = []) =>
  items
    .filter((item) => !AI_COMPONENTS.has(item.component))
    .map((item) => ({
      ...item,
      children: item.children ? filterAiMenus(item.children) : item.children,
    }));
const AuthProvider = {
  // login
  login: async ({ username, password, tenantId }) => {
    const { accessToken, user, tenant } = await login({
    const { code, msg, data } = await login({
      username: username,
      password: password,
      tenantId: tenantId,
    });
    })
    if (user && accessToken) {
      const userToPersist = {
        avatar: avatar,
        fullName: user.nickname,
        id: user.id,
        username: user.username,
        tenant: tenant,
    if (code === 200) {
      const { accessToken, user, tenant } = data;
      if (user && accessToken) {
        const userToPersist = {
          avatar: avatar,
          fullName: user.nickname,
          id: user.id,
          username: user.username,
          tenant: tenant,
        }
        setToken(accessToken);
        localStorage.setItem("user", JSON.stringify(userToPersist));
        return Promise.resolve();
      }
      setToken(accessToken);
      localStorage.setItem("user", JSON.stringify(userToPersist));
      return Promise.resolve();
    }
    return Promise.reject(
      new HttpError("Unauthorized", 401, {
        message: "Invalid username or password",
      }),
    );
    return Promise.reject({ code, msg, data });
  },
  // logout
  logout: () => {
@@ -59,7 +77,7 @@
    const res = await menus();
    const { code, msg, data } = res.data;
    if (code === 200) {
      return Promise.resolve(data);
      return Promise.resolve(filterAiMenus(data));
    } else if (code === 401) {
      localStorage.removeItem("user");
      return Promise.reject();