Przeglądaj źródła

fix: 取消mock接口,开始对接后端真实接口

louhangfei 11 miesięcy temu
rodzic
commit
e9a18e8392

+ 1 - 1
.env.development

@@ -3,7 +3,7 @@ VITE_PORT = 8092
 
 
 # 是否开启mock
-VITE_USE_MOCK = true
+VITE_USE_MOCK = false
 
 # 是否删除console
 VITE_DROP_CONSOLE = true

+ 1 - 1
mock/login/info.ts

@@ -637,7 +637,7 @@ const info = {
 
 export default [
   {
-    url: '/eye_api_bak/api/login/info',
+    url: '/safety_api/api/login/info',
     timeout: 1000,
     method: 'post',
     response: () => {

+ 1 - 1
mock/login/routers.ts

@@ -314,7 +314,7 @@ const list = [
 
 export default [
   {
-    url: '/eye_api_bak/api/admin/menu/getRouters',
+    url: '/safety_api/api/admin/menu/getRouters',
     timeout: 1000,
     method: 'get',
     response: () => {

+ 10 - 5
src/api/system/user.ts

@@ -17,11 +17,16 @@ export interface BasicPageParams {
  * @description: 获取用户信息
  */
 export function getUserInfo(params: { tenantCode?: string }) {
-  return http.request({
-    url: '/login/info',
-    method: 'POST',
-    params,
-  });
+  return http.request(
+    {
+      url: '/login/info',
+      method: 'POST',
+      params,
+    },
+    {
+      isShowErrorMessage: false,
+    },
+  );
 }
 
 /**

+ 2 - 0
src/enums/pageEnum.ts

@@ -5,6 +5,8 @@ export enum PageEnum {
   //重定向
   REDIRECT = '/redirect',
   REDIRECT_NAME = 'Redirect',
+
+  ROOT = '/',
   // 首页
   BASE_HOME = '/home',
 

+ 20 - 21
src/router/router-guards.ts

@@ -12,29 +12,24 @@ import { getRedirectUrl } from '@/utils/getRedirectUrl';
 
 const LOGIN_PATH = PageEnum.BASE_LOGIN;
 
-const whitePathList = [LOGIN_PATH, PageEnum.BASE_HOME]; // no redirect whitelist
+const whitePathList = [LOGIN_PATH, PageEnum.ROOT, PageEnum.BASE_HOME]; // no redirect whitelist
 
 const setDynamicRoute = async (router) => {
   const userStore = useUserStoreWidthOut();
   const asyncRouteStore = useAsyncRouteStoreWidthOut();
-  try {
-    const userInfo = await userStore.GetInfo();
-    const routes = await asyncRouteStore.generateRoutes(userInfo);
-    // 动态添加可访问路由表
-    routes.forEach((item) => {
-      router.addRoute(item as unknown as RouteRecordRaw);
-    });
-    //添加404
-    const isErrorPage = router.getRoutes().findIndex((item) => item.name === ErrorPageRoute.name);
-    if (isErrorPage === -1) {
-      router.addRoute(ErrorPageRoute as unknown as RouteRecordRaw);
-    }
-    asyncRouteStore.setDynamicAddedRoute(true);
-  } catch (error) {
-    ElMessage.error('请先登录');
-    userStore.showLogin = true;
-    return;
+  let userInfo;
+  userInfo = await userStore.GetInfo();
+  const routes = await asyncRouteStore.generateRoutes(userInfo);
+  // 动态添加可访问路由表
+  routes.forEach((item) => {
+    router.addRoute(item as unknown as RouteRecordRaw);
+  });
+  //添加404
+  const isErrorPage = router.getRoutes().findIndex((item) => item.name === ErrorPageRoute.name);
+  if (isErrorPage === -1) {
+    router.addRoute(ErrorPageRoute as unknown as RouteRecordRaw);
   }
+  asyncRouteStore.setDynamicAddedRoute(true);
 };
 
 export function createRouterGuards(router: Router) {
@@ -75,7 +70,7 @@ export function createRouterGuards(router: Router) {
           redirect: to.path,
         };
       }
-      // ElMessage.error('请先登录');
+      // ElMessage.error('请先登录2');
       userStore.showLogin = true;
       // next(redirectData);
       // window.location.href = getRedirectUrl();
@@ -87,8 +82,12 @@ export function createRouterGuards(router: Router) {
       next();
       return;
     }
-
-    await setDynamicRoute(router);
+    try {
+      await setDynamicRoute(router);
+    } catch (err) {
+      userStore.showLogin = true;
+      return;
+    }
     NProgress.done();
     const redirectPath = (from.query.redirect || to.path) as string;
     const redirect = decodeURIComponent(redirectPath);

+ 25 - 42
src/utils/http/axios/index.ts

@@ -35,6 +35,8 @@ const transform: AxiosTransform = {
    * @description: 处理请求数据
    */
   transformRequestData: (res: AxiosResponse<Result>, options: RequestOptions) => {
+    const userStore = useUserStoreWidthOut();
+
     const {
       isShowMessage = true,
       isShowErrorMessage = true,
@@ -106,42 +108,27 @@ const transform: AxiosTransform = {
       return result;
     }
 
-    switch (code) {
-      // 请求失败
-      // case ResultEnum.ERROR:
-      //   ElMessage.error(errorMsg);
-      //   break;
-      // 没有权限
-      // case 502:
-      //   ElMessage.error(errorMsg);
-      // break;
-      // 参数错误
-      // case 405:
-      //   ElMessage.error(errorMsg);
-      // break;
-      // 登录超时
-      case ResultEnum.TIMEOUT:
-      case ResultEnum.EXPIRED:
-        const LoginName = PageEnum.BASE_LOGIN_NAME;
-        const LoginPath = PageEnum.BASE_LOGIN;
-        if (router.currentRoute.value?.name === LoginName) return;
-        // 到登录页
-        errorMsg = '登录超时,请重新登录!';
-        ElMessageBox.confirm('登录身份已失效,请重新登录!', '提示', {
-          confirmButtonText: '确定',
-          showCancelButton: false,
-          type: 'warning',
-        })
-          .then(() => {
-            storage.clear();
-            window.location.href = getRedirectUrl();
-            // window.location.reload();
-          })
-          .catch(() => {});
-        break;
-      default:
-        break;
-    }
+    // switch (code) {
+    //   // 请求失败
+    //   // case ResultEnum.ERROR:
+    //   //   ElMessage.error(errorMsg);
+    //   //   break;
+    //   // 没有权限
+    //   // case 502:
+    //   //   ElMessage.error(errorMsg);
+    //   // break;
+    //   // 参数错误
+    //   // case 405:
+    //   //   ElMessage.error(errorMsg);
+    //   // break;
+    //   // 登录超时
+    //   case ResultEnum.TIMEOUT:
+    //   case ResultEnum.EXPIRED:
+    //     // userStore.showLogin = true;
+    //     break;
+    //   default:
+    //     break;
+    // }
     throw new Error(errorMsg);
   },
 
@@ -186,10 +173,7 @@ const transform: AxiosTransform = {
           config.params = undefined;
         }
         if (joinParamsToUrl) {
-          config.url = setObjToUrlParams(
-            config.url as string,
-            Object.assign({}, config.params, config.data),
-          );
+          config.url = setObjToUrlParams(config.url as string, Object.assign({}, config.params, config.data));
         }
       } else {
         // 兼容restful风格
@@ -234,8 +218,7 @@ const transform: AxiosTransform = {
   responseInterceptorsCatch: (error: any) => {
     const { response, code, message } = error || {};
     // TODO 此处要根据后端接口返回格式修改
-    const msg: string =
-      response && response.data && response.data.message ? response.data.message : '';
+    const msg: string = response && response.data && response.data.message ? response.data.message : '';
     const err: string = error.toString();
     try {
       if (code === 'ECONNABORTED' && message.indexOf('timeout') !== -1) {

+ 1 - 1
utils/devProxy/staff/app.config.js

@@ -3,7 +3,7 @@ window.__PRODUCTION__SKYEYEADMIN__CONF__ = {
   // document的title,以及显示在左侧导航栏的title,一般是项目的名称
   VITE_GLOB_APP_TITLE: '上飞院安全智能管控平台',
   // 接口前缀
-  VITE_GLOB_API_URL_PREFIX: './eye_api_bak/api',
+  VITE_GLOB_API_URL_PREFIX: './safety_api/api',
 
 };
 

+ 3 - 3
utils/devProxy/staff/proxy.ts

@@ -3,9 +3,9 @@ import path from 'path';
 
 // staff环境
 const proxyStaff: PROXY_TYPE = {
-  serverHost: 'http://192.168.13.68:8802/safety_api',
-  loginHost: 'http://192.168.13.68:7200/safety-login/',
-  fileUploadHost: 'http://192.168.13.68/safety-file-upload',
+  serverHost: 'http://192.168.13.68:8802/',
+  loginHost: 'http://192.168.13.68:7200/login/#/',
+  fileUploadHost: '',
 };
 
 // 对外导出的代理

+ 2 - 15
utils/devProxy/utils.ts

@@ -6,25 +6,12 @@ import { createProxy, ProxyList } from '../../build/vite/proxy';
 export const createProxyList = (devProxy: PROXY_TYPE) =>
   [
     ['/ws_api_bak/', devProxy.serverHost],
-    ['/eye_api_bak/', devProxy.serverHost],
-    ['/skyeye-login/', devProxy.loginHost],
-    ['/skyeye-login-shangfei/', devProxy.loginHost],
-    ['/skyeye-login-zongbu2/', devProxy.loginHost],
-    ['/skyeye-file-upload/', devProxy.skyeyeFileUploadHost],
-    ['/nvr_download/', devProxy.nvrDownload],
-    ['/push_stream_host_zongbu/', devProxy.push_stream_host_zongbu],
-    ['/push_stream_host_shangfei/', devProxy.push_stream_host_shangfei],
-    ['/push_stream_host_shangfeiyuan/', devProxy.push_stream_host_shangfeiyuan],
-    ['/push_stream_host_beiyan/', devProxy.push_stream_host_beiyan],
-    ['/push_stream_host_default/', devProxy.push_stream_host_default],
-    ['/push_stream_host_zjc/', devProxy.push_stream_host_default],
-    // 这个要放在最后
-    ['/push_stream_host/', devProxy.push_stream_host],
+    ['/safety_api/', devProxy.serverHost],
   ] as ProxyList;
 
 export const createConfig = (appConfigPath: string) => {
   // 将app.config.js复制到public目录下
-  fs.copy(appConfigPath, path.resolve(process.cwd(), 'public-dev/app.config.js'));
+  fs.copy(appConfigPath, path.resolve(process.cwd(), 'public/app.config.js'));
 };
 
 export const start = (proxy: PROXY_TYPE, appConfigPath: string) => {

+ 2 - 0
vite.config.ts

@@ -6,6 +6,7 @@ import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
 import { wrapperEnv } from './build/utils';
 import { createVitePlugins } from './build/vite/plugin';
 import { OUTPUT_DIR } from './build/constant';
+import devProxy from './utils/devProxy';
 import pkg from './package.json';
 import { formatToDateTime } from './src/utils/dateUtil';
 // @ts-ignore
@@ -84,6 +85,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
     server: {
       host: true,
       port: VITE_PORT,
+      proxy: devProxy,
     },
     optimizeDeps: {
       include: ['dayjs', '@vicons/ionicons5', '@vicons/antd', '@element-plus/icons-vue'],