openxiangda 1.0.87 → 1.0.88
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/README.md +2 -0
- package/openxiangda-skills/references/openxiangda-api.md +5 -1
- package/openxiangda-skills/references/pages/page-sdk.md +1 -1
- package/openxiangda-skills/references/resource-manifest-cheatsheet.md +3 -1
- package/package.json +1 -1
- package/packages/sdk/dist/runtime/index.cjs +37 -9
- package/packages/sdk/dist/runtime/index.cjs.map +1 -1
- package/packages/sdk/dist/runtime/index.mjs +37 -9
- package/packages/sdk/dist/runtime/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/react.cjs +37 -9
- package/packages/sdk/dist/runtime/react.cjs.map +1 -1
- package/packages/sdk/dist/runtime/react.d.mts +9 -3
- package/packages/sdk/dist/runtime/react.d.ts +9 -3
- package/packages/sdk/dist/runtime/react.mjs +37 -9
- package/packages/sdk/dist/runtime/react.mjs.map +1 -1
|
@@ -4008,12 +4008,23 @@ var OpenXiangdaProvider = ({
|
|
|
4008
4008
|
() => appType || resolveAppTypeFromLocation(),
|
|
4009
4009
|
[appType]
|
|
4010
4010
|
);
|
|
4011
|
+
const [accessToken, setAccessTokenState] = useState4(null);
|
|
4012
|
+
const setAccessToken = useCallback4(
|
|
4013
|
+
(nextAccessToken) => {
|
|
4014
|
+
setAccessTokenState(nextAccessToken || null);
|
|
4015
|
+
},
|
|
4016
|
+
[]
|
|
4017
|
+
);
|
|
4018
|
+
const authorizedFetch = useMemo5(
|
|
4019
|
+
() => createAuthorizedFetch(resolvedFetch, accessToken),
|
|
4020
|
+
[accessToken, resolvedFetch]
|
|
4021
|
+
);
|
|
4011
4022
|
const [state, setState] = useState4({
|
|
4012
4023
|
data: null,
|
|
4013
4024
|
loading: true,
|
|
4014
4025
|
error: null
|
|
4015
4026
|
});
|
|
4016
|
-
const reload = useCallback4(async () => {
|
|
4027
|
+
const reload = useCallback4(async (options = {}) => {
|
|
4017
4028
|
if (!resolvedAppType) {
|
|
4018
4029
|
setState({
|
|
4019
4030
|
data: null,
|
|
@@ -4026,8 +4037,9 @@ var OpenXiangdaProvider = ({
|
|
|
4026
4037
|
return;
|
|
4027
4038
|
}
|
|
4028
4039
|
setState((prev) => ({ ...prev, loading: true, error: null }));
|
|
4040
|
+
const requestFetch = options.accessToken !== void 0 ? createAuthorizedFetch(resolvedFetch, options.accessToken || null) : authorizedFetch;
|
|
4029
4041
|
try {
|
|
4030
|
-
const response = await
|
|
4042
|
+
const response = await requestFetch(
|
|
4031
4043
|
buildServiceUrl3(
|
|
4032
4044
|
servicePrefix,
|
|
4033
4045
|
`/openxiangda-api/v1/apps/${encodeURIComponent(
|
|
@@ -4059,7 +4071,7 @@ var OpenXiangdaProvider = ({
|
|
|
4059
4071
|
error: normalizeRuntimeError(error)
|
|
4060
4072
|
});
|
|
4061
4073
|
}
|
|
4062
|
-
}, [resolvedAppType, resolvedFetch, servicePrefix]);
|
|
4074
|
+
}, [authorizedFetch, resolvedAppType, resolvedFetch, servicePrefix]);
|
|
4063
4075
|
useEffect4(() => {
|
|
4064
4076
|
void reload();
|
|
4065
4077
|
}, [reload]);
|
|
@@ -4068,10 +4080,11 @@ var OpenXiangdaProvider = ({
|
|
|
4068
4080
|
...state,
|
|
4069
4081
|
appType: resolvedAppType,
|
|
4070
4082
|
servicePrefix,
|
|
4071
|
-
fetchImpl:
|
|
4072
|
-
reload
|
|
4083
|
+
fetchImpl: authorizedFetch,
|
|
4084
|
+
reload,
|
|
4085
|
+
setAccessToken
|
|
4073
4086
|
}),
|
|
4074
|
-
[reload, resolvedAppType,
|
|
4087
|
+
[authorizedFetch, reload, resolvedAppType, servicePrefix, state]
|
|
4075
4088
|
);
|
|
4076
4089
|
return /* @__PURE__ */ jsx4(OpenXiangdaRuntimeContext.Provider, { value, children });
|
|
4077
4090
|
};
|
|
@@ -4338,6 +4351,19 @@ var buildServiceUrl3 = (servicePrefix, path) => {
|
|
|
4338
4351
|
const suffix = path.startsWith("/") ? path : `/${path}`;
|
|
4339
4352
|
return `${prefix2}${suffix}`;
|
|
4340
4353
|
};
|
|
4354
|
+
var createAuthorizedFetch = (baseFetch, accessToken) => {
|
|
4355
|
+
if (!accessToken) return baseFetch;
|
|
4356
|
+
return ((input, init = {}) => {
|
|
4357
|
+
const headers = new Headers(init.headers || {});
|
|
4358
|
+
if (!headers.has("authorization")) {
|
|
4359
|
+
headers.set("authorization", `Bearer ${accessToken}`);
|
|
4360
|
+
}
|
|
4361
|
+
return baseFetch(input, {
|
|
4362
|
+
...init,
|
|
4363
|
+
headers
|
|
4364
|
+
});
|
|
4365
|
+
});
|
|
4366
|
+
};
|
|
4341
4367
|
var readJsonPayload = async (response) => {
|
|
4342
4368
|
try {
|
|
4343
4369
|
return await response.json();
|
|
@@ -4460,7 +4486,8 @@ var usePublicAccess = (options = {}) => {
|
|
|
4460
4486
|
appType: runtimeAppType,
|
|
4461
4487
|
servicePrefix: runtimeServicePrefix,
|
|
4462
4488
|
fetchImpl: runtimeFetchImpl,
|
|
4463
|
-
reload: reloadRuntime
|
|
4489
|
+
reload: reloadRuntime,
|
|
4490
|
+
setAccessToken
|
|
4464
4491
|
} = runtime;
|
|
4465
4492
|
const {
|
|
4466
4493
|
appType = runtimeAppType,
|
|
@@ -4494,7 +4521,8 @@ var usePublicAccess = (options = {}) => {
|
|
|
4494
4521
|
path: input.path || stableSessionInput.path || readPathFromLocation()
|
|
4495
4522
|
});
|
|
4496
4523
|
setSession(data);
|
|
4497
|
-
|
|
4524
|
+
setAccessToken(data.accessToken);
|
|
4525
|
+
await reloadRuntime({ accessToken: data.accessToken });
|
|
4498
4526
|
setLoading(false);
|
|
4499
4527
|
return data;
|
|
4500
4528
|
} catch (caught) {
|
|
@@ -4507,7 +4535,7 @@ var usePublicAccess = (options = {}) => {
|
|
|
4507
4535
|
throw nextError;
|
|
4508
4536
|
}
|
|
4509
4537
|
},
|
|
4510
|
-
[client, reloadRuntime, stableSessionInput]
|
|
4538
|
+
[client, reloadRuntime, setAccessToken, stableSessionInput]
|
|
4511
4539
|
);
|
|
4512
4540
|
useEffect5(() => {
|
|
4513
4541
|
if (!autoStart) return;
|