Просмотр исходного кода

improve: 代码生成及菜单刷新

From-wh 2 лет назад
Родитель
Сommit
1f04b00b0a

+ 9 - 0
template/admin/src/layout/component/aside.vue

@@ -94,6 +94,15 @@ export default {
         this.$refs.layoutAsideRef.update();
       }, 300);
     });
+    if (this.$store.state.themeConfig.themeConfig.layout !== 'columns') {
+      this.bus.$on('routesListChange', () => {
+        console.log('变了大哥');
+        this.setFilterRoutes();
+      });
+    }
+  },
+  beforeDestroy() {
+    this.bus.$off('routesListChange');
   },
   methods: {
     // 设置/过滤路由(非静态路由/是否显示在菜单中)

+ 15 - 1
template/admin/src/layout/component/columnsAside.vue

@@ -29,7 +29,7 @@
                   $t(v.title) && $t(v.title).length >= 4
                     ? $t(v.title).substr(0, setColumnsAsidelayout === 'columns-vertical' ? 4 : 3)
                     : $t(v.title)
-                }}
+                }}1
               </div>
             </a>
           </div>
@@ -63,13 +63,27 @@ export default {
     },
     // 设置分栏布局风格
     setColumnsAsidelayout() {
+      console.log('111');
       return this.$store.state.themeConfig.themeConfig.columnsAsideLayout;
     },
     Layout() {
       return this.$store.state.themeConfig.themeConfig.Layout;
     },
