fix: support org_id from URL query param in course-package-store

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-01 08:17:31 +08:00
parent f033e303ce
commit b8dca18ea4
+10 -8
View File
@@ -67,6 +67,13 @@ export default defineComponent({
const router = useRouter(); const router = useRouter();
const { store, queryPublicPackages, queryOrgPackages } = useCoursePackage(); const { store, queryPublicPackages, queryOrgPackages } = useCoursePackage();
const resolvedOrgId = computed(() => {
if (props.orgId) return props.orgId;
// Fallback to URL query param `org_id` (e.g. for shared store links)
const params = new URLSearchParams(window.location.search);
return params.get('org_id') || '';
});
const state = reactive({ const state = reactive({
loading: false, loading: false,
error: false, error: false,
@@ -81,16 +88,11 @@ export default defineComponent({
state.loading = true; state.loading = true;
state.error = false; state.error = false;
let ok: boolean; let ok: boolean;
if (props.orgId) { const orgId = resolvedOrgId.value;
ok = await queryPublicPackages(props.orgId); if (orgId) {
ok = await queryPublicPackages(orgId);
} else { } else {
// Fallback: use auth'd API if logged in, otherwise skip
ok = isLoggedIn() ? await queryOrgPackages() : false; ok = isLoggedIn() ? await queryOrgPackages() : false;
if (!ok && !isLoggedIn()) {
state.loading = false;
state.error = false;
return;
}
} }
state.error = !ok; state.error = !ok;
state.loading = false; state.loading = false;