"use strict";const e=require("../common/vendor.js"),n=e.defineStore("user",()=>{const n=e.ref(null),o=e.ref(null),r=e.ref(null),t=e.ref("https://opo.qduh.cn:443"),u=e.computed(()=>!!n.value),l=e.computed(()=>{var e;return(null==(e=o.value)?void 0:e.name)||""}),s=["admin","medical_admin"],a=["user","patient"],c=["doctor","specialist"];function i(n){o.value=n,e.index.setStorageSync("userInfo",n)}function d(n){s.includes(n)?r.value=1:c.includes(n)?r.value=2:(a.includes(n),r.value=0),e.index.setStorageSync("roleKeyInfo",r.value)}return{token:n,userInfo:o,roleKeyInfo:r,isLoggedIn:u,userName:l,baseUrlHt:t,setToken:function(o){n.value=o,e.index.setStorageSync("token",o)},setUserInfo:i,clearUser:function(){n.value=null,o.value=null,r.value=null,e.index.removeStorageSync("token"),e.index.removeStorageSync("roleKeyInfo"),e.index.removeStorageSync("userInfo")},initFromStorage:function(){const t=e.index.getStorageSync("token"),u=e.index.getStorageSync("userInfo"),l=e.index.getStorageSync("roleKeyInfo");t&&(n.value=t),u&&(o.value=u),l&&(r.value=l)},setroleKey:d,refreshUserInfo:async function(){try{const n=await e.index.$uapi.get("/getInfo");return!(!n||!n.user)&&(i(n.user),n.roles&&d(n.roles),!0)}catch(n){return console.error("刷新用户信息失败",n),!1}}}});exports.useUserStore=n;
|