@next-core/react-runtime 1.8.0 → 1.9.0

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.
package/dist/cjs/index.js CHANGED
@@ -168,4 +168,26 @@ Object.keys(_useLocation).forEach(function (key) {
168
168
  }
169
169
  });
170
170
  });
171
+ var _useFeatureFlags = require("./useFeatureFlags.js");
172
+ Object.keys(_useFeatureFlags).forEach(function (key) {
173
+ if (key === "default" || key === "__esModule") return;
174
+ if (key in exports && exports[key] === _useFeatureFlags[key]) return;
175
+ Object.defineProperty(exports, key, {
176
+ enumerable: true,
177
+ get: function () {
178
+ return _useFeatureFlags[key];
179
+ }
180
+ });
181
+ });
182
+ var _useSystemInfo = require("./useSystemInfo.js");
183
+ Object.keys(_useSystemInfo).forEach(function (key) {
184
+ if (key === "default" || key === "__esModule") return;
185
+ if (key in exports && exports[key] === _useSystemInfo[key]) return;
186
+ Object.defineProperty(exports, key, {
187
+ enumerable: true,
188
+ get: function () {
189
+ return _useSystemInfo[key];
190
+ }
191
+ });
192
+ });
171
193
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick","_usePathParams","_useSearchParams","_useParams","_useHistory","_useAuth","_useLocation"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick","_usePathParams","_useSearchParams","_useParams","_useHistory","_useAuth","_useLocation","_useFeatureFlags","_useSystemInfo"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useFeatureFlags = useFeatureFlags;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _runtime = require("@next-core/runtime");
10
+ /**
11
+ * 获取特性开关配置的 React hooks。
12
+ *
13
+ * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。
14
+ * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。
15
+ *
16
+ * @example
17
+ *
18
+ * ```tsx
19
+ * function MyReactComponent() {
20
+ * const flags = useFeatureFlags();
21
+ *
22
+ * if (flags["my-new-feature"]) {
23
+ * return <NewFeature />;
24
+ * }
25
+ *
26
+ * return <OldFeature />;
27
+ * }
28
+ * ```
29
+ *
30
+ * @example
31
+ *
32
+ * ```tsx
33
+ * // 检查特定功能是否启用
34
+ * function FeatureToggle() {
35
+ * const flags = useFeatureFlags();
36
+ * const isEnabled = flags["experimental-mode"] ?? false;
37
+ *
38
+ * return (
39
+ * <div>
40
+ * Experimental Mode: {isEnabled ? "ON" : "OFF"}
41
+ * </div>
42
+ * );
43
+ * }
44
+ * ```
45
+ *
46
+ * @returns 特性开关配置对象,键为特性名称,值为布尔值。
47
+ */
48
+ function useFeatureFlags() {
49
+ return _react.default.useMemo(() => (0, _runtime.getRuntime)().getFeatureFlags(), []);
50
+ }
51
+ //# sourceMappingURL=useFeatureFlags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeatureFlags.js","names":["_react","_interopRequireDefault","require","_runtime","useFeatureFlags","React","useMemo","getRuntime","getFeatureFlags"],"sources":["../../src/useFeatureFlags.ts"],"sourcesContent":["import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport type { FeatureFlags } from \"@next-core/types\";\n\n/**\n * 获取特性开关配置的 React hooks。\n *\n * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。\n * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const flags = useFeatureFlags();\n *\n * if (flags[\"my-new-feature\"]) {\n * return <NewFeature />;\n * }\n *\n * return <OldFeature />;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查特定功能是否启用\n * function FeatureToggle() {\n * const flags = useFeatureFlags();\n * const isEnabled = flags[\"experimental-mode\"] ?? false;\n *\n * return (\n * <div>\n * Experimental Mode: {isEnabled ? \"ON\" : \"OFF\"}\n * </div>\n * );\n * }\n * ```\n *\n * @returns 特性开关配置对象,键为特性名称,值为布尔值。\n */\nexport function useFeatureFlags(): FeatureFlags {\n return React.useMemo(() => getRuntime().getFeatureFlags(), []);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAA,EAAiB;EAC9C,OAAOC,cAAK,CAACC,OAAO,CAAC,MAAM,IAAAC,mBAAU,EAAC,CAAC,CAACC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;AAChE","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useSystemInfo = useSystemInfo;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _runtime = require("@next-core/runtime");
10
+ var _easyopsRuntime = require("@next-core/easyops-runtime");
11
+ /**
12
+ * 系统信息接口,包含认证信息、页面信息和品牌设置。
13
+ */
14
+
15
+ /**
16
+ * 获取系统信息的 React hooks。
17
+ *
18
+ * 系统信息包括:
19
+ * - 用户认证信息(username, userInstanceId, org 等)
20
+ * - 页面信息(isInIframe, isInIframeOfNext 等)
21
+ * - 品牌设置(base_title 等)
22
+ *
23
+ * **注意**: 使用 useMemo 确保返回的对象引用稳定,
24
+ * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。
25
+ *
26
+ * @example
27
+ *
28
+ * ```tsx
29
+ * function MyReactComponent() {
30
+ * const sys = useSystemInfo();
31
+ *
32
+ * return (
33
+ * <div>
34
+ * <p>User: {sys.username}</p>
35
+ * <p>Org: {sys.org}</p>
36
+ * <p>In iframe: {sys.isInIframe ? "Yes" : "No"}</p>
37
+ * <p>Brand: {sys.settings.brand.base_title}</p>
38
+ * </div>
39
+ * );
40
+ * }
41
+ * ```
42
+ *
43
+ * @example
44
+ *
45
+ * ```tsx
46
+ * // 检查是否在 iframe 中
47
+ * function IframeDetector() {
48
+ * const sys = useSystemInfo();
49
+ *
50
+ * if (sys.isInIframe) {
51
+ * return <div>Running in iframe mode</div>;
52
+ * }
53
+ *
54
+ * return <div>Running in standalone mode</div>;
55
+ * }
56
+ * ```
57
+ *
58
+ * @returns 系统信息对象。
59
+ */
60
+ function useSystemInfo() {
61
+ return _react.default.useMemo(() => {
62
+ const authInfo = _easyopsRuntime.auth.getAuth();
63
+ const pageInfo = (0, _runtime.getPageInfo)();
64
+ const brandSettings = (0, _runtime.getRuntime)().getBrandSettings();
65
+ return {
66
+ ...authInfo,
67
+ ...pageInfo,
68
+ settings: {
69
+ brand: brandSettings
70
+ }
71
+ };
72
+ }, []);
73
+ }
74
+ //# sourceMappingURL=useSystemInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSystemInfo.js","names":["_react","_interopRequireDefault","require","_runtime","_easyopsRuntime","useSystemInfo","React","useMemo","authInfo","auth","getAuth","pageInfo","getPageInfo","brandSettings","getRuntime","getBrandSettings","settings","brand"],"sources":["../../src/useSystemInfo.ts"],"sourcesContent":["import React from \"react\";\nimport { getRuntime, getPageInfo } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport type { PageInfo } from \"@next-core/runtime\";\n\n/**\n * 系统信息接口,包含认证信息、页面信息和品牌设置。\n */\nexport interface SystemInfo extends PageInfo {\n /** 用户认证信息 */\n username?: string;\n userInstanceId?: string;\n org?: number;\n [key: string]: unknown;\n\n /** 系统设置 */\n settings: {\n /** 品牌设置 */\n brand: Record<string, string>;\n };\n}\n\n/**\n * 获取系统信息的 React hooks。\n *\n * 系统信息包括:\n * - 用户认证信息(username, userInstanceId, org 等)\n * - 页面信息(isInIframe, isInIframeOfNext 等)\n * - 品牌设置(base_title 等)\n *\n * **注意**: 使用 useMemo 确保返回的对象引用稳定,\n * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const sys = useSystemInfo();\n *\n * return (\n * <div>\n * <p>User: {sys.username}</p>\n * <p>Org: {sys.org}</p>\n * <p>In iframe: {sys.isInIframe ? \"Yes\" : \"No\"}</p>\n * <p>Brand: {sys.settings.brand.base_title}</p>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查是否在 iframe 中\n * function IframeDetector() {\n * const sys = useSystemInfo();\n *\n * if (sys.isInIframe) {\n * return <div>Running in iframe mode</div>;\n * }\n *\n * return <div>Running in standalone mode</div>;\n * }\n * ```\n *\n * @returns 系统信息对象。\n */\nexport function useSystemInfo(): SystemInfo {\n return React.useMemo(() => {\n const authInfo = auth.getAuth();\n const pageInfo = getPageInfo();\n const brandSettings = getRuntime().getBrandSettings();\n\n return {\n ...authInfo,\n ...pageInfo,\n settings: {\n brand: brandSettings,\n },\n };\n }, []);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAGA;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,aAAaA,CAAA,EAAe;EAC1C,OAAOC,cAAK,CAACC,OAAO,CAAC,MAAM;IACzB,MAAMC,QAAQ,GAAGC,oBAAI,CAACC,OAAO,CAAC,CAAC;IAC/B,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EAAC,CAAC;IAC9B,MAAMC,aAAa,GAAG,IAAAC,mBAAU,EAAC,CAAC,CAACC,gBAAgB,CAAC,CAAC;IAErD,OAAO;MACL,GAAGP,QAAQ;MACX,GAAGG,QAAQ;MACXK,QAAQ,EAAE;QACRC,KAAK,EAAEJ;MACT;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -13,4 +13,6 @@ export * from "./useParams.js";
13
13
  export * from "./useHistory.js";
