index.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import { createStore } from "vuex";
  2. let status_time = 24 * 60 * 60 * 1000; // 24小时
  3. export default createStore({
  4. state: {
  5. token: "",
  6. userState: false,
  7. userInfo: localStorage.getItem("userInfo") ? JSON.parse(localStorage.getItem("userInfo")) : {},
  8. // 第三方 ticket 用户(游客权限下仅用于展示姓名)
  9. thirdPartyUser: sessionStorage.getItem("thirdPartyUser")
  10. ? JSON.parse(sessionStorage.getItem("thirdPartyUser"))
  11. : {},
  12. // DMS字典,系统app.vue初始化一次之后,后续直接全局$getDmsTypes可调用,传入字典cName和index,返回对应字典数据
  13. DMSTypes: ["appstatus", "yzt_task_type", "applevel", "task_status"],
  14. // appstatus: 应用状态;yzt_task_type: 任务类型
  15. DmsTypesMap: localStorage.getItem("DmsTypesMap")
  16. ? JSON.parse(localStorage.getItem("DmsTypesMap"))
  17. : {},
  18. activeMenu: sessionStorage.getItem("activeMenu")
  19. ? parseInt(sessionStorage.getItem("activeMenu"))
  20. : 1, // 初始化为1或具体的菜单项ID
  21. menuList: [
  22. { id: 1, path: "/", label: "首页" },
  23. { id: 2, path: "/skmh", label: "时空门户" },
  24. { id: 3, path: "/yygl", label: "应用中心" },
  25. { id: 4, path: "/sksjgl", label: "数据管理中心" },
  26. { id: 5, path: "/wgn", label: "微功能中心" },
  27. // { id:6,path: "/skmh/scene", label: "二维GIS引擎"},
  28. { id: 7, path: "/yxgl", label: "运行管理" },
  29. { id: 8, path: "/taskManger", label: "任务管理" },
  30. ],
  31. sksjgl: {},
  32. skmh: {},
  33. wgn: {},
  34. yygl: {},
  35. yxgl: {},
  36. },
  37. getters: {
  38. getToken: function (state) {
  39. return localStorage.getItem("token");
  40. },
  41. getUserState: function (state) {
  42. return localStorage.getItem("userState");
  43. },
  44. getUserInfo: function (state) {
  45. return JSON.parse(localStorage.getItem("userInfo"));
  46. },
  47. getActiveMenu: function (state) {
  48. return state.activeMenu;
  49. },
  50. },
  51. mutations: {
  52. setDmsTypesMap(state, obj) {
  53. state.DmsTypesMap[obj.name] = obj.list;
  54. localStorage.setItem("DmsTypesMap", JSON.stringify(state.DmsTypesMap));
  55. },
  56. setToken(state, str) {
  57. state.token = str;
  58. localStorage.setItem("token", str);
  59. },
  60. setUserState(state, bool) {
  61. state.userState = bool;
  62. localStorage.setItem("userState", bool);
  63. },
  64. setUserInfo(state, obj) {
  65. state.userInfo = obj;
  66. localStorage.setItem("userInfo", JSON.stringify(obj));
  67. },
  68. setThirdPartyUser(state, obj) {
  69. state.thirdPartyUser = obj || {};
  70. if (obj && Object.keys(obj).length) {
  71. sessionStorage.setItem("thirdPartyUser", JSON.stringify(obj));
  72. } else {
  73. sessionStorage.removeItem("thirdPartyUser");
  74. }
  75. },
  76. setActiveMenu(state, id) {
  77. state.activeMenu = id;
  78. },
  79. },
  80. actions: {},
  81. modules: {},
  82. });