Przeglądaj źródła

初始化并生成模型管理

wukai 2 miesięcy temu
rodzic
commit
b393b7d369

+ 0 - 12
bin/build.bat

@@ -1,12 +0,0 @@
-@echo off
-echo.
-echo [信息] 打包Web工程,生成dist文件。
-echo.
-
-%~d0
-cd %~dp0
-
-cd ..
-yarn build:prod
-
-pause

+ 0 - 12
bin/package.bat

@@ -1,12 +0,0 @@
-@echo off
-echo.
-echo [信息] 安装Web工程,生成node_modules文件。
-echo.
-
-%~d0
-cd %~dp0
-
-cd ..
-yarn --registry=https://registry.npmmirror.com
-
-pause

+ 0 - 12
bin/run-web.bat

@@ -1,12 +0,0 @@
-@echo off
-echo.
-echo [信息] 使用 Vite 命令运行 Web 工程。
-echo.
-
-%~d0
-cd %~dp0
-
-cd ..
-yarn dev
-
-pause

+ 44 - 0
src/api/biz/model.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询分析模型列表
+export function listModel(query) {
+    return request({
+        url: '/biz/model/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 查询分析模型详细
+export function getModel(modelId) {
+    return request({
+        url: '/biz/model/' + modelId,
+        method: 'get'
+    })
+}
+
+// 新增分析模型
+export function addModel(data) {
+    return request({
+        url: '/biz/model',
+        method: 'post',
+        data: data
+    })
+}
+
+// 修改分析模型
+export function updateModel(data) {
+    return request({
+        url: '/biz/model/edit',
+        method: 'post',
+        data: data
+    })
+}
+
+// 删除分析模型
+export function delModel(modelId) {
+    return request({
+        url: '/biz/model/del?modelId=' + modelId,
+        method: 'get'
+    })
+}

+ 19 - 19
src/layout/components/topMenu/menu.js

@@ -1,31 +1,31 @@
 export const menuData = [
     [
-        {title: '运行风险查询', path: '/pxf-risk-monitor-web/alarm/record', icon: "Position"},
-        {title: '业务类型统计', path: '/pxf-risk-monitor-web/alarm/bizType', icon: "PieChart"},
-        {title: '应用组件统计', path: '/pxf-risk-monitor-web/alarm/bizSort', icon: "DataAnalysis"},
-        {title: '系统压力排名', path: '/pxf-risk-monitor-web/alarm/bizAccess', icon: "DataLine"}
+        {title: '运行风险查询', path: '/pxf-risk-ripa-web/alarm/record', icon: "Position"},
+        {title: '业务类型统计', path: '/pxf-risk-ripa-web/alarm/bizType', icon: "PieChart"},
+        {title: '应用组件统计', path: '/pxf-risk-ripa-web/alarm/bizSort', icon: "DataAnalysis"},
+        {title: '系统压力排名', path: '/pxf-risk-ripa-web/alarm/bizAccess', icon: "DataLine"}
     ],
     [
-        {title: '异类组件分析', path: '/pxf-risk-monitor-web/risk/heterogeneous', icon: "Odometer"},
-        {title: '异常状态分析', path: '/pxf-risk-monitor-web/risk/frequency', icon: "Compass"},
-        {title: '异常趋势分析', path: '/pxf-risk-monitor-web/risk/numerical', icon: "DataBoard"},
-        {title: '业务主机及运行载体风险分析', path: '/pxf-risk-monitor-web/risk/bizHost', icon: "DataAnalysis"},
-        {title: '业务网络状况评估分析', path: '/pxf-risk-monitor-web/risk/bizNetwork', icon: "Reading"},
-        {title: '业务应用可持续性服务评估分析', path: '/pxf-risk-monitor-web/risk/bizServer', icon: "SetUp"},
+        {title: '异类组件分析', path: '/pxf-risk-ripa-web/risk/heterogeneous', icon: "Odometer"},
+        {title: '异常状态分析', path: '/pxf-risk-ripa-web/risk/frequency', icon: "Compass"},
+        {title: '异常趋势分析', path: '/pxf-risk-ripa-web/risk/numerical', icon: "DataBoard"},
+        {title: '业务主机及运行载体风险分析', path: '/pxf-risk-ripa-web/risk/bizHost', icon: "DataAnalysis"},
+        {title: '业务网络状况评估分析', path: '/pxf-risk-ripa-web/risk/bizNetwork', icon: "Reading"},
+        {title: '业务应用可持续性服务评估分析', path: '/pxf-risk-ripa-web/risk/bizServer', icon: "SetUp"},
     ],
     [
-        {title: '数据指标类别定义', path: '/pxf-risk-monitor-web/ms/type', icon: "EditPen"},
-        {title: '运行数据指标定义', path: '/pxf-risk-monitor-web/ms/def', icon: "Edit"},
-        {title: '应用数据场景标准化模板定义', path: '/pxf-risk-monitor-web/ms/mstpl', icon: "Memo"},
+        {title: '数据指标类别定义', path: '/pxf-risk-ripa-web/ms/type', icon: "EditPen"},
+        {title: '运行数据指标定义', path: '/pxf-risk-ripa-web/ms/def', icon: "Edit"},
+        {title: '应用数据场景标准化模板定义', path: '/pxf-risk-ripa-web/ms/mstpl', icon: "Memo"},
     ],
     [
-        {title: '推送配置', path: '/pxf-risk-monitor-web/sendMsg/pushConfig', icon: "Setting"},
-        {title: '短信推送记录', path: '/pxf-risk-monitor-web/sendMsg/pushRecordSms', icon: "Document"},
-        {title: '邮件推送记录', path: '/pxf-risk-monitor-web/sendMsg/pushRecordMail', icon: "Tickets"},
+        {title: '推送配置', path: '/pxf-risk-ripa-web/sendMsg/pushConfig', icon: "Setting"},
+        {title: '短信推送记录', path: '/pxf-risk-ripa-web/sendMsg/pushRecordSms', icon: "Document"},
+        {title: '邮件推送记录', path: '/pxf-risk-ripa-web/sendMsg/pushRecordMail', icon: "Tickets"},
     ],
     [
-        {title: '定时任务', path: '/pxf-risk-monitor-web/monitor/job', icon: "Clock"},
-        {title: '参数设置', path: '/pxf-risk-monitor-web/system/config', icon: "Setting"},
-        {title: '字典管理', path: '/pxf-risk-monitor-web/system/dict', icon: "Collection"},
+        {title: '定时任务', path: '/pxf-risk-ripa-web/monitor/job', icon: "Clock"},
+        {title: '参数设置', path: '/pxf-risk-ripa-web/system/config', icon: "Setting"},
+        {title: '字典管理', path: '/pxf-risk-ripa-web/system/dict', icon: "Collection"},
     ]
 ]

+ 21 - 18
src/router/index.js

@@ -24,7 +24,7 @@ import Layout from '@/layout'
   }
  */
 
-const prefix = '/pxf-risk-monitor-web'
+const prefix = '/pxf-risk-ripa-web'
 
 // 公共路由
 export const constantRoutes = [
@@ -70,24 +70,18 @@ export const constantRoutes = [
                 name: 'index',
                 meta: {title: '业务运行风险', icon: 'dashboard', affix: true}
             },
-            // {
-            //     path: '/dashboard',
-            //     component: () => import('@/views/dashboard'),
-            //     name: 'dashboard',
-            //     meta: {title: '业务运行风险', icon: 'dashboard', affix: true}
-            // },
-            // {
-            //     path: '/index',
-            //     component: () => import('@/views/index'),
-            //     name: 'Index',
-            //     hidden:true
-            // }
         ]
     },
     {
-        path:prefix,
+        path: prefix,
         component: Layout,
         children: [
+            //交易2025新增页面--start
+            {
+                path: prefix + '/model',
+                component: () => import('@/views/biz/model/index')
+            },
+            //交易2025新增页面--end
             {
                 path: prefix + '/user',
                 component: Layout,
@@ -251,10 +245,21 @@ export const constantRoutes = [
                 ]
             },
             {
+                path: prefix + '/tool/gen',
+                component: () => import('@/views/tool/gen/index')
+            },
+            {
+                path: prefix + '/system/dept',
+                component: () => import('@/views/system/dept/index')
+            },
+            {
+                path: prefix + '/system/menu',
+                component: () => import('@/views/system/menu/index')
+            },
+            {
                 path: prefix + '/tool/gen-edit',
                 component: Layout,
                 hidden: true,
-                permissions: ['tool:gen:edit'],
                 children: [
                     {
                         path: 'index/:tableId(\\d+)',
@@ -270,9 +275,7 @@ export const constantRoutes = [
 ];
 
 // 动态路由,基于用户权限动态去加载
-export const dynamicRoutes = [
-
-]
+export const dynamicRoutes = []
 
 const router = createRouter({
     history: createWebHashHistory(prefix + '/'),

+ 1 - 1
src/utils/request.js

@@ -15,7 +15,7 @@ export let isRelogin = {show: false};
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 axios.defaults.headers['ClientTag'] = 'INNET_BROWSE'
 let url = location.href
-axios.defaults.headers['CurrentRoute'] = '/pxf-risk-monitor-web/index'
+axios.defaults.headers['CurrentRoute'] = '/pxf-risk-ripa-web/index'
 axios.defaults.headers['X-Ticket'] = cookie.get("X-Ticket")
 axios.defaults.headers['X-Token'] = cookie.get("X-Token")
 // 创建axios实例

+ 1 - 1
src/views/alarm/record/bizAccess.vue

@@ -147,7 +147,7 @@ function jumpPP(row) {
   num = num.toFixed(0);
   const last = formatDate(now);
   const suffix = '/main/' + row.code + '@SPRING_BOOT/' + num + '分钟/' + last;
-  router.push({path: '/pxf-risk-monitor-web/link/pp-link/', query: {suffix: suffix}})
+  router.push({path: '/pxf-risk-ripa-web/link/pp-link/', query: {suffix: suffix}})
 }
 
 function formatDate(date) {

+ 264 - 0
src/views/biz/model/index.vue

@@ -0,0 +1,264 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="模型名称" prop="modelName">
+        <el-input
+            v-model="queryParams.modelName"
+            placeholder="请输入模型名称"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+<!--      <el-form-item label="排序" prop="orderNum">-->
+<!--        <el-input-->
+<!--            v-model="queryParams.orderNum"-->
+<!--            placeholder="请输入排序"-->
+<!--            clearable-->
+<!--            @keyup.enter="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="上级ID" prop="parentId">-->
+<!--        <el-input-->
+<!--            v-model="queryParams.parentId"-->
+<!--            placeholder="请输入上级ID"-->
+<!--            clearable-->
+<!--            @keyup.enter="handleQuery"-->
+<!--        />-->
+<!--      </el-form-item>-->
+      <el-form-item>
+        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+            type="primary"
+            plain
+            icon="Plus"
+            @click="handleAdd"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+            type="info"
+            plain
+            icon="Sort"
+            @click="toggleExpandAll"
+        >展开/折叠
+        </el-button>
+      </el-col>
+      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table
+        v-if="refreshTable"
+        v-loading="loading"
+        :data="modelList"
+        row-key="modelId"
+        :default-expand-all="isExpandAll"
+        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+    >
+      <el-table-column label="模型名称" prop="modelName"/>
+      <el-table-column label="模型描述" align="center" prop="modelDesc"/>
+<!--      <el-table-column label="排序" align="center" prop="orderNum"/>-->
+<!--      <el-table-column label="上级ID" align="center" prop="parentId"/>-->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template #default="scope">
+          <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"> 修改</el-button>
+          <el-button link type="primary" icon="Plus" @click="handleAdd(scope.row)">新增</el-button>
+          <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 添加或修改分析模型对话框 -->
+    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+      <el-form ref="modelRef" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="上级模型" prop="parentId">
+          <el-tree-select
+              v-model="form.parentId"
+              :data="modelOptions"
+              :props="{ value: 'modelId', label: 'modelName', children: 'children' }"
+              value-key="modelId"
+              placeholder="请选择上级模型"
+              check-strictly
+          />
+        </el-form-item>
+      </el-form>
+      <el-form-item label="模型名称" prop="modelName">
+        <el-input v-model="form.modelName" placeholder="请输入模型名称"/>
+      </el-form-item>
+      <el-form-item label="模型描述" prop="modelDesc">
+        <el-input v-model="form.modelDesc" type="textarea" placeholder="请输入内容"/>
+      </el-form-item>
+      <!--        <el-form-item label="排序" prop="orderNum">-->
+      <!--          <el-input v-model="form.orderNum" placeholder="请输入排序"/>-->
+      <!--        </el-form-item>-->
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup name="Model">
+
+import {addModel, delModel, getModel, listModel, updateModel} from "@/api/biz/model";
+
+const {proxy} = getCurrentInstance();
+
+const modelList = ref([]);
+const modelOptions = ref([]);
+const open = ref(false);
+const loading = ref(true);
+const showSearch = ref(true);
+const title = ref("");
+const isExpandAll = ref(true);
+const refreshTable = ref(true);
+
+const data = reactive({
+  form: {},
+  queryParams: {
+    modelName: null,
+    modelDesc: null,
+    orderNum: null,
+    parentId: null,
+  },
+  rules: {
+    modelName: [
+      {required: true, message: "模型名称不能为空", trigger: "blur"}
+    ],
+  }
+});
+
+const {queryParams, form, rules} = toRefs(data);
+
+/** 查询分析模型列表 */
+function getList() {
+  loading.value = true;
+  listModel(queryParams.value).then(response => {
+    modelList.value = proxy.handleTree(response.data, "modelId", "parentId");
+    loading.value = false;
+  });
+}
+
+/** 查询分析模型下拉树结构 */
+function getTreeselect() {
+  listModel().then(response => {
+    modelOptions.value = [];
+    const data = {modelId: 0, modelName: '顶级节点', children: []};
+    data.children = proxy.handleTree(response.data, "modelId", "parentId");
+    modelOptions.value.push(data);
+  });
+}
+
+// 取消按钮
+function cancel() {
+  open.value = false;
+  reset();
+}
+
+// 表单重置
+function reset() {
+  form.value = {
+    modelId: null,
+    modelName: null,
+    modelDesc: null,
+    orderNum: null,
+    parentId: null,
+    createBy: null,
+    createTime: null,
+    updateBy: null,
+    updateTime: null,
+    remark: null
+  };
+  proxy.resetForm("modelRef");
+}
+
+/** 搜索按钮操作 */
+function handleQuery() {
+  getList();
+}
+
+/** 重置按钮操作 */
+function resetQuery() {
+  proxy.resetForm("queryRef");
+  handleQuery();
+}
+
+/** 新增按钮操作 */
+function handleAdd(row) {
+  reset();
+  getTreeselect();
+  if (row != null && row.modelId) {
+    form.value.parentId = row.modelId;
+  } else {
+    form.value.parentId = 0;
+  }
+  open.value = true;
+  title.value = "添加分析模型";
+}
+
+/** 展开/折叠操作 */
+function toggleExpandAll() {
+  refreshTable.value = false;
+  isExpandAll.value = !isExpandAll.value;
+  nextTick(() => {
+    refreshTable.value = true;
+  });
+}
+
+/** 修改按钮操作 */
+async function handleUpdate(row) {
+  reset();
+  await getTreeselect();
+  if (row != null) {
+    form.value.parentId = row.modelId;
+  }
+  getModel(row.modelId).then(response => {
+    form.value = response.data;
+    open.value = true;
+    title.value = "修改分析模型";
+  });
+}
+
+/** 提交按钮 */
+function submitForm() {
+  proxy.$refs["modelRef"].validate(valid => {
+    if (valid) {
+      if (form.value.modelId != null) {
+        updateModel(form.value).then(response => {
+          proxy.$modal.msgSuccess("修改成功");
+          open.value = false;
+          getList();
+        });
+      } else {
+        addModel(form.value).then(response => {
+          proxy.$modal.msgSuccess("新增成功");
+          open.value = false;
+          getList();
+        });
+      }
+    }
+  });
+}
+
+/** 删除按钮操作 */
+function handleDelete(row) {
+  proxy.$modal.confirm('是否确认删除分析模型编号为"' + row.modelId + '"的数据项?').then(function () {
+    return delModel(row.modelId);
+  }).then(() => {
+    getList();
+    proxy.$modal.msgSuccess("删除成功");
+  }).catch(() => {
+  });
+}
+
+getList();
+</script>

+ 1 - 1
src/views/index/widget/accessError.vue

@@ -56,7 +56,7 @@ const getBiz = async () => {
 
 
 function target() {
-  router.push({path: "/pxf-risk-monitor-web/alarm/bizAccess", query: {today: "true"}})
+  router.push({path: "/pxf-risk-ripa-web/alarm/bizAccess", query: {today: "true"}})
 }
 
 </script>

+ 1 - 1
src/views/index/widget/alarmRanking.vue

@@ -52,6 +52,6 @@ async function getAlarm(){
 }
 
 function target(){
-  router.push({path:"/pxf-risk-monitor-web/alarm/bizSort",query:{today:"true"}})
+  router.push({path:"/pxf-risk-ripa-web/alarm/bizSort",query:{today:"true"}})
 }
 </script>

+ 1 - 1
src/views/index/widget/appHealth.vue

@@ -41,7 +41,7 @@ async function getHl(){
 
 function handleDetails(item){
   const {modelId,hlScoreId} = item
-  router.push({path: '/pxf-risk-monitor-web/hl/bm',query:{modelId,hlScoreId}})
+  router.push({path: '/pxf-risk-ripa-web/hl/bm',query:{modelId,hlScoreId}})
 }
 
 </script>

+ 1 - 1
src/views/index/widget/runResult.vue

@@ -30,7 +30,7 @@ const interval = ref(null)
 const router = useRouter()
 
 const handleTarget = () => {
-  router.push("/pxf-risk-monitor-web/risk/heterogeneous")
+  router.push("/pxf-risk-ripa-web/risk/heterogeneous")
 }
 
 onMounted(() => {

+ 1 - 1
src/views/index/widget/runTendency.vue

@@ -45,7 +45,7 @@ const visible = ref(false)
 const interval = ref(null)
 
 const handleTarget=()=>{
-  router.push("/pxf-risk-monitor-web/obj/obj")
+  router.push("/pxf-risk-ripa-web/obj/obj")
 }
 
 onMounted(() => {

+ 1 - 1
src/views/index/widget/titleNav.vue

@@ -32,7 +32,7 @@ function getWeek(){
 }
 
 function toTarget(){
-  router.push({path:"/pxf-risk-monitor-web/link/pp-link"})
+  router.push({path:"/pxf-risk-ripa-web/link/pp-link"})
 }
 
 </script>

+ 2 - 2
src/views/index/widget/topScrollBar.vue

@@ -23,9 +23,9 @@ const interval = ref(null)
 
 const nowCheck = (query) => {
   if (query) {
-    router.push({path: '/pxf-risk-monitor-web/hl/check', query: {check: 'true'}})
+    router.push({path: '/pxf-risk-ripa-web/hl/check', query: {check: 'true'}})
   } else {
-    router.push({path: '/pxf-risk-monitor-web/hl/check'})
+    router.push({path: '/pxf-risk-ripa-web/hl/check'})
   }
 }
 const result = ref({})

+ 1 - 1
src/views/monitor/job/index.vue

@@ -424,7 +424,7 @@ function crontabFill(value) {
 /** 任务日志列表查询 */
 function handleJobLog(row) {
   const jobId = row.jobId || 0;
-  router.push('/pxf-risk-monitor-web/monitor/job-log/index/' + jobId)
+  router.push('/pxf-risk-ripa-web/monitor/job-log/index/' + jobId)
 }
 /** 新增按钮操作 */
 function handleAdd() {

+ 1 - 1
src/views/monitor/job/log.vue

@@ -211,7 +211,7 @@ function getList() {
 }
 // 返回按钮
 function handleClose() {
-  const obj = { path: "/pxf-risk-monitor-web/monitor/job" };
+  const obj = { path: "/pxf-risk-ripa-web/monitor/job" };
   proxy.$tab.closeOpenPage(obj);
 }
 /** 搜索按钮操作 */

+ 1 - 1
src/views/system/dict/data.vue

@@ -273,7 +273,7 @@ function handleQuery() {
 }
 /** 返回按钮操作 */
 function handleClose() {
-  const obj = { path: "/pxf-risk-monitor-web/system/dict" };
+  const obj = { path: "/pxf-risk-ripa-web/system/dict" };
   proxy.$tab.closeOpenPage(obj);
 }
 /** 重置按钮操作 */

+ 1 - 1
src/views/system/dict/index.vue

@@ -107,7 +107,7 @@
          <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true"/>
          <el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
             <template #default="scope">
-               <router-link :to="'/pxf-risk-monitor-web/system/dict-data/index/' + scope.row.dictId" class="link-type">
+               <router-link :to="'/pxf-risk-ripa-web/system/dict-data/index/' + scope.row.dictId" class="link-type">
                   <span>{{ scope.row.dictType }}</span>
                </router-link>
             </template>

+ 1 - 1
src/views/system/role/index.vue

@@ -364,7 +364,7 @@ function handleCommand(command, row) {
 }
 /** 分配用户 */
 function handleAuthUser(row) {
-  router.push("/pxf-risk-monitor-web/system/role-auth/user/" + row.roleId);
+  router.push("/pxf-risk-ripa-web/system/role-auth/user/" + row.roleId);
 }
 /** 查询菜单树结构 */
 function getMenuTreeselect() {

+ 1 - 1
src/views/system/user/index.vue

@@ -484,7 +484,7 @@ function handleCommand(command, row) {
 /** 跳转角色分配 */
 function handleAuthRole(row) {
   const userId = row.userId;
-  router.push("/pxf-risk-monitor-web/system/user-auth/role/" + userId);
+  router.push("/pxf-risk-ripa-web/system/user-auth/role/" + userId);
 };
 /** 重置密码按钮操作 */
 function handleResetPwd(row) {

+ 1 - 1
src/views/tool/gen/index.vue

@@ -282,7 +282,7 @@ function handleSelectionChange(selection) {
 /** 修改按钮操作 */
 function handleEditTable(row) {
   const tableId = row.tableId || ids.value[0];
-  router.push({ path: "/pxf-risk-monitor-web/tool/gen-edit/index/" + tableId, query: { pageNum: queryParams.value.pageNum } });
+  router.push({ path: "/pxf-risk-ripa-web/tool/gen-edit/index/" + tableId, query: { pageNum: queryParams.value.pageNum } });
 }
 /** 删除按钮操作 */
 function handleDelete(row) {

+ 1 - 1
vite.config.js

@@ -10,7 +10,7 @@ export default defineConfig(({ mode, command }) => {
     // 部署生产环境和开发环境下的URL。
     // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
     // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
-    base: VITE_APP_ENV === 'production' ? '/pxf-risk-monitor-web' : '/pxf-risk-monitor-web',
+    base: VITE_APP_ENV === 'production' ? '/pxf-risk-ripa-web' : '/pxf-risk-ripa-web',
     plugins: createVitePlugins(env, command === 'build'),
     resolve: {
       // https://cn.vitejs.dev/config/#resolve-alias