index.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. import { createRouter, createWebHashHistory } from "vue-router";
  2. import { getLocal } from "@/common/js/utils";
  3. const router = createRouter({
  4. // hash模式:createWebHashHistory,history模式:createWebHistory
  5. history: createWebHashHistory(),
  6. routes: [
  7. // 首页
  8. { path: "/", redirect: "/home" },
  9. // Home 页面
  10. {
  11. path: "/home",
  12. name: "home",
  13. component: () => import("@/views/home/index.vue"),
  14. meta: { index: 1 },
  15. },
  16. // 登录页面
  17. {
  18. path: "/login",
  19. name: "login",
  20. component: () => import("@/views/login.vue"),
  21. meta: { index: 1, noLogin: true },
  22. },
  23. // 微信登录跳板
  24. {
  25. path: "/wxLogin",
  26. name: "wxLogin",
  27. component: () => import("@/views/wxLogin.vue"),
  28. meta: { index: 1, noLogin: true },
  29. },
  30. // 注册页面
  31. {
  32. path: "/register",
  33. name: "register",
  34. component: () => import("@/views/register.vue"),
  35. meta: { index: 1, noLogin: true },
  36. },
  37. // 忘记密码页面
  38. {
  39. path: "/forgetpassword",
  40. name: "forgetPassword",
  41. component: () => import("@/views/forgetPassword"),
  42. meta: { index: 1, noLogin: true },
  43. },
  44. // 绑定微信
  45. {
  46. path: "/bindWechat",
  47. name: "bindWechat",
  48. component: () => import("@/views/bindWechat.vue"),
  49. meta: { index: 1, noLogin: true },
  50. },
  51. // 修改密码页面
  52. {
  53. path: "/changepassword",
  54. name: "changePassword",
  55. component: () => import("@/views/changePassword"),
  56. meta: { index: 1, noLogin: true },
  57. },
  58. // 设备页面
  59. {
  60. path: "/device",
  61. name: "device",
  62. component: () => import("@/views/device/index"),
  63. meta: { index: 1 },
  64. },
  65. // 设备详情
  66. {
  67. path: "/deviceSet",
  68. name: "deviceSet",
  69. component: () => import("@/views/device/deviceSet"),
  70. meta: { index: 1 },
  71. },
  72. // 编辑标签
  73. {
  74. path: "/editTag",
  75. name: "editTag",
  76. component: () => import("@/views/device/tagSet/index.vue"),
  77. meta: { index: 1 },
  78. },
  79. // { path: '/deviceOpr', name: 'deviceOpr', component: () => import('@/views/device/deviceOper2.vue'), meta: { index: 1 } },
  80. // 音量调节
  81. {
  82. path: "/modulation",
  83. name: "modulation",
  84. component: () => import("@/views/device/modulation.vue"),
  85. meta: { index: 1 },
  86. },
  87. // 远程开门
  88. {
  89. path: "/openDoor",
  90. name: "openDoor",
  91. component: () => import("@/views/device/openDoor.vue"),
  92. meta: { index: 1 },
  93. },
  94. // 远程做糖
  95. {
  96. path: "/doSugar",
  97. name: "doSugar",
  98. component: () => import("@/views/device/doSugar.vue"),
  99. meta: { index: 1 },
  100. },
  101. // 今日做糖列表
  102. {
  103. path: "/toDaySugarList",
  104. name: "toDaySugarList",
  105. component: () => import("@/views/device/toDaySugarList.vue"),
  106. meta: { index: 1 },
  107. },
  108. // 定时开关
  109. {
  110. path: "/alarmClock",
  111. name: "alarmClock",
  112. component: () => import("@/views/device/alarmClock.vue"),
  113. meta: { index: 1 },
  114. },
  115. // 设置闹钟
  116. {
  117. path: "/alarmClockAdd",
  118. name: "alarmClockAdd",
  119. component: () => import("@/views/device/alarmClockSet/index.vue"),
  120. meta: { index: 1 },
  121. },
  122. {
  123. path: "/alarmClockSet",
  124. name: "alarmClockSet",
  125. component: () => import("@/views/device/alarmClockSet/index.vue"),
  126. meta: { index: 1 },
  127. },
  128. // 参数设置
  129. {
  130. path: "/paramsSet",
  131. name: "paramsSet",
  132. component: () => import("@/views/device/paramsSet/index.vue"),
  133. meta: { index: 1 },
  134. },
  135. {
  136. path: "/paramsSetInfo",
  137. name: "paramsSetInfo",
  138. component: () => import("@/views/device/paramsSet/paramsSetInfo.vue"),
  139. meta: { index: 1 },
  140. },
  141. // 添加分销人
  142. {
  143. path: "/saveProportion",
  144. name: "saveProportion",
  145. component: () => import("@/views/device/saveProportion/index.vue"),
  146. meta: { index: 1 },
  147. },
  148. // 设备充值
  149. {
  150. path: "/recharge",
  151. name: "recharge",
  152. component: () => import("@/views/device/recharge.vue"),
  153. meta: { index: 1 },
  154. },
  155. // 机器排行
  156. {
  157. path: "/robotranking",
  158. name: "robotranking",
  159. component: () => import("@/views/robotRanking.vue"),
  160. meta: { index: 1 },
  161. },
  162. // 个人中心
  163. {
  164. path: "/user",
  165. name: "user",
  166. component: () => import("@/views/user.vue"),
  167. meta: { index: 1 },
  168. },
  169. // 备用提现账号
  170. {
  171. path: "/shandeMch",
  172. name: "shandeMch",
  173. component: () => import("@/views/shandeMch/index"),
  174. meta: { index: 1 },
  175. },
  176. // 提现账号
  177. {
  178. path: "/joinpayMch",
  179. name: "joinpayMch",
  180. component: () => import("@/views/joinpayMch/index"),
  181. meta: { index: 1 },
  182. },
  183. // 自充值
  184. {
  185. path: "/uniPay",
  186. name: "uniPay",
  187. component: () => import("@/views/uniPay/index"),
  188. meta: { index: 1 },
  189. },
  190. // 优惠码
  191. {
  192. path: "/discountCode",
  193. name: "discountCode",
  194. component: () => import("@/views/discountCode/index"),
  195. meta: { index: 1 },
  196. },
  197. // Airwallex 钱包
  198. {
  199. path: "/airwallex",
  200. name: "airwallex",
  201. component: () => import("@/views/airwallex/index.vue"),
  202. meta: { index: 1 },
  203. },
  204. // Airwallex 提现
  205. {
  206. path: "/airwallexPayment",
  207. name: "airwallexPayment",
  208. component: () => import("@/views/airwallex/payment.vue"),
  209. meta: { index: 1 },
  210. },
  211. {
  212. path: "/payCode",
  213. name: "payCode",
  214. component: () => import("@/views/discountCode/payCode"),
  215. meta: { index: 1 },
  216. },
  217. // 分销设置
  218. {
  219. path: "/distributionSet",
  220. name: "distributionSet",
  221. component: () => import("@/views/distributionSet/index"),
  222. meta: { index: 1 },
  223. },
  224. {
  225. path: "/distributionDetail",
  226. name: "distributionDetail",
  227. component: () => import("@/views/distributionSet/detail"),
  228. meta: { index: 1 },
  229. },
  230. // 账号权限
  231. {
  232. path: "/accountPer",
  233. name: "accountPer",
  234. component: () => import("@/views/accountPer/index"),
  235. meta: { index: 1 },
  236. },
  237. // 添加账号
  238. {
  239. path: "/accountPerAdd",
  240. name: "accountPerAdd",
  241. component: () => import("@/views/accountPer/add"),
  242. meta: { index: 1 },
  243. },
  244. // 角色权限
  245. {
  246. path: "/role",
  247. name: "role",
  248. component: () => import("@/views/role/index"),
  249. meta: { index: 1 },
  250. },
  251. {
  252. path: "/roleSet",
  253. name: "roleSet",
  254. component: () => import("@/views/role/add"),
  255. meta: { index: 1 },
  256. },
  257. // 商户管理
  258. {
  259. path: "/merchantManage",
  260. name: "merchantManage",
  261. component: () => import("@/views/merchantManage/index"),
  262. meta: { index: 1 },
  263. },
  264. {
  265. path: "/merchantSet",
  266. name: "merchantSet",
  267. component: () => import("@/views/merchantManage/set"),
  268. meta: { index: 1 },
  269. },
  270. // 广告管理
  271. {
  272. path: "/advertManage",
  273. name: "advertManage",
  274. component: () => import("@/views/advertManage/index"),
  275. meta: { index: 1 },
  276. },
  277. {
  278. path: "/advertSet",
  279. name: "advertSet",
  280. component: () => import("@/views/advertManage/adSet.vue"),
  281. meta: { index: 1 },
  282. },
  283. // 广告规则
  284. {
  285. path: "/advertRule",
  286. name: "advertRule",
  287. component: () => import("@/views/advertManage/advertRule/index.vue"),
  288. meta: { index: 1 },
  289. },
  290. // 广告规则新增
  291. {
  292. path: "/advertRuleAdd",
  293. name: "advertRuleAdd",
  294. component: () => import("@/views/advertManage/advertRule/add.vue"),
  295. meta: { index: 1 },
  296. },
  297. {
  298. path: "/advertRuleAddScreen",
  299. name: "advertRuleAddScreen",
  300. component: () => import("@/views/advertManage/advertRule/screen.vue"),
  301. meta: { index: 1 },
  302. },
  303. // apk管理
  304. {
  305. path: "/apkManage",
  306. name: "apkManage",
  307. component: () => import("@/views/apkManage/index"),
  308. meta: { index: 1 },
  309. },
  310. // apk管理-新增
  311. {
  312. path: "/apkManageAdd",
  313. name: "apkManageAdd",
  314. component: () => import("@/views/apkManage/add"),
  315. meta: { index: 1 },
  316. },
  317. // 报警历史
  318. {
  319. path: "/alarmHistory",
  320. name: "alarmHistory",
  321. component: () => import("@/views/alarmHistory/index"),
  322. meta: { index: 1 },
  323. },
  324. // 订单导出
  325. {
  326. path: "/orderExport",
  327. name: "orderExport",
  328. component: () => import("@/views/orderExport/index"),
  329. meta: { index: 1 },
  330. },
  331. // 杉德分账导出
  332. {
  333. path: "/subLedgerManage",
  334. name: "subLedgerManage",
  335. component: () => import("@/views/subLedgerManage/index"),
  336. meta: { index: 1 },
  337. },
  338. // 任务消息
  339. {
  340. path: "/taskMessage",
  341. name: "taskMessage",
  342. component: () => import("@/views/taskMessage/index"),
  343. meta: { index: 1 },
  344. },
  345. // 设备审批
  346. {
  347. path: "/taskEquipment",
  348. name: "taskEquipment",
  349. component: () => import("@/views/taskMessage/equipment"),
  350. meta: { index: 1 },
  351. },
  352. // 提现审批
  353. {
  354. path: "/taskJoinPayMchCheck",
  355. name: "taskJoinPayMchCheck",
  356. component: () => import("@/views/taskMessage/joinpayMchCheck"),
  357. meta: { index: 1 },
  358. },
  359. // 提现审批详情
  360. {
  361. path: "/taskJoinPayMchCheckInfo",
  362. name: "taskJoinPayMchCheckInfo",
  363. component: () => import("@/views/taskMessage/joinpayMchCheck/info"),
  364. meta: { index: 1 },
  365. },
  366. // 分销审批
  367. {
  368. path: "/taskProportion",
  369. name: "taskProportion",
  370. component: () => import("@/views/taskMessage/proportion"),
  371. meta: { index: 1 },
  372. },
  373. // 订单中心
  374. {
  375. path: "/orderCenter",
  376. name: "orderCenter",
  377. component: () => import("@/views/orderCenter/index"),
  378. meta: { index: 1 },
  379. },
  380. // 测试
  381. {
  382. path: "/test",
  383. name: "test",
  384. component: () => import("@/views/test"),
  385. meta: { index: 1 },
  386. },
  387. // 标签管理
  388. {
  389. path: "/labelMan",
  390. name: "labelMan",
  391. component: () => import("@/views/labelMan/index"),
  392. meta: { index: 1 },
  393. },
  394. // 标签管理-新增
  395. {
  396. path: "/labelManAdd",
  397. name: "labelManAdd",
  398. component: () => import("@/views/labelMan/add"),
  399. meta: { index: 1 },
  400. },
  401. // 修改价格
  402. {
  403. path: "/modifyPrice",
  404. name: "modifyPrice",
  405. component: () => import("@/views/device/modifyPrice/index"),
  406. meta: { index: 1 },
  407. },
  408. // 屏蔽/展示商品
  409. {
  410. path: "/showGoods",
  411. name: "showGoods",
  412. component: () => import("@/views/device/showGoods/index"),
  413. meta: { index: 1 },
  414. },
  415. // 修改机器密码
  416. {
  417. path: "/devicePassword",
  418. name: "devicePassword",
  419. component: () => import("@/views/device/devicePassword/index"),
  420. meta: { index: 1 },
  421. },
  422. // 查看定位
  423. {
  424. path: "/viewPosition",
  425. name: "viewPosition",
  426. component: () => import("@/views/device/viewPosition/index"),
  427. meta: { index: 1 },
  428. },
  429. // 设备编辑-编辑规则
  430. {
  431. path: "/editAdRule",
  432. name: "editAdRule",
  433. component: () => import("@/views/device/editAdRule/index"),
  434. meta: { index: 1 },
  435. },
  436. // 跳转空中云汇
  437. {
  438. path: "/hpp",
  439. name: "Hpp",
  440. component: () => import("@/views/Hpp.vue"),
  441. meta: { index: 1, noLogin: true },
  442. },
  443. // 定制logo
  444. {
  445. path: "/customLogo",
  446. name: "customLogo",
  447. component: () => import("@/views/device/customLogo.vue"),
  448. meta: { index: 1 },
  449. },
  450. // 查看日志
  451. {
  452. path: "/viewLogs",
  453. name: "viewLogs",
  454. component: () => import("@/views/device/viewLogs/index"),
  455. meta: { index: 1 },
  456. },
  457. // 账户操作
  458. {
  459. path: "/accountOperation",
  460. name: "accountOperation",
  461. component: () => import("@/views/accountOperation/index"),
  462. meta: { index: 1 },
  463. },
  464. // apk管理,广告管理,订单导出 不是所有的帐号能看到
  465. ],
  466. });
  467. // 路由守卫处理
  468. router.beforeEach((to, from, next) => {
  469. // 页面带有不需要识别登录状态的跳过登录验证
  470. if (to.meta.noLogin) {
  471. next();
  472. } else {
  473. const user = getLocal("loginUser");
  474. if (!user || user === "") {
  475. // 没有登录信息跳转登录页面
  476. router.push("/login");
  477. } else {
  478. const userObject = JSON.parse(user);
  479. // 登录信息异常跳转登录页面
  480. if (!userObject) {
  481. router.push("/login");
  482. }
  483. if (typeof userObject.id !== "number") {
  484. router.push("/login");
  485. }
  486. }
  487. next();
  488. }
  489. });
  490. export default router;