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
|
@@ -3149,12 +3149,23 @@ var OpenXiangdaProvider = ({
|
|
|
3149
3149
|
() => appType || resolveAppTypeFromLocation(),
|
|
3150
3150
|
[appType]
|
|
3151
3151
|
);
|
|
3152
|
+
const [accessToken, setAccessTokenState] = (0, import_react8.useState)(null);
|
|
3153
|
+
const setAccessToken = (0, import_react8.useCallback)(
|
|
3154
|
+
(nextAccessToken) => {
|
|
3155
|
+
setAccessTokenState(nextAccessToken || null);
|
|
3156
|
+
},
|
|
3157
|
+
[]
|
|
3158
|
+
);
|
|
3159
|
+
const authorizedFetch = (0, import_react8.useMemo)(
|
|
3160
|
+
() => createAuthorizedFetch(resolvedFetch, accessToken),
|
|
3161
|
+
[accessToken, resolvedFetch]
|
|
3162
|
+
);
|
|
3152
3163
|
const [state, setState] = (0, import_react8.useState)({
|
|
3153
3164
|
data: null,
|
|
3154
3165
|
loading: true,
|
|
3155
3166
|
error: null
|
|
3156
3167
|
});
|
|
3157
|
-
const reload = (0, import_react8.useCallback)(async () => {
|
|
3168
|
+
const reload = (0, import_react8.useCallback)(async (options = {}) => {
|
|
3158
3169
|
if (!resolvedAppType) {
|
|
3159
3170
|
setState({
|
|
3160
3171
|
data: null,
|
|
@@ -3167,8 +3178,9 @@ var OpenXiangdaProvider = ({
|
|
|
3167
3178
|
return;
|
|
3168
3179
|
}
|
|
3169
3180
|
setState((prev) => ({ ...prev, loading: true, error: null }));
|
|
3181
|
+
const requestFetch = options.accessToken !== void 0 ? createAuthorizedFetch(resolvedFetch, options.accessToken || null) : authorizedFetch;
|
|
3170
3182
|
try {
|
|
3171
|
-
const response = await
|
|
3183
|
+
const response = await requestFetch(
|
|
3172
3184
|
buildServiceUrl2(
|
|
3173
3185
|
servicePrefix,
|
|
3174
3186
|
`/openxiangda-api/v1/apps/${encodeURIComponent(
|
|
@@ -3200,7 +3212,7 @@ var OpenXiangdaProvider = ({
|
|
|
3200
3212
|
error: normalizeRuntimeError(error)
|
|
3201
3213
|
});
|
|
3202
3214
|
}
|
|
3203
|
-
}, [resolvedAppType, resolvedFetch, servicePrefix]);
|
|
3215
|
+
}, [authorizedFetch, resolvedAppType, resolvedFetch, servicePrefix]);
|
|
3204
3216
|
(0, import_react8.useEffect)(() => {
|
|
3205
3217
|
void reload();
|
|
3206
3218
|
}, [reload]);
|
|
@@ -3209,10 +3221,11 @@ var OpenXiangdaProvider = ({
|
|
|
3209
3221
|
...state,
|
|
3210
3222
|
appType: resolvedAppType,
|
|
3211
3223
|
servicePrefix,
|
|
3212
|
-
fetchImpl:
|
|
3213
|
-
reload
|
|
3224
|
+
fetchImpl: authorizedFetch,
|
|
3225
|
+
reload,
|
|
3226
|
+
setAccessToken
|
|
3214
3227
|
}),
|
|
3215
|
-
[reload, resolvedAppType,
|
|
3228
|
+
[authorizedFetch, reload, resolvedAppType, servicePrefix, state]
|
|
3216
3229
|
);
|
|
3217
3230
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(OpenXiangdaRuntimeContext.Provider, { value, children });
|
|
3218
3231
|
};
|
|
@@ -3479,6 +3492,19 @@ var buildServiceUrl2 = (servicePrefix, path) => {
|
|
|
3479
3492
|
const suffix = path.startsWith("/") ? path : `/${path}`;
|
|
3480
3493
|
return `${prefix}${suffix}`;
|
|
3481
3494
|
};
|
|
3495
|
+
var createAuthorizedFetch = (baseFetch, accessToken) => {
|
|
3496
|
+
if (!accessToken) return baseFetch;
|
|
3497
|
+
return ((input, init = {}) => {
|
|
3498
|
+
const headers = new Headers(init.headers || {});
|
|
3499
|
+
if (!headers.has("authorization")) {
|
|
3500
|
+
headers.set("authorization", `Bearer ${accessToken}`);
|
|
3501
|
+
}
|
|
3502
|
+
return baseFetch(input, {
|
|
3503
|
+
...init,
|
|
3504
|
+
headers
|
|
3505
|
+
});
|
|
3506
|
+
});
|
|
3507
|
+
};
|
|
3482
3508
|
var readJsonPayload = async (response) => {
|
|
3483
3509
|
try {
|
|
3484
3510
|
return await response.json();
|
|
@@ -3710,7 +3736,8 @@ var usePublicAccess = (options = {}) => {
|
|
|
3710
3736
|
appType: runtimeAppType,
|
|
3711
3737
|
servicePrefix: runtimeServicePrefix,
|
|
3712
3738
|
fetchImpl: runtimeFetchImpl,
|
|
3713
|
-
reload: reloadRuntime
|
|
3739
|
+
reload: reloadRuntime,
|
|
3740
|
+
setAccessToken
|
|
3714
3741
|
} = runtime;
|
|
3715
3742
|
const {
|
|
3716
3743
|
appType = runtimeAppType,
|
|
@@ -3744,7 +3771,8 @@ var usePublicAccess = (options = {}) => {
|
|
|
3744
3771
|
path: input.path || stableSessionInput.path || readPathFromLocation()
|
|
3745
3772
|
});
|
|
3746
3773
|
setSession(data);
|
|
3747
|
-
|
|
3774
|
+
setAccessToken(data.accessToken);
|
|
3775
|
+
await reloadRuntime({ accessToken: data.accessToken });
|
|
3748
3776
|
setLoading(false);
|
|
3749
3777
|
return data;
|
|
3750
3778
|
} catch (caught) {
|
|
@@ -3757,7 +3785,7 @@ var usePublicAccess = (options = {}) => {
|
|
|
3757
3785
|
throw nextError;
|
|
3758
3786
|
}
|
|
3759
3787
|
},
|
|
3760
|
-
[client, reloadRuntime, stableSessionInput]
|
|
3788
|
+
[client, reloadRuntime, setAccessToken, stableSessionInput]
|
|
3761
3789
|
);
|
|
3762
3790
|
(0, import_react9.useEffect)(() => {
|
|
3763
3791
|
if (!autoStart) return;
|