Bladeren bron

对用户无权访问的url进行拦截

sunjh 6 jaren geleden
bovenliggende
commit
fdd5f7b3c9
2 gewijzigde bestanden met toevoegingen van 47 en 23 verwijderingen
  1. 38 18
      src/js/index.js
  2. 9 5
      src/main.js

+ 38 - 18
src/js/index.js

@@ -22,13 +22,25 @@ export const getCurrentUser = () => {
 }
 
 //上传文档
-export const uploadFile = () => {
-
+export const uploadFile = (url, file) => {
+  const formData = new FormData()
+  let config = {
+    //添加请求头
+    headers: {'Content-Type': 'multipart/form-data'},
+  }
+  formData.append('file', file)
+  return Http.upload(url, formData, config)
 }
 
 //上传图片
-export const uploadImage = () => {
-
+export const uploadImage = (file) => {
+  const formData = new FormData()
+  let config = {
+    //添加请求头
+    headers: {'Content-Type': 'multipart/form-data'},
+  }
+  formData.append('file', file)
+  return Http.upload(Apis.FILE.UPLOAD_IMAGE, formData, config)
 }
 
 //上传图片前检测
@@ -42,22 +54,22 @@ export const beforeUploadFile = () => {
 }
 
 //创建项目
-export const createProject = () => {
-
+export const createProject = (project) => {
+  return Http.post(Apis.PROJECT.CREATE_PROJECT, project)
 }
 
 //修改项目
-export const updateProject = () => {
-
+export const updateProject = (project, projectId) => {
+  return Http.put(Apis.PROJECT.UPDATE_PROJECT.replace('{projectId}', projectId), project)
 }
 
 //查看项目
-export const getProject = () => {
-
+export const getProject = (projectId) => {
+  Http.get(Apis.PROJECT.GET_PROJECT.replace('{projectId}', projectId))
 }
 
 //删除项目
-export const deleteProject = () => {
+export const deleteProject = (projectId) => {
 
 }
 
@@ -77,18 +89,18 @@ export const ensureEndProject = () => {
 }
 
 //创建任务
-export const createTask = () => {
-
+export const createTask = (projectId, task) => {
+  return Http.post(Apis.TASK.CREATE_TASK.replace('{projectId}', projectId), task)
 }
 
 //修改任务
-export const updateTask = () => {
-
+export const updateTask = (projectId, taskId, task) => {
+  return Http.put(Apis.TASK.UPDATE_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId), task)
 }
 
 //查看任务
-export const getTask = () => {
-
+export const getTask = (projectId, taskId) => {
+  return Http.get(Apis.TASK.GET_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId))
 }
 
 //删除任务
@@ -173,7 +185,15 @@ export const getAllPlatformTypes = () => {
 
 //获取当前角色可访问的url
 export const getAuthUrls = () => {
-  return Http.get(Apis.USER.GET_AUTH_URLS)
+  return [
+    '/', '/home', '/square', '/mine', '/project/create',
+    '/project/:projectId', '/project/:projectId/task/create',
+    '/project/:projectId/task/:taskId', '/project/:projectId/analyse',
+    '/report/create', '/report/:reportId', '/addProject', '/addAgency',
+    '/authentication/individual', '/authentication/enterprise',
+    '/authentication/agency', '/authentication/index'
+  ]
+  //return Http.get(Apis.USER.GET_AUTH_URLS)
 }
 
 //上传个人认证信息

+ 9 - 5
src/main.js

@@ -5,6 +5,7 @@ import App from './App'
 import router from './router'
 import 'font-awesome/css/font-awesome.css'
 import './style/main.scss'
+import {getAuthUrls} from '@/js/index'
 import {
   Avatar,
   Button,
@@ -49,13 +50,16 @@ import {
 } from 'element-ui'
 
 router.beforeEach((to, from, next) => {
+  const urls = getAuthUrls()
+  //console.log(to.matched[0].path)
+  //console.log(urls.includes(to.matched[0].path))
   if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录权限
-    console.log('需要拦截')
-    if (sessionStorage.userName === '2') { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
-      console.log('未拦截')
+    //console.log('需要登录')
+    if (sessionStorage.userName === '2' && urls.includes(to.matched[0].path)) { // 判断缓存里面是否有 userName  //在登录的时候设置它的值
+      //console.log('未拦截')
       next()
     } else {
-      console.log('拦截')
+      //console.log('拦截')
       next({
         path: '/',
         query: {
@@ -64,7 +68,7 @@ router.beforeEach((to, from, next) => {
       })
     }
   } else {
-    console.log('不需要拦截')
+    //console.log('不需要登录')
     next()
   }
 })