index.ts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. import { createRouter, createWebHistory, isNavigationFailure } from "vue-router";
  2. import Login from "@/views/Login/Login.vue";
  3. import AppCopy from "@/views/AppCopy.vue";
  4. import HomeView from "@/views/HomeView.vue";
  5. import Layout from "@/views/KMPlatform/Layout.vue";
  6. import Home from "@/views/KMPlatform/Home/Home.vue";
  7. import KGBuilder from "@/views/KMPlatform/KGBuilder/KGBuilder.vue";
  8. import KnowledgeBase from "@/views/KMPlatform/KnowledgeBase/KnowledgeBase.vue";
  9. import OpenPlatform from "@/views/KMPlatform/OpenPlatform/OpenPlatform.vue";
  10. import TerminologyManagement from "@/views/KMPlatform/KGBuilder/TM/TerminologyManagement.vue";
  11. import EntityTypeManagement from "@/views/KMPlatform/KGBuilder/ETM/EntityTypeManagement.vue";
  12. import KnowledgeBaseManagement from "@/views/KMPlatform/KnowledgeBase/KBM/KnowledgeBaseManagement.vue";
  13. import KnowledgeManagement from "@/views/KMPlatform/KnowledgeBase/KM/KnowledgeManagement.vue";
  14. import AccountManage from "@/views/KMPlatform/Permission/AccountManage.vue";
  15. import PermissionManage from "@/views/KMPlatform/Permission/permission.vue";
  16. import RoleManage from "@/views/KMPlatform/Permission/RoleManage.vue";
  17. import EntityRelationshipTypeManagement from '@/views/KMPlatform/KGBuilder/KRTM/EntityRelationshipTypeManagement.vue'
  18. import { getSessionVar, deleteSessionVar } from "@/utils/session";
  19. const router = createRouter({
  20. history: createWebHistory(import.meta.env.BASE_URL),
  21. routes: [
  22. {
  23. path: "/",
  24. redirect: "/kmplatform/home",
  25. meta: {
  26. auth: false,
  27. }
  28. },
  29. {
  30. path: "/login",
  31. name: "login",
  32. component: Login,
  33. meta: {
  34. auth: false,
  35. }
  36. },
  37. {
  38. path: "/kmplatform",
  39. name: "kmplatform",
  40. component: Layout,
  41. // redirect: "/kmplatform/home",
  42. meta: {
  43. auth: false,
  44. },
  45. children: [
  46. {
  47. path: "home",
  48. name: "kmplatform-home",
  49. meta: {
  50. title: "主页",
  51. auth: true,
  52. },
  53. component: Home,
  54. children: [],
  55. },
  56. {
  57. path: "knowledgebase",
  58. name: "knowledgebase",
  59. meta: {
  60. title: "知识库",
  61. keepAlive: true,
  62. auth: true,
  63. },
  64. component: KnowledgeBase,
  65. redirect: "/kmplatform/knowledgebase/kbm",
  66. children: [
  67. {
  68. path: "kbm",
  69. name: "kbm",
  70. meta: {
  71. title: "知识库",
  72. keepAlive: true,
  73. auth: true,
  74. },
  75. component: KnowledgeBaseManagement,
  76. },
  77. {
  78. path: "km/:kbId",
  79. name: "km",
  80. meta: {
  81. title: "知识库",
  82. keepAlive: false,
  83. auth: true,
  84. },
  85. component: KnowledgeManagement,
  86. },
  87. ],
  88. },
  89. {
  90. path: "kgbuilder",
  91. name: "kgbuilder",
  92. meta: {
  93. title: "知识图谱构建",
  94. auth: true,
  95. },
  96. redirect: "/kmplatform/kgbuilder/home",
  97. component: AppCopy,
  98. children: [
  99. {
  100. path: "home",
  101. name: "home",
  102. component: HomeView,
  103. meta: {
  104. auth: true,
  105. },
  106. },
  107. {
  108. path: "workspace",
  109. name: "workspace",
  110. component: () => import("@/views/WorkspaceView.vue"),
  111. children: [
  112. {
  113. path: "queue/:id",
  114. name: "queue",
  115. component: () => import("@/views/QueueView.vue"),
  116. meta: {
  117. auth: true,
  118. },
  119. },
  120. {
  121. path: "worker",
  122. name: "worker",
  123. component: () => import("@/views/WorkerView.vue"),
  124. meta: {
  125. auth: true,
  126. },
  127. },
  128. {
  129. path: "graph",
  130. name: "graph",
  131. component: () => import("@/views/GraphView.vue"),
  132. meta: {
  133. auth: true,
  134. },
  135. },
  136. {
  137. path: "graph-mgr/:id",
  138. name: "graph-mgr",
  139. component: () => import("@/views/GraphManagement.vue"),
  140. meta: {
  141. auth: true,
  142. },
  143. },
  144. ],
  145. },
  146. {
  147. path: "about",
  148. name: "about",
  149. component: () => import("@/views/AboutView.vue"),
  150. meta: {
  151. auth: true,
  152. },
  153. },
  154. ]
  155. },
  156. {
  157. path: "openplatform",
  158. name: "openplatform",
  159. redirect: "/kmplatform/openplatform/queue/0",
  160. meta: {
  161. title: "开放平台",
  162. auth: false,
  163. },
  164. component: OpenPlatform,
  165. children: [
  166. {
  167. path: "queue/:id",
  168. name: "platformText",
  169. component: () => import("@/views/KMPlatform/OpenPlatform/platformText.vue"),
  170. meta: {
  171. auth: false,
  172. },
  173. },
  174. ],
  175. },
  176. {
  177. path: "kgpermission",
  178. name: "kgpermission",
  179. meta: {
  180. title: "系统权限",
  181. auth: true,
  182. },
  183. redirect: "/kmplatform/kgpermission/AccountManage",
  184. component: PermissionManage,
  185. children: [
  186. {
  187. path: "RoleManage",
  188. name: "kgb-RoleManage",
  189. meta: {
  190. title: "角色管理",
  191. auth: true,
  192. },
  193. component: RoleManage,
  194. },
  195. {
  196. path: "AccountManage",
  197. name: "kgb-AccountManage",
  198. meta: {
  199. title: "账号管理",
  200. auth: true,
  201. },
  202. component: AccountManage,
  203. },
  204. {
  205. path: "Organizational",
  206. name: "kgb-Organizational",
  207. meta: {
  208. title: "账号管理",
  209. auth: true,
  210. },
  211. component: () => import("@/views/KMPlatform/Permission/Organizational.vue"),
  212. },
  213. ],
  214. },
  215. ],
  216. },
  217. ],
  218. });
  219. function isLogin() {
  220. return getSessionVar("session_id") == null &&
  221. getSessionVar("username") == null
  222. }
  223. router.beforeEach((to, from, next) => {
  224. if (isLogin()) {
  225. // console.log("a,", to.meta && to.name !== 'login')
  226. if (to.meta.auth && to.name !== 'login') {
  227. next({ name: 'login' });
  228. } else {
  229. next()
  230. }
  231. } else {
  232. next()
  233. }
  234. });
  235. router.afterEach((to, from, failure) => {
  236. if (isNavigationFailure(failure)) {
  237. console.log('failed navigation', failure)
  238. } else {
  239. to.meta.title ? (document.title = to.meta.title as string) : document.title = '知识图谱自动化构建平台'
  240. }
  241. })
  242. export default router;