14
14
  export * from "./useAuth.js";
15
15
  export * from "./useLocation.js";
16
+ export * from "./useFeatureFlags.js";
17
+ export * from "./useSystemInfo.js";
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\nexport * from \"./useFeatureFlags.js\";\nexport * from \"./useSystemInfo.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { getRuntime } from "@next-core/runtime";
3
+ /**
4
+ * 获取特性开关配置的 React hooks。
5
+ *
6
+ * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。
7
+ * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。
8
+ *
9
+ * @example
10
+ *
11
+ * ```tsx
12
+ * function MyReactComponent() {
13
+ * const flags = useFeatureFlags();
14
+ *
15
+ * if (flags["my-new-feature"]) {
16
+ * return <NewFeature />;
17
+ * }
18
+ *
19
+ * return <OldFeature />;
20
+ * }
21
+ * ```
22
+ *
23
+ * @example
24
+ *
25
+ * ```tsx
26
+ * // 检查特定功能是否启用
27
+ * function FeatureToggle() {
28
+ * const flags = useFeatureFlags();
29
+ * const isEnabled = flags["experimental-mode"] ?? false;
30
+ *
31
+ * return (
32
+ * <div>
33
+ * Experimental Mode: {isEnabled ? "ON" : "OFF"}
34
+ * </div>
35
+ * );
36
+ * }
37
+ * ```
38
+ *
39
+ * @returns 特性开关配置对象,键为特性名称,值为布尔值。
40
+ */
41
+ export function useFeatureFlags() {
42
+ return React.useMemo(() => getRuntime().getFeatureFlags(), []);
43
+ }
44
+ //# sourceMappingURL=useFeatureFlags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFeatureFlags.js","names":["React","getRuntime","useFeatureFlags","useMemo","getFeatureFlags"],"sources":["../../src/useFeatureFlags.ts"],"sourcesContent":["import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport type { FeatureFlags } from \"@next-core/types\";\n\n/**\n * 获取特性开关配置的 React hooks。\n *\n * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。\n * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const flags = useFeatureFlags();\n *\n * if (flags[\"my-new-feature\"]) {\n * return <NewFeature />;\n * }\n *\n * return <OldFeature />;\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查特定功能是否启用\n * function FeatureToggle() {\n * const flags = useFeatureFlags();\n * const isEnabled = flags[\"experimental-mode\"] ?? false;\n *\n * return (\n * <div>\n * Experimental Mode: {isEnabled ? \"ON\" : \"OFF\"}\n * </div>\n * );\n * }\n * ```\n *\n * @returns 特性开关配置对象,键为特性名称,值为布尔值。\n */\nexport function useFeatureFlags(): FeatureFlags {\n return React.useMemo(() => getRuntime().getFeatureFlags(), []);\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oBAAoB;AAG/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAiB;EAC9C,OAAOF,KAAK,CAACG,OAAO,CAAC,MAAMF,UAAU,CAAC,CAAC,CAACG,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;AAChE","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import React from "react";
2
+ import { getRuntime, getPageInfo } from "@next-core/runtime";
3
+ import { auth } from "@next-core/easyops-runtime";
4
+
5
+ /**
6
+ * 系统信息接口,包含认证信息、页面信息和品牌设置。
7
+ */
8
+
9
+ /**
10
+ * 获取系统信息的 React hooks。
11
+ *
12
+ * 系统信息包括:
13
+ * - 用户认证信息(username, userInstanceId, org 等)
14
+ * - 页面信息(isInIframe, isInIframeOfNext 等)
15
+ * - 品牌设置(base_title 等)
16
+ *
17
+ * **注意**: 使用 useMemo 确保返回的对象引用稳定,
18
+ * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。
19
+ *
20
+ * @example
21
+ *
22
+ * ```tsx
23
+ * function MyReactComponent() {
24
+ * const sys = useSystemInfo();
25
+ *
26
+ * return (
27
+ * <div>
28
+ * <p>User: {sys.username}</p>
29
+ * <p>Org: {sys.org}</p>
30
+ * <p>In iframe: {sys.isInIframe ? "Yes" : "No"}</p>
31
+ * <p>Brand: {sys.settings.brand.base_title}</p>
32
+ * </div>
33
+ * );
34
+ * }
35
+ * ```
36
+ *
37
+ * @example
38
+ *
39
+ * ```tsx
40
+ * // 检查是否在 iframe 中
41
+ * function IframeDetector() {
42
+ * const sys = useSystemInfo();
43
+ *
44
+ * if (sys.isInIframe) {
45
+ * return <div>Running in iframe mode</div>;
46
+ * }
47
+ *
48
+ * return <div>Running in standalone mode</div>;
49
+ * }
50
+ * ```
51
+ *
52
+ * @returns 系统信息对象。
53
+ */
54
+ export function useSystemInfo() {
55
+ return React.useMemo(() => {
56
+ const authInfo = auth.getAuth();
57
+ const pageInfo = getPageInfo();
58
+ const brandSettings = getRuntime().getBrandSettings();
59
+ return {
60
+ ...authInfo,
61
+ ...pageInfo,
62
+ settings: {
63
+ brand: brandSettings
64
+ }
65
+ };
66
+ }, []);
67
+ }
68
+ //# sourceMappingURL=useSystemInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSystemInfo.js","names":["React","getRuntime","getPageInfo","auth","useSystemInfo","useMemo","authInfo","getAuth","pageInfo","brandSettings","getBrandSettings","settings","brand"],"sources":["../../src/useSystemInfo.ts"],"sourcesContent":["import React from \"react\";\nimport { getRuntime, getPageInfo } from \"@next-core/runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport type { PageInfo } from \"@next-core/runtime\";\n\n/**\n * 系统信息接口,包含认证信息、页面信息和品牌设置。\n */\nexport interface SystemInfo extends PageInfo {\n /** 用户认证信息 */\n username?: string;\n userInstanceId?: string;\n org?: number;\n [key: string]: unknown;\n\n /** 系统设置 */\n settings: {\n /** 品牌设置 */\n brand: Record<string, string>;\n };\n}\n\n/**\n * 获取系统信息的 React hooks。\n *\n * 系统信息包括:\n * - 用户认证信息(username, userInstanceId, org 等)\n * - 页面信息(isInIframe, isInIframeOfNext 等)\n * - 品牌设置(base_title 等)\n *\n * **注意**: 使用 useMemo 确保返回的对象引用稳定,\n * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const sys = useSystemInfo();\n *\n * return (\n * <div>\n * <p>User: {sys.username}</p>\n * <p>Org: {sys.org}</p>\n * <p>In iframe: {sys.isInIframe ? \"Yes\" : \"No\"}</p>\n * <p>Brand: {sys.settings.brand.base_title}</p>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n *\n * ```tsx\n * // 检查是否在 iframe 中\n * function IframeDetector() {\n * const sys = useSystemInfo();\n *\n * if (sys.isInIframe) {\n * return <div>Running in iframe mode</div>;\n * }\n *\n * return <div>Running in standalone mode</div>;\n * }\n * ```\n *\n * @returns 系统信息对象。\n */\nexport function useSystemInfo(): SystemInfo {\n return React.useMemo(() => {\n const authInfo = auth.getAuth();\n const pageInfo = getPageInfo();\n const brandSettings = getRuntime().getBrandSettings();\n\n return {\n ...authInfo,\n ...pageInfo,\n settings: {\n brand: brandSettings,\n },\n };\n }, []);\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,WAAW,QAAQ,oBAAoB;AAC5D,SAASC,IAAI,QAAQ,4BAA4B;;AAGjD;AACA;AACA;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAAe;EAC1C,OAAOJ,KAAK,CAACK,OAAO,CAAC,MAAM;IACzB,MAAMC,QAAQ,GAAGH,IAAI,CAACI,OAAO,CAAC,CAAC;IAC/B,MAAMC,QAAQ,GAAGN,WAAW,CAAC,CAAC;IAC9B,MAAMO,aAAa,GAAGR,UAAU,CAAC,CAAC,CAACS,gBAAgB,CAAC,CAAC;IAErD,OAAO;MACL,GAAGJ,QAAQ;MACX,GAAGE,QAAQ;MACXG,QAAQ,EAAE;QACRC,KAAK,EAAEH;MACT;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
@@ -13,3 +13,5 @@ export * from "./useParams.js";
13
13
  export * from "./useHistory.js";
