import { computed, ref } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/index.mjs'; const ROLES = [ { key: "ADMIN", label: "\u7CFB\u7EDF\u7BA1\u7406\u5458" }, { key: "RECEPTIONIST", label: "\u53D7\u7406\u5458" }, { key: "ASSESSOR", label: "\u8BC4\u4F30\u5458" }, { key: "PLANNER", label: "\u65B9\u6848\u5236\u5B9A\u5458" }, { key: "DISPATCHER", label: "\u8C03\u5EA6\u5458" }, { key: "STAFF", label: "\u670D\u52A1\u4EBA\u5458" }, { key: "SETTLER", label: "\u7ED3\u7B97\u5458" }, { key: "SUPERVISOR", label: "\u76D1\u7BA1\u5458" }, { key: "REVIEWER", label: "\u590D\u6838\u5458" } ]; const PRESET_USERS = { admin: { userId: "1", userName: "\u7CFB\u7EDF\u7BA1\u7406\u5458", userRole: "ADMIN", tenantId: "1", orgId: "1" }, receptionist: { userId: "2", userName: "\u53D7\u7406\u5458\u5C0F\u738B", userRole: "RECEPTIONIST", tenantId: "1", orgId: "1" }, assessor: { userId: "3", userName: "\u8BC4\u4F30\u5458\u8001\u5F20", userRole: "ASSESSOR", tenantId: "1", orgId: "1" }, planner: { userId: "4", userName: "\u65B9\u6848\u5458\u5C0F\u674E", userRole: "PLANNER", tenantId: "1", orgId: "1" }, dispatcher: { userId: "5", userName: "\u8C03\u5EA6\u5458\u8001\u8D75", userRole: "DISPATCHER", tenantId: "1", orgId: "1" }, staff: { userId: "6", userName: "\u62A4\u7406\u5458\u8001\u9648", userRole: "STAFF", tenantId: "1", orgId: "1" }, settler: { userId: "7", userName: "\u7ED3\u7B97\u5458\u5C0F\u5468", userRole: "SETTLER", tenantId: "1", orgId: "1" }, supervisor: { userId: "8", userName: "\u76D1\u7BA1\u5458\u8001\u5218", userRole: "SUPERVISOR", tenantId: "1", orgId: "1" } }; const STORAGE_KEY = "hss_platform_user"; const currentUser = ref(null); function loadUser() { try { const stored = localStorage.getItem(STORAGE_KEY); return stored ? JSON.parse(stored) : null; } catch { return null; } } function saveUser(user) { localStorage.setItem(STORAGE_KEY, JSON.stringify(user)); currentUser.value = user; } function clearUser() { localStorage.removeItem(STORAGE_KEY); currentUser.value = null; } function usePlatformAuth() { if (!currentUser.value) { currentUser.value = loadUser(); } const isLoggedIn = computed(() => !!currentUser.value); const user = computed(() => currentUser.value); function login(username) { const u = PRESET_USERS[username.toLowerCase()]; if (u) { saveUser(u); return u; } return null; } function logout() { clearUser(); } function switchRole(roleKey) { if (!currentUser.value) return; const updated = { ...currentUser.value, userRole: roleKey }; saveUser(updated); } function getAuthHeaders() { const u = currentUser.value; if (!u) return {}; return { "X-User-Id": u.userId, "X-User-Role": u.userRole, "X-Tenant-Id": u.tenantId, "X-Org-Id": u.orgId, "Content-Type": "application/json" }; } return { isLoggedIn, user, login, logout, switchRole, getAuthHeaders, ROLES, PRESET_USERS }; } export { usePlatformAuth as u }; //# sourceMappingURL=usePlatformAuth-DS6-BJES.mjs.map