+    routesList() {
+      console.log('大哥');
+
+      this.$store.state.routesList.routesList;
+    },
+  },
+  beforeDestroy() {
+    console.log('zoule');
+    this.bus.$off('routesListChange');
   },
   mounted() {
+    this.bus.$on('routesListChange', () => {
+      console.log('变了大哥');
+      this.setFilterRoutes();
+    });
     this.setFilterRoutes();
   },
   methods: {

+ 8 - 1
template/admin/src/layout/navBars/breadcrumb/index.vue

@@ -34,6 +34,13 @@ export default {
   },
   mounted() {
     this.setFilterRoutes();
+    this.bus.$on('routesListChange', () => {
+      console.log('变了大哥');
+      this.setFilterRoutes();
+    });
+  },
+  beforeDestroy() {
+    this.bus.$off('routesListChange');
   },
   methods: {
     // 设置路由的过滤
@@ -72,6 +79,6 @@ export default {
   padding-right: 15px;
   overflow: hidden;
   background: var(--prev-bg-topBar);
-//   border-bottom: 1px solid var(--prev-border-color-lighter);
+  //   border-bottom: 1px solid var(--prev-border-color-lighter);
 }
 </style>

+ 4 - 0
template/admin/src/layout/navBars/breadcrumb/setings.vue

@@ -365,12 +365,16 @@ export default {
           themeSelect['--prev-MenuActiveColor'] = '#fff';
           if (val == 'theme-1') {
             themeSelect['--prev-bg-menu-hover-ba-color'] = '#1890ff';
+            themeSelect['--prev-bg-menuBar'] = '#282c34';
           } else if (val == 'theme-3') {
             themeSelect['--prev-bg-menu-hover-ba-color'] = '#41b584';
+            themeSelect['--prev-bg-menuBar'] = '#282c34';
           } else if (val == 'theme-5') {
             themeSelect['--prev-bg-menu-hover-ba-color'] = '#6954f0';
+            themeSelect['--prev-bg-menuBar'] = '#282c34';
           } else if (val == 'theme-7') {
             themeSelect['--prev-bg-menu-hover-ba-color'] = '#f34d37';
+            themeSelect['--prev-bg-menuBar'] = '#282c34';
           }
         } else if (this.getThemeConfig.layout === 'columns') {
           themeSelect['--prev-bg-topBar'] = '#fff';

+ 7 - 47
template/admin/src/main.js

@@ -195,55 +195,15 @@ new Vue({
   watch: {
     // 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要)
     $route(to, from) {
-      console.log(to, 'newRoute');
       const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : '';
       this.$store.commit('menu/setActivePath', onRoutes);
-
-      //   const path = to.path;
-      //   let menus = this.$store.state.menus.menusName;
-      //   const menuSider = menus;
-      //   const headerName = getHeaderName(to, menuSider);
-      //   if (headerName !== null) {
-      //     this.$store.commit('menu/setActivePath', path);
-      // let openNameList = getMenuopen(to, menuSider);
-      // this.$store.commit('menus/setopenMenus', openNameList);
-      //     const openNames = getSiderSubmenu(to, menuSider);
-      //     this.$store.commit('menu/setOpenNames', openNames);
-      //     // 设置顶栏菜单 后台添加一个接口,设置顶部菜单
-      //     const headerSider = getHeaderSider(menuSider);
-      //     this.$store.commit('menu/setHeader', headerSider);
-      //     // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
-      //     this.$store.commit('menu/setHeaderName', headerName);
-      //     // 获取侧边栏菜单
-      //     const filterMenuSider = getMenuSider(menuSider, headerName);
-      //     // 指定当前显示的侧边菜单
-      //     this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
-      //     this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
-      //   } else {
-      //     //子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
-      //     if (to.name == 'home_index') {
-      //       this.$store.commit('menu/setHeaderName', settings.routePre + '/home/');
-      //       this.$store.commit('menu/setSider', []);
-      //     }
-      //     // 指定当前显示的侧边菜单
-      //   }
-      //   if (to.meta.kefu) {
-      //     document.getElementsByTagName('body')[0].className = 'kf_mobile';
-      //   } else {
-      //     document.getElementsByTagName('body')[0].className = '';
-      //   }
-      //   // var storage = window.localStorage;
-      //   // let menus = JSON.parse(storage.getItem('menuList'));
-      //   // this.getMenus().then(menus => {
-      //   // 处理手动清除db 跳转403问题
-      //   if (!menus.length) {
-      //     if (path !== '/admin/login') {
-      //       this.$router.replace('/admin/login');
-      //     }
-      //     return;
-      //   }
-      //   // 在 404 时,是没有 headerName 的
-      //   // });
+      if (to.name == 'crud_crud') {
+        this.$store.state.menus.oneLvRoutes.map((e) => {
+          if (e.path === to.path) {
+            to.meta.title = e.title;
+          }
+        });
+      }
     },
   },
 });

+ 2 - 0
template/admin/src/pages/account/login/index.vue

@@ -214,6 +214,8 @@ export default {
           let arr = formatFlatteningRoutes(this.$router.options.routes);
           this.formatTwoStageRoutes(arr);
           this.$store.commit('menus/setOneLvMenus', arr);
+          let routes = formatFlatteningRoutes(data.menus);
+          this.$store.commit('menus/setOneLvRoute', routes);
 
           // 记录用户信息
           this.$store.commit('userInfo/name', data.user_info.account);

+ 1 - 1
template/admin/src/pages/setting/systemMenus/components/menusFrom.vue

@@ -407,7 +407,7 @@ export default {
           this.modals = false;
           this.$emit('changeMenu');
           this.getAddFrom();
-          this.$store.dispatch('admin/menus/getMenusNavList');
+          // this.$store.dispatch('menus/getMenusNavList');
         })
         .catch((res) => {
           this.valids = false;

+ 123 - 119
template/admin/src/pages/setting/systemMenus/index.vue

@@ -2,11 +2,11 @@
   <div>
     <Card :bordered="false" dis-hover class="ivu-mt">
       <Form
-          ref="roleData"
-          :model="roleData"
-          :label-width="labelWidth"
-          :label-position="labelPosition"
-          @submit.native.prevent
+        ref="roleData"
+        :model="roleData"
+        :label-width="labelWidth"
+        :label-position="labelPosition"
+        @submit.native.prevent
       >
         <Row type="flex" :gutter="24">
           <Col v-bind="grid">
@@ -19,30 +19,29 @@
           </Col>
           <Col v-bind="grid">
             <FormItem label="按钮名称:" prop="status2" label-for="status2">
-              <Input v-model="roleData.keyword" search enter-button placeholder="请输入按钮名称" @on-search="getData"/>
+              <Input v-model="roleData.keyword" search enter-button placeholder="请输入按钮名称" @on-search="getData" />
             </FormItem>
           </Col>
         </Row>
         <Row type="flex">
           <Col v-bind="grid">
             <Button v-auth="['setting-system_menus-add']" type="primary" @click="menusAdd('添加规则')" icon="md-add"
-            >添加规则
-            </Button
-            >
+              >添加规则
+            </Button>
           </Col>
         </Row>
       </Form>
       <vxe-table
-          :border="false"
-          class="vxeTable mt25"
-          highlight-hover-row
-          highlight-current-row
-          :loading="loading"
-          ref="xTable"
-          header-row-class-name="false"
-          :tree-config="tabconfig"
-          :data="tableData"
-          row-id="id"
+        :border="false"
+        class="vxeTable mt25"
+        highlight-hover-row
+        highlight-current-row
+        :loading="loading"
+        ref="xTable"
+        header-row-class-name="false"
+        :tree-config="tabconfig"
+        :data="tableData"
+        row-id="id"
       >
         <vxe-table-column field="id" title="ID" tooltip min-width="70"></vxe-table-column>
         <vxe-table-column field="menu_name" tree-node title="按钮名称" min-width="200"></vxe-table-column>
@@ -56,12 +55,12 @@
         <vxe-table-column field="flag" title="规则状态" min-width="120">
           <template v-slot="{ row }">
             <i-switch
-                v-model="row.is_show"
-                :value="row.is_show"
-                :true-value="1"
-                :false-value="0"
-                @on-change="onchangeIsShow(row)"
-                size="large"
+              v-model="row.is_show"
+              :value="row.is_show"
+              :true-value="1"
+              :false-value="0"
+              @on-change="onchangeIsShow(row)"
+              size="large"
             >
               <span slot="open">显示</span>
               <span slot="close">隐藏</span>
@@ -72,62 +71,64 @@
           <template v-slot="{ row, index }">
             <span v-auth="['setting-system_menus-add']">
               <a @click="addRoute(row)" v-if="row.auth_type === 1">添加权限</a>
-              <Divider type="vertical" v-if="row.auth_type === 1"/>
+              <Divider type="vertical" v-if="row.auth_type === 1" />
               <a @click="addE(row, '添加子菜单')" v-if="row.auth_type === 1">添加子菜单</a>
               <!-- <a @click="addE(row, '添加规则')" v-else>添加规则</a> -->
             </span>
-            <Divider type="vertical" v-if="row.auth_type === 1"/>
+            <Divider type="vertical" v-if="row.auth_type === 1" />
             <a @click="edit(row, '编辑')">编辑</a>
-            <Divider type="vertical"/>
+            <Divider type="vertical" />
             <a @click="del(row, '删除规则')">删除</a>
           </template>
         </vxe-table-column>
       </vxe-table>
     </Card>
     <menus-from
-        :formValidate="formValidate"
-        :titleFrom="titleFrom"
-        @getList="getList"
-        @changeMenu="getMenusUnique"
-        ref="menusFrom"
-        @clearFrom="clearFrom"
+      :formValidate="formValidate"
+      :titleFrom="titleFrom"
+      @getList="getList"
+      @changeMenu="getMenusUnique"
+      ref="menusFrom"
+      @clearFrom="clearFrom"
     ></menus-from>
     <Modal
-        v-model="ruleModal"
-        scrollable
-        width="1100"
-        title="权限列表"
-        @on-ok="addRouters"
-        @on-cancel="ruleModal = false"
-        @on-visible-change="modalchange"
+      v-model="ruleModal"
+      scrollable
+      width="1100"
+      title="权限列表"
+      @on-ok="addRouters"
+      @on-cancel="ruleModal = false"
+      @on-visible-change="modalchange"
     >
       <div class="search-rule">
-        <Alert>基础接口,可多选,并且添加后不会再展示出现;删除权限后才会出现;公共接口,可多选,并且添加后会继续展示;</Alert>
+        <Alert
+          >基础接口,可多选,并且添加后不会再展示出现;删除权限后才会出现;公共接口,可多选,并且添加后会继续展示;</Alert
+        >
         <Input
-            class="mr10"
-            v-model="searchRule"
-            placeholder="输入关键词搜索"
-            clearable
-            style="width: 300px"
-            ref="search"
-            @on-enter="searchRules"
-            @on-clear="searchRules"
+          class="mr10"
+          v-model="searchRule"
+          placeholder="输入关键词搜索"
+          clearable
+          style="width: 300px"
+          ref="search"
+          @on-enter="searchRules"
+          @on-clear="searchRules"
         />
         <Button class="mr10" type="primary" @click="searchRules">搜索</Button>
         <Button @click="init">重置</Button>
       </div>
 
       <Tabs v-model="routeType" @on-click="changTab">
-        <TabPane :label="item.name" :name="''+index" v-for="(item,index) in foundationList"></TabPane>
+        <TabPane :label="item.name" :name="'' + index" v-for="(item, index) in foundationList"></TabPane>
       </Tabs>
       <div class="rule">
         <div
-            class="rule-list"
-            v-show="!arrs.length || arrs.includes(item.id)"
-            :class="{ 'select-rule': seletRouteIds.includes(item.id) }"
-            v-for="(item, index) in children"
-            :key="index"
-            @click="selectRule(item)"
+          class="rule-list"
+          v-show="!arrs.length || arrs.includes(item.id)"
+          :class="{ 'select-rule': seletRouteIds.includes(item.id) }"
+          v-for="(item, index) in children"
+          :key="index"
+          @click="selectRule(item)"
         >
           <div>接口名称:{{ item.real_name }}</div>
           <div>请求方式:{{ item.method }}</div>
@@ -139,7 +140,7 @@
 </template>
 
 <script>
-import {mapState} from 'vuex';
+import { mapState } from 'vuex';
 import {
   getTable,
   menusDetailsApi,
@@ -151,14 +152,14 @@ import {
 } from '@/api/systemMenus';
 import formCreate from '@form-create/iview';
 import menusFrom from './components/menusFrom';
-import {formatFlatteningRoutes} from '@/libs/system';
+import { formatFlatteningRoutes } from '@/libs/system';
 
 export default {
   name: 'systemMenus',
   data() {
     return {
       children: [],
-      tabconfig: {children: 'children', reserve: true, accordion: true},
+      tabconfig: { children: 'children', reserve: true, accordion: true },
       spinShow: false,
       ruleModal: false,
       searchRule: '',
@@ -189,7 +190,7 @@ export default {
       menusId: 0, // 选中分类id
     };
   },
-  components: {menusFrom, formCreate: formCreate.$form()},
+  components: { menusFrom, formCreate: formCreate.$form() },
   computed: {
     ...mapState('admin/layout', ['isMobile']),
     labelWidth() {
@@ -214,13 +215,13 @@ export default {
         menus: this.seletRoute,
       };
       menusBatch(data)
-          .then((res) => {
-            console.log(res);
-            this.getData();
-          })
-          .catch((res) => {
-            this.$Message.error(res.msg);
-          });
+        .then((res) => {
+          console.log(res);
+          this.getData();
+        })
+        .catch((res) => {
+          this.$Message.error(res.msg);
+        });
     },
     selectRule(data) {
       if (this.seletRouteIds.includes(data.id)) {
@@ -240,8 +241,8 @@ export default {
     },
     changTab(name) {
       this.routeType = name;
-      let index = parseInt(name)
-      this.children = this.foundationList[index] ? this.foundationList[index].children : []
+      let index = parseInt(name);
+      this.children = this.foundationList[index] ? this.foundationList[index].children : [];
       this.searchRules();
     },
     // 搜索规则
@@ -263,13 +264,12 @@ export default {
       this.routeType = '0';
       this.getRuleList();
     },
-    modalchange() {
-    },
+    modalchange() {},
     // 获取权限列表
     getRuleList() {
       getRuleList().then((res) => {
         this.foundationList = res.data;
-        this.children = this.foundationList[0] ? this.foundationList[0].children : []
+        this.children = this.foundationList[0] ? this.foundationList[0].children : [];
         this.openList = [];
         this.seletRouteIds = [];
         this.seletRoute = [];
@@ -283,13 +283,13 @@ export default {
         is_show: row.is_show,
       };
       isShowApi(data)
-          .then(async (res) => {
-            this.$Message.success(res.msg);
-            this.$store.dispatch('menus/getMenusNavList');
-          })
-          .catch((res) => {
-            this.$Message.error(res.msg);
-          });
+        .then(async (res) => {
+          this.$Message.success(res.msg);
+          this.$store.dispatch('menus/getMenusNavList');
+        })
+        .catch((res) => {
+          this.$Message.error(res.msg);
+        });
     },
     // 请求列表
     getList() {
@@ -307,20 +307,20 @@ export default {
       let pid = row.id.toString();
       if (pid) {
         menusDetailsApi(row.id)
-            .then(async (res) => {
-              this.formValidate.path = res.data.path;
-              this.formValidate.path.push(row.id);
-              this.formValidate.pid = pid;
-              this.$refs.menusFrom.modals = true;
-              this.$refs.menusFrom.valids = false;
-              this.titleFrom = title;
-              this.formValidate.auth_type = 1;
-              this.formValidate.is_show = 0;
-              this.formValidate.is_show_path = 0;
-            })
-            .catch((res) => {
-              this.$Message.error(res.msg);
-            });
+          .then(async (res) => {
+            this.formValidate.path = res.data.path;
+            this.formValidate.path.push(row.id);
+            this.formValidate.pid = pid;
+            this.$refs.menusFrom.modals = true;
+            this.$refs.menusFrom.valids = false;
+            this.titleFrom = title;
+            this.formValidate.auth_type = 1;
+            this.formValidate.is_show = 0;
+            this.formValidate.is_show_path = 0;
+          })
+          .catch((res) => {
+            this.$Message.error(res.msg);
+          });
       } else {
         this.formValidate.pid = pid;
         this.$refs.menusFrom.modals = true;
@@ -347,25 +347,26 @@ export default {
       };
 
       this.$modalSure(delfromData)
-          .then((res) => {
-            this.$Message.success(res.msg);
-            this.getData();
-            this.$store.dispatch('menus/getMenusNavList');
-          })
-          .catch((res) => {
-            this.$Message.error(res.msg);
-          });
+        .then((res) => {
+          this.$Message.success(res.msg);
+          this.getData();
+          this.getMenusUnique();
+          // this.$store.dispatch('menus/getMenusNavList');
+        })
+        .catch((res) => {
+          this.$Message.error(res.msg);
+        });
     },
     // 规则详情
     menusDetails(id) {
       menusDetailsApi(id)
-          .then(async (res) => {
-            this.formValidate = res.data;
-            this.$refs.menusFrom.modals = true;
-          })
-          .catch((res) => {
-            this.$Message.error(res.msg);
-          });
+        .then(async (res) => {
+          this.formValidate = res.data;
+          this.$refs.menusFrom.modals = true;
+        })
+        .catch((res) => {
+          this.$Message.error(res.msg);
+        });
     },
     // 编辑
     edit(row, title, index) {
@@ -403,14 +404,14 @@ export default {
       this.loading = true;
       this.roleData.is_show = this.roleData.is_show || '';
       getTable(this.roleData)
-          .then(async (res) => {
-            this.tableData = res.data;
-            this.loading = false;
-          })
-          .catch((res) => {
-            this.loading = false;
-            this.$Message.error(res.msg);
-          });
+        .then(async (res) => {
+          this.tableData = res.data;
+          this.loading = false;
+        })
+        .catch((res) => {
+          this.loading = false;
+          this.$Message.error(res.msg);
+        });
     },
     getMenusUnique() {
       getMenusUnique().then((res) => {
@@ -420,6 +421,9 @@ export default {
         this.$store.dispatch('routesList/setRoutesList', data.menus);
         let arr = formatFlatteningRoutes(this.$router.options.routes);
         this.formatTwoStageRoutes(arr);
+        let routes = formatFlatteningRoutes(data.menus);
+        this.$store.commit('menus/setOneLvRoute', routes);
+        this.bus.$emit('routesListChange');
       });
     },
     formatTwoStageRoutes(arr) {
@@ -428,7 +432,7 @@ export default {
       const cacheList = [];
       arr.forEach((v) => {
         if (v && v.meta && v.meta.keepAlive) {
-          newArr.push({...v});
+          newArr.push({ ...v });
           cacheList.push(v.name);
           this.$store.dispatch('keepAliveNames/setCacheKeepAlive', cacheList);
         }
@@ -445,7 +449,7 @@ export default {
 
 <style scoped lang="scss">
 .vxeTable {
-  > > > .vxe-table--header-wrapper {
+  > .vxe-table--header-wrapper {
     background: #fff !important;
   }
 }

+ 8 - 26
template/admin/src/pages/system/backendRouting/debugging.vue

@@ -60,7 +60,7 @@
               </vxe-select>
             </template>
           </vxe-column>
-          <vxe-column field="must" title="必填" width="50" :edit-render="{}">
+          <!-- <vxe-column field="must" title="必填" width="50" :edit-render="{}">
             <template #default="{ row }">
               <span>{{ row.must == '1' ? '是' : '否' }}</span>
             </template>
@@ -69,7 +69,7 @@
             <template #default="{ row }">
               <vxe-input v-model="row.trip" type="text"></vxe-input>
             </template>
-          </vxe-column>
+          </vxe-column> -->
           <vxe-column title="操作" width="120">
             <template #default="{ row }">
               <vxe-button
@@ -133,7 +133,7 @@
               </vxe-select>
             </template>
           </vxe-column>
-          <vxe-column field="must" title="必填" width="50" :edit-render="{}">
+          <!-- <vxe-column field="must" title="必填" width="50" :edit-render="{}">
             <template #default="{ row }">
               <span>{{ row.must == '1' ? '是' : '否' }}</span>
             </template>
@@ -142,7 +142,7 @@
             <template #default="{ row }">
               <vxe-input v-model="row.trip" type="text"></vxe-input>
             </template>
-          </vxe-column>
+          </vxe-column> -->
           <vxe-column title="操作" width="120">
             <template #default="{ row }">
               <vxe-button
@@ -187,26 +187,6 @@
               <vxe-input v-model="row.value" type="text"></vxe-input>
             </template>
           </vxe-column>
-          <vxe-column field="type" title="类型" width="200" :edit-render="{}">
-            <template #default="{ row }">
-              <vxe-select
-                v-model="row.type"
-                transfer
-                @change="
-                  (val) => {
-                    handleChange(val, row, 'zTable');
-                  }
-                "
-              >
-                <vxe-option
-                  v-for="item in typeList"
-                  :key="item.value"
-                  :value="item.value"
-                  :label="item.label"
-                ></vxe-option>
-              </vxe-select>
-            </template>
-          </vxe-column>
           <vxe-column title="操作" width="100">
             <template #default="{ row }">
               <vxe-button
@@ -221,7 +201,7 @@
           </vxe-column>
         </vxe-table>
         <Button class="mt10" type="primary" @click="insertEvent('zTable')">添加参数</Button>
-        <h4 class="mt10 title">全局Header参数</h4>
+        <!-- <h4 class="mt10 title">全局Header参数</h4>
         <vxe-table
           class="mt10"
           resizable
@@ -254,7 +234,7 @@
               <span>{{ row.trip || '' }}</span>
             </template>
           </vxe-column>
-        </vxe-table>
+        </vxe-table> -->
       </div>
     </div>
     <div class="res mt10 mb10" v-if="codes">
@@ -360,10 +340,12 @@ export default {
       requestMethod(url, method, params, body, headers)
         .then((res) => {
           console.log(res, 'res');
+          if (!res) return this.$Message.error('接口异常');
           this.codes = JSON.stringify(res);
         })
         .catch((err) => {
           console.log(err, 'err');
+          if (!err) return this.$Message.error('接口异常');
           this.codes = JSON.stringify(err);
         });
     },

+ 32 - 3
template/admin/src/pages/system/backendRouting/index.vue

@@ -414,7 +414,7 @@
       <debugging
         v-if="debuggingModal"
         :formValidate="formValidate"
-        :typeList="typeList"
+        :typeList="intTypeList"
         :requestTypeList="requestTypeList"
       />
     </Modal>
@@ -461,7 +461,36 @@ export default {
         title: [{ message: '请输入正确的描述 (不能多于200位数)', trigger: 'blur', max: 200 }],
       },
       loading: false,
-
+      intTypeList: [
+        {
+          value: 'string',
+          label: 'String',
+        },
+        // {
+        //   value: 'array',
+        //   label: 'Array',
+        // },
+        // {
+        //   value: 'object',
+        //   label: 'Object',
+        // },
+        {
+          value: 'number',
+          label: 'Number',
+        },
+        {
+          value: 'boolean',
+          label: 'Boolean',
+        },
+        {
+          value: 'null',
+          label: 'Null',
+        },
+        {
+          value: 'any',
+          label: 'Any',
+        },
+      ],
       typeList: [
         {
           value: 'string',
@@ -508,7 +537,7 @@ export default {
         {
           value: 'PUT',
           label: 'PUT',
-        }
+        },
       ],
       contextData: null, //左侧导航右键点击是产生的数据对象
       treeData: undefined,

+ 3 - 50
template/admin/src/pages/system/backendRouting/request.js

@@ -1,6 +1,7 @@
 import axios from 'axios';
 import Setting from '@/setting';
 import { getCookies, removeCookies } from '@/libs/util';
+import { Message } from 'iview';
 
 const service = axios.create({
   baseURL: 'https://v5.wuht.net',
@@ -68,57 +69,9 @@ service.interceptors.response.use(
     }
   },
   (error) => {
+    Message.error('接口异常');
+
     // return Promise.reject(error);
   },
 );
 export default service;
-
-// function sendRequest(url, method, params, header) {
-//   const instance = axios.create({
-//     baseURL: Setting.apiBaseURL, // 请求的根域名
-//     timeout: 1000, // 请求超时时间
-//     headers: {
-//       'X-Custom-Header': header, // 自定义头信息
-//     },
-//   });
-
-//   if (method === 'GET') {
-//     instance
-//       .get(url, { params: params })
-//       .then((response) => {
-//         // 处理响应数据
-//       })
-//       .catch((error) => {
-//         // 处理错误
-//       });
-//   } else if (method === 'POST') {
-//     instance
-//       .post(url, params, { headers: header })
-//       .then((response) => {
-//         // 处理响应数据
-//       })
-//       .catch((error) => {
-//         // 处理错误
-//       });
-//   } else if (method === 'PUT') {
-//     instance
-//       .put(url, params, { headers: header })
-//       .then((response) => {
-//         // 处理响应数据
-//       })
-//       .catch((error) => {
-//         // 处理错误
-//       });
-//   } else if (method === 'DELETE') {
-//     instance
-//       .delete(url, { headers: header })
-//       .then((response) => {
-//         // 处理响应数据
-//       })
-//       .catch((error) => {
-//         // 处理错误
-//       });
-//   }
-
-//   return instance;
-// }

+ 3 - 0
template/admin/src/pages/system/codeGeneration/index.vue

@@ -138,6 +138,9 @@ export default {
         this.$store.dispatch('routesList/setRoutesList', data.menus);
         let arr = formatFlatteningRoutes(this.$router.options.routes);
         this.formatTwoStageRoutes(arr);
+        let routes = formatFlatteningRoutes(data.menus);
+        this.$store.commit('menus/setOneLvRoute', routes);
+        this.bus.$emit('routesListChange');
       });
     },
   },

+ 4 - 0
template/admin/src/store/module/menus.js

@@ -27,6 +27,7 @@ export default {
     openMenus: [],
     childMenuList: [],
     oneLvMenus: [],
+    oneLvRoutes: [],
   },
   mutations: {
     getmenusNav(state, menuList) {
@@ -41,6 +42,9 @@ export default {
     setOneLvMenus(state, oneLvMenus) {
       state.oneLvMenus = oneLvMenus;
     },
+    setOneLvRoute(state, oneLvMenus) {
+      state.oneLvRoutes = oneLvMenus;
+    },
     childMenuList(state, list) {
       state.childMenuList = list;
     },

+ 16 - 16
template/admin/src/store/module/routesList.js

@@ -1,20 +1,20 @@
 const routesListModule = {
-	namespaced: true,
-	state: {
-		routesList: [],
-	},
-	mutations: {
-		// 设置路由,菜单中使用到
-		getRoutesList(state, data) {
-			state.routesList = data;
-		},
-	},
-	actions: {
-		// 设置路由,菜单中使用到
-		async setRoutesList({ commit }, data) {
-			commit('getRoutesList', data);
-		},
-	},
+  namespaced: true,
+  state: {
+    routesList: [],
+  },
+  mutations: {
+    // 设置路由,菜单中使用到
+    getRoutesList(state, data) {
+      state.routesList = data;
+    },
+  },
+  actions: {
+    // 设置路由,菜单中使用到
+    async setRoutesList({ commit }, data) {
+      commit('getRoutesList', data);
+    },
+  },
 };
 
 export default routesListModule;