14
14
  export * from "./useAuth.js";
15
15
  export * from "./useLocation.js";
16
+ export * from "./useFeatureFlags.js";
17
+ export * from "./useSystemInfo.js";
@@ -0,0 +1,40 @@
1
+ import type { FeatureFlags } from "@next-core/types";
2
+ /**
3
+ * 获取特性开关配置的 React hooks。
4
+ *
5
+ * 特性开关用于控制功能的启用或禁用,可以在全局设置或应用级别配置。
6
+ * 使用 useMemo 确保返回的对象引用稳定,避免不必要的组件重渲染。
7
+ *
8
+ * @example
9
+ *
10
+ * ```tsx
11
+ * function MyReactComponent() {
12
+ * const flags = useFeatureFlags();
13
+ *
14
+ * if (flags["my-new-feature"]) {
15
+ * return <NewFeature />;
16
+ * }
17
+ *
18
+ * return <OldFeature />;
19
+ * }
20
+ * ```
21
+ *
22
+ * @example
23
+ *
24
+ * ```tsx
25
+ * // 检查特定功能是否启用
26
+ * function FeatureToggle() {
27
+ * const flags = useFeatureFlags();
28
+ * const isEnabled = flags["experimental-mode"] ?? false;
29
+ *
30
+ * return (
31
+ * <div>
32
+ * Experimental Mode: {isEnabled ? "ON" : "OFF"}
33
+ * </div>
34
+ * );
35
+ * }
36
+ * ```
37
+ *
38
+ * @returns 特性开关配置对象,键为特性名称,值为布尔值。
39
+ */
40
+ export declare function useFeatureFlags(): FeatureFlags;
@@ -0,0 +1,62 @@
1
+ import type { PageInfo } from "@next-core/runtime";
2
+ /**
3
+ * 系统信息接口,包含认证信息、页面信息和品牌设置。
4
+ */
5
+ export interface SystemInfo extends PageInfo {
6
+ /** 用户认证信息 */
7
+ username?: string;
8
+ userInstanceId?: string;
9
+ org?: number;
10
+ [key: string]: unknown;
11
+ /** 系统设置 */
12
+ settings: {
13
+ /** 品牌设置 */
14
+ brand: Record<string, string>;
15
+ };
16
+ }
17
+ /**
18
+ * 获取系统信息的 React hooks。
19
+ *
20
+ * 系统信息包括:
21
+ * - 用户认证信息(username, userInstanceId, org 等)
22
+ * - 页面信息(isInIframe, isInIframeOfNext 等)
23
+ * - 品牌设置(base_title 等)
24
+ *
25
+ * **注意**: 使用 useMemo 确保返回的对象引用稳定,
26
+ * 避免不必要的组件重渲染。系统信息在会话期间保持稳定。
27
+ *
28
+ * @example
29
+ *
30
+ * ```tsx
31
+ * function MyReactComponent() {
32
+ * const sys = useSystemInfo();
33
+ *
34
+ * return (
35
+ * <div>
36
+ * <p>User: {sys.username}</p>
37
+ * <p>Org: {sys.org}</p>
38
+ * <p>In iframe: {sys.isInIframe ? "Yes" : "No"}</p>
39
+ * <p>Brand: {sys.settings.brand.base_title}</p>
40
+ * </div>
41
+ * );
42
+ * }
43
+ * ```
44
+ *
45
+ * @example
46
+ *
47
+ * ```tsx
48
+ * // 检查是否在 iframe 中
49
+ * function IframeDetector() {
50
+ * const sys = useSystemInfo();
51
+ *
52
+ * if (sys.isInIframe) {
53
+ * return <div>Running in iframe mode</div>;
54
+ * }
55
+ *
56
+ * return <div>Running in standalone mode</div>;
57
+ * }
58
+ * ```
59
+ *
60
+ * @returns 系统信息对象。
61
+ */
62
+ export declare function useSystemInfo(): SystemInfo;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/react-runtime",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -49,5 +49,5 @@
49
49
  "@next-core/test-next": "^2.0.1",
50
50
  "jest-fetch-mock": "^3.0.3"
51
51
  },
52
- "gitHead": "e9b30154f4d3981a1f706c791996d8fb0c1e49f1"
52
+ "gitHead": "381ef5fdaae5f5134bae63da98fee74186eddb56"
53
53
  }