diff --git a/src/components/course-package-store.vue b/src/components/course-package-store.vue
index 7e923af..6777a21 100644
--- a/src/components/course-package-store.vue
+++ b/src/components/course-package-store.vue
@@ -87,14 +87,15 @@ export default defineComponent({
const loadPackages = async () => {
state.loading = true;
state.error = false;
- let ok: boolean;
const orgId = resolvedOrgId.value;
if (orgId) {
- ok = await queryPublicPackages(orgId);
- } else {
- ok = isLoggedIn() ? await queryOrgPackages() : false;
+ const ok = await queryPublicPackages(orgId);
+ state.error = !ok;
+ } else if (isLoggedIn()) {
+ const ok = await queryOrgPackages();
+ state.error = !ok;
}
- state.error = !ok;
+ // No orgId and unauth: show empty state, not error
state.loading = false;
state.loaded = true;
};
diff --git a/src/pages/index.vue b/src/pages/index.vue
index 255b57e..dce226f 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -18,7 +18,8 @@
-
+
+
@@ -127,6 +128,10 @@ export default defineComponent({
{ value: HtyBaseRoles.TEACHER, label: "老师" },
];
const has_login = computed(() => !!store.current.hty_id);
+ const urlOrgId = computed(() => {
+ const params = new URLSearchParams(window.location.search);
+ return params.get('org_id') || '';
+ });
const is_registered = computed(() => store.current.is_registered);
const is_enabled = computed(() => store.current.enabled);
const authorized = computed(() => userStatus === UserStates.Authorized);
@@ -189,7 +194,7 @@ export default defineComponent({
return {
is_registered, is_enabled, is_student, has_teacher,
has_login, authorized, activeRoles, chooseRole, setRole, store,
- initial_roles, scene
+ initial_roles, scene, urlOrgId
}
},
});