react-toolkits 2.22.16 → 2.22.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +3 -3
  3. package/lib/{chunk-MFVQ4PJU.js → chunk-5AZUEAO6.js} +2 -2
  4. package/lib/{chunk-MFVQ4PJU.js.map → chunk-5AZUEAO6.js.map} +1 -1
  5. package/lib/chunk-ELWFPSZ3.js +3 -0
  6. package/lib/chunk-ELWFPSZ3.js.map +1 -0
  7. package/lib/chunk-FYDL6C7K.js +2 -0
  8. package/lib/{chunk-TLXOBLJT.js.map → chunk-FYDL6C7K.js.map} +1 -1
  9. package/lib/chunk-JY2FBS4J.js +2 -0
  10. package/lib/chunk-JY2FBS4J.js.map +1 -0
  11. package/lib/chunk-LFXV5XDO.js +2 -0
  12. package/lib/chunk-LFXV5XDO.js.map +1 -0
  13. package/lib/chunk-NTNSPCQ6.js +2 -0
  14. package/lib/chunk-NTNSPCQ6.js.map +1 -0
  15. package/lib/chunk-WTIZ34IN.js +2 -0
  16. package/lib/chunk-WTIZ34IN.js.map +1 -0
  17. package/lib/chunk-XJ4VOQSY.js +2 -0
  18. package/lib/chunk-XJ4VOQSY.js.map +1 -0
  19. package/lib/chunk-ZFJEJO64.js +2 -0
  20. package/lib/chunk-ZFJEJO64.js.map +1 -0
  21. package/lib/{createMenuItem-Z5SGFFW4.js → createMenuItem-YQKGNZJ3.js} +2 -2
  22. package/lib/{createMenuItem-Z5SGFFW4.js.map → createMenuItem-YQKGNZJ3.js.map} +1 -1
  23. package/lib/index.d.ts +39 -16
  24. package/lib/index.js +2 -2
  25. package/lib/index.js.map +1 -1
  26. package/lib/{menuItemList-BOXALHYO.js → menuItemList-MSUEQLKS.js} +2 -2
  27. package/lib/{menuItemList-BOXALHYO.js.map → menuItemList-MSUEQLKS.js.map} +1 -1
  28. package/lib/{roleDetail-NQS6CEVO.js → roleDetail-NTCJ4RHD.js} +2 -2
  29. package/lib/roleDetail-NTCJ4RHD.js.map +1 -0
  30. package/lib/{roleList-CZJYZNRP.js → roleList-KIAIR7EW.js} +2 -2
  31. package/lib/roleList-KIAIR7EW.js.map +1 -0
  32. package/lib/{updateMenuItem-YNY4BC67.js → updateMenuItem-VXB2TQLX.js} +2 -2
  33. package/lib/{updateMenuItem-YNY4BC67.js.map → updateMenuItem-VXB2TQLX.js.map} +1 -1
  34. package/lib/userDetail-GYVSA5RN.js +2 -0
  35. package/lib/userDetail-GYVSA5RN.js.map +1 -0
  36. package/lib/userList-4CZ6IEGA.js +2 -0
  37. package/lib/userList-4CZ6IEGA.js.map +1 -0
  38. package/locale/en_GB.js +1 -1
  39. package/locale/en_GB.js.map +1 -1
  40. package/locale/index.d.ts +1 -0
  41. package/locale/ja_JP.js +1 -1
  42. package/locale/ja_JP.js.map +1 -1
  43. package/locale/ko_KR.js +1 -1
  44. package/locale/ko_KR.js.map +1 -1
  45. package/locale/zh_CN.js +1 -1
  46. package/locale/zh_CN.js.map +1 -1
  47. package/package.json +1 -1
  48. package/lib/chunk-267EULS6.js +0 -2
  49. package/lib/chunk-267EULS6.js.map +0 -1
  50. package/lib/chunk-7KC4QGFG.js +0 -2
  51. package/lib/chunk-7KC4QGFG.js.map +0 -1
  52. package/lib/chunk-BKF7C4LV.js +0 -2
  53. package/lib/chunk-BKF7C4LV.js.map +0 -1
  54. package/lib/chunk-EKBAANKX.js +0 -3
  55. package/lib/chunk-EKBAANKX.js.map +0 -1
  56. package/lib/chunk-EQKZ3442.js +0 -2
  57. package/lib/chunk-EQKZ3442.js.map +0 -1
  58. package/lib/chunk-K227EWOS.js +0 -2
  59. package/lib/chunk-K227EWOS.js.map +0 -1
  60. package/lib/chunk-T2ZOW3WL.js +0 -2
  61. package/lib/chunk-T2ZOW3WL.js.map +0 -1
  62. package/lib/chunk-TLXOBLJT.js +0 -2
  63. package/lib/roleDetail-NQS6CEVO.js.map +0 -1
  64. package/lib/roleList-CZJYZNRP.js.map +0 -1
  65. package/lib/userDetail-53CJQES3.js +0 -2
  66. package/lib/userDetail-53CJQES3.js.map +0 -1
  67. package/lib/userList-NQKY4SV2.js +0 -2
  68. package/lib/userList-NQKY4SV2.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/services/index.ts"],"names":["usePermission","code","config","ky","useKy","permissionVersion","useToolkitsStore","permissionCodes","version","data","rest","useQuery","queryKeys","newData","acc","curr","useMenuList","loginPath","gameId","APP_ID_HEADER","useGames","gameApiV2","requestConfig"],"mappings":"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","file":"chunk-ZFJEJO64.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { Options as KyOptions } from 'ky'\n\nimport type { Game } from '@/components/layout/types'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function usePermission(code?: string | string[], config?: KyOptions) {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const permissionCodes: string[] = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n const version = permissionVersion !== PermissionVersion.V1 ? 'v2' : 'v1'\n\n const { data, ...rest } = useQuery({\n queryKey: queryKeys.permissions.check(permissionCodes, version),\n queryFn: () =>\n ky.post<Record<string, boolean> & { has_all?: boolean }>(\n permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check',\n {\n permissions: permissionCodes,\n },\n config,\n ),\n enabled: permissionCodes.length > 0,\n retry: false,\n })\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n }\n}\n\nexport function useMenuList() {\n const { loginPath, gameId } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.menus.navbar(gameId ? String(gameId) : undefined),\n queryFn: () =>\n ky.get<MenuListItem[]>('/api/usystem/menu/navbar', {\n headers: { [APP_ID_HEADER]: gameId ? encodeURIComponent(String(gameId)) : 'global' },\n }),\n enabled: window.location.pathname !== loginPath,\n })\n}\n\nexport const useGames = () => {\n const { gameApiV2, permissionVersion } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.games.all,\n queryFn: async () => {\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (gameApiV2) {\n const response = await ky.get<{ list: Game[] }>('/api/game/list', requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>('/api/usystem/game/all', requestConfig)\n return response ?? []\n },\n enabled: permissionVersion !== PermissionVersion.V1,\n retry: false,\n })\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-MFVQ4PJU.js';import {j,f}from'./chunk-EKBAANKX.js';import {Editor}from'@monaco-editor/react';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useNavigate}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var y=j(()=>{let{message:p}=App.useApp(),[c]=Form.useForm(),o=useNavigate(),{mutate:I}=a();return jsx(Card,{title:"\u521B\u5EFA\u83DC\u5355\u9879",children:jsxs(Form,{scrollToFirstError:!0,form:c,labelCol:{flex:"120px"},initialValues:{is_common:!1,is_model:!1,order:0},onFinish:async d=>{let{permissions:s,front_route:f$1,...F}=d;await I({...F,front_route:f+f$1,permissions:s?JSON.parse(s):void 0}),p.success("\u521B\u5EFA\u6210\u529F",.8,()=>o("..",{relative:"route"}));},children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:!0}],children:jsx(Input,{prefix:f})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:!0}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:!0}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{o("..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:!0}),M=y;export{M as default};//# sourceMappingURL=createMenuItem-Z5SGFFW4.js.map
2
- //# sourceMappingURL=createMenuItem-Z5SGFFW4.js.map
1
+ import {a}from'./chunk-5AZUEAO6.js';import {j,f}from'./chunk-ELWFPSZ3.js';import {Editor}from'@monaco-editor/react';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useNavigate}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var y=j(()=>{let{message:p}=App.useApp(),[c]=Form.useForm(),o=useNavigate(),{mutate:I}=a();return jsx(Card,{title:"\u521B\u5EFA\u83DC\u5355\u9879",children:jsxs(Form,{scrollToFirstError:!0,form:c,labelCol:{flex:"120px"},initialValues:{is_common:!1,is_model:!1,order:0},onFinish:async d=>{let{permissions:s,front_route:f$1,...F}=d;await I({...F,front_route:f+f$1,permissions:s?JSON.parse(s):void 0}),p.success("\u521B\u5EFA\u6210\u529F",.8,()=>o("..",{relative:"route"}));},children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:!0}],children:jsx(Input,{prefix:f})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:!0}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:!0}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{o("..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:!0}),M=y;export{M as default};//# sourceMappingURL=createMenuItem-YQKGNZJ3.js.map
2
+ //# sourceMappingURL=createMenuItem-YQKGNZJ3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/menu/pages/createMenuItem/index.tsx"],"names":["CreateMenuItem","withContext","message","App","form","Form","navigate","useNavigate","createMenu","useCreateMenu","jsx","Card","jsxs","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","Input","Switch","InputNumber","Editor","Button","createMenuItem_default"],"mappings":"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","file":"createMenuItem-Z5SGFFW4.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport type { MenuListItem } from '@/types'\n\nimport { useCreateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutate: createMenu } = useCreateMenu()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await createMenu({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default CreateMenuItem\n"]}
1
+ {"version":3,"sources":["../src/modules/menu/pages/createMenuItem/index.tsx"],"names":["CreateMenuItem","withContext","message","App","form","Form","navigate","useNavigate","createMenu","useCreateMenu","jsx","Card","jsxs","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","Input","Switch","InputNumber","Editor","Button","createMenuItem_default"],"mappings":"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","file":"createMenuItem-YQKGNZJ3.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport type { MenuListItem } from '@/types'\n\nimport { useCreateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutate: createMenu } = useCreateMenu()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await createMenu({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default CreateMenuItem\n"]}
package/lib/index.d.ts CHANGED
@@ -1,17 +1,34 @@
1
+ import { ButtonProps, FormInstance, MenuProps, SelectProps, DrawerProps, Button, FormProps, ModalProps } from 'antd';
2
+ import { Options } from 'ky';
1
3
  import * as react from 'react';
2
4
  import { FC, PropsWithChildren, Key, ReactNode, ReactElement, Ref, DetailedHTMLProps, ImgHTMLAttributes, ComponentType, ComponentProps } from 'react';
3
5
  import { ParagraphProps } from 'antd/es/typography/Paragraph';
4
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
- import { FormInstance, MenuProps, SelectProps, ButtonProps, DrawerProps, Button, FormProps, ModalProps } from 'antd';
6
7
  import { AnyObject } from 'antd/es/_util/type';
7
8
  import { TableProps } from 'antd/es/table';
8
9
  import * as zustand from 'zustand';
9
10
  import { ItemType, SubMenuType, MenuItemGroupType, MenuItemType } from 'antd/es/menu/interface';
10
11
  import { Merge } from 'ts-essentials';
11
- import { Options } from 'ky';
12
12
  import * as _tanstack_react_query from '@tanstack/react-query';
13
13
  import { StateStorage } from 'zustand/middleware';
14
14
 
15
+ interface AuthButtonProps extends ButtonProps {
16
+ /** 权限码,支持单个或多个 */
17
+ code?: string | string[];
18
+ /** 加载时是否显示 loading 状态 */
19
+ showLoading?: boolean;
20
+ /** 请求配置 */
21
+ config?: Options;
22
+ }
23
+ /**
24
+ * 授权按钮组件
25
+ * 根据权限码自动控制按钮的启用/禁用状态
26
+ * - 有权限:正常显示可点击按钮
27
+ * - 无权限:显示禁用按钮并带有提示
28
+ * - 加载中:显示加载状态
29
+ */
30
+ declare const AuthButton: FC<PropsWithChildren<AuthButtonProps>>;
31
+
15
32
  interface DynamicTagsProps {
16
33
  initialTags?: string[];
17
34
  addable?: boolean;
@@ -200,13 +217,6 @@ declare const Layout: FC<PropsWithChildren<LayoutProps>>;
200
217
  type LogoProps = Omit<DetailedHTMLProps<ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, 'src' | 'alt'>;
201
218
  declare const Logo: FC<LogoProps>;
202
219
 
203
- interface PermissionButtonProps extends ButtonProps {
204
- code?: string | string[];
205
- showLoading?: boolean;
206
- config?: Options;
207
- }
208
- declare const PermissionButton: FC<PropsWithChildren<PermissionButtonProps>>;
209
-
210
220
  interface QueryListPayload<Values = any> {
211
221
  page?: number;
212
222
  size?: number;
@@ -302,13 +312,24 @@ declare const useQueryListStore: zustand.UseBoundStore<Omit<Omit<zustand.StoreAp
302
312
  };
303
313
  }>;
304
314
 
305
- declare const RequireGame: FC<PropsWithChildren>;
306
-
307
- interface RequirePermissionProps {
315
+ interface RequireAuthProps {
316
+ /** 权限码 */
308
317
  code: string;
318
+ /** 请求配置 */
309
319
  config?: Options;
320
+ /** 无权限时点击返回按钮跳转的路径,默认为首页 '/' */
321
+ redirectPath?: string;
310
322
  }
311
- declare const RequirePermission: FC<PropsWithChildren<RequirePermissionProps>>;
323
+ /**
324
+ * 授权保护组件
325
+ * 根据权限码控制子组件的访问权限
326
+ * - 有权限:渲染子组件
327
+ * - 无权限:显示 403 无权限页面,可点击按钮返回指定路径
328
+ * - 加载中:显示加载动画
329
+ */
330
+ declare const RequireAuth: FC<PropsWithChildren<RequireAuthProps>>;
331
+
332
+ declare const RequireGame: FC<PropsWithChildren>;
312
333
 
313
334
  declare const SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
314
335
  declare const APP_ID_HEADER = "App-ID";
@@ -316,7 +337,8 @@ declare const FRONTEND_ROUTE_PREFIX = "/console/";
316
337
  declare enum PermissionVersion {
317
338
  V1 = "v1",
318
339
  V2 = "v2",
319
- V3 = "v3"
340
+ V3 = "v3",
341
+ V4 = "v4"
320
342
  }
321
343
  declare const WILDCARD = "*";
322
344
 
@@ -344,6 +366,7 @@ type Locale = {
344
366
  signIn: string;
345
367
  projectGroup: string;
346
368
  view: string;
369
+ back: string;
347
370
  };
348
371
  SignIn: {
349
372
  title: string;
@@ -415,7 +438,7 @@ interface ContextSlice {
415
438
  locale: Locale;
416
439
  permissionVersion: PermissionVersion;
417
440
  gameApiV2: boolean;
418
- signInPath: string;
441
+ loginPath: string;
419
442
  isGlobal: boolean;
420
443
  navWidth?: number;
421
444
  collapsed?: boolean;
@@ -790,4 +813,4 @@ declare function usePermission(code?: string | string[], config?: Options): {
790
813
  declare function useMenuList(): _tanstack_react_query.UseQueryResult<MenuListItem[], Error>;
791
814
  declare const useGames: () => _tanstack_react_query.UseQueryResult<Game[], Error>;
792
815
 
793
- export { APP_ID_HEADER, DynamicTags, type DynamicTagsProps, ExpandableParagraph, type ExpandableParagraphProps, FRONTEND_ROUTE_PREFIX, FilterFormWrapper, type FilterFormWrapperProps, type Game, Highlight, type HighlightProps, InfiniteList, InfiniteListAction, type InfiniteListPayload, type InfiniteListProps, type InfiniteListRef, type InfiniteListRequestConfig, Layout, type LayoutProps, Logo, type LogoProps, type MenuListItem, NavMenu, type NavMenuItem, NotFound, _default as OperationLogList, type Permission, PermissionButton, type PermissionButtonProps, PermissionVersion, QueryList, QueryListAction, type QueryListPayload, type QueryListProps, type QueryListRef, type RecursivePartial, RequireGame, RequirePermission, type RequirePermissionProps, SSO_URL, SignIn, ToolkitsProvider, type ToolkitsProviderProps, type UseFormDrawerProps, type UseFormModalProps, UserWidget, type VisibilityState, WILDCARD, createVisibilityStore, generateId, _default$2 as menu, mixedStorage, _default$1 as permission, useDrawer, useDrawerStore, useFormDrawer, useFormModal, useGames, useInfiniteListStore, useMenuList, useModal, useModalStore, usePermission, useQueryListStore, useToolkitsStore, withContext };
816
+ export { APP_ID_HEADER, AuthButton, type AuthButtonProps, DynamicTags, type DynamicTagsProps, ExpandableParagraph, type ExpandableParagraphProps, FRONTEND_ROUTE_PREFIX, FilterFormWrapper, type FilterFormWrapperProps, type Game, Highlight, type HighlightProps, InfiniteList, InfiniteListAction, type InfiniteListPayload, type InfiniteListProps, type InfiniteListRef, type InfiniteListRequestConfig, Layout, type LayoutProps, Logo, type LogoProps, type MenuListItem, NavMenu, type NavMenuItem, NotFound, _default as OperationLogList, type Permission, PermissionVersion, QueryList, QueryListAction, type QueryListPayload, type QueryListProps, type QueryListRef, type RecursivePartial, RequireAuth, type RequireAuthProps, RequireGame, SSO_URL, SignIn, ToolkitsProvider, type ToolkitsProviderProps, type UseFormDrawerProps, type UseFormModalProps, UserWidget, type VisibilityState, WILDCARD, createVisibilityStore, generateId, _default$2 as menu, mixedStorage, _default$1 as permission, useDrawer, useDrawerStore, useFormDrawer, useFormModal, useGames, useInfiniteListStore, useMenuList, useModal, useModalStore, usePermission, useQueryListStore, useToolkitsStore, withContext };