瀏覽代碼

优化admin路径问题可自定义

liaofei 2 年之前
父節點
當前提交
60d6044494
共有 98 個文件被更改,包括 267 次插入202 次删除
  1. 3 1
      crmeb/config/app.php
  2. 3 2
      crmeb/route/route.php
  3. 2 1
      template/admin/src/components/diyComponents/c_upload_img.vue
  4. 3 1
      template/admin/src/components/diyComponents/c_upload_list.vue
  5. 8 2
      template/admin/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue
  6. 3 3
      template/admin/src/components/main/components/user/user.vue
  7. 2 1
      template/admin/src/components/mobileConfigRightDiy/c_hot_imgs.vue
  8. 2 1
      template/admin/src/components/mobileConfigRightDiy/c_menu_list.vue
  9. 2 1
      template/admin/src/components/mobileConfigRightDiy/c_upload_img.vue
  10. 5 3
      template/admin/src/components/newsCategory/index.vue
  11. 2 1
      template/admin/src/components/searchFrom/searchFrom.vue
  12. 1 1
      template/admin/src/components/upGrade/index.vue
  13. 2 2
      template/admin/src/libs/request.js
  14. 4 0
      template/admin/src/main.js
  15. 1 1
      template/admin/src/pages/account/login/index.vue
  16. 1 1
      template/admin/src/pages/app/app/index.vue
  17. 1 1
      template/admin/src/pages/app/routine/download/index.vue
  18. 3 3
      template/admin/src/pages/app/wechat/newsCategory/save.vue
  19. 2 2
      template/admin/src/pages/app/wechat/reply/follow.vue
  20. 2 2
      template/admin/src/pages/app/wechat/reply/keyword.vue
  21. 4 4
      template/admin/src/pages/app/wechat/user/tag.vue
  22. 3 3
      template/admin/src/pages/cms/addArticle/index.vue
  23. 2 2
      template/admin/src/pages/cms/article/index.vue
  24. 1 1
      template/admin/src/pages/cms/articleCategory/index.vue
  25. 1 1
      template/admin/src/pages/division/agent/agreement.vue
  26. 3 3
      template/admin/src/pages/finance/userExtract/index.vue
  27. 8 8
      template/admin/src/pages/index/components/gridMenu.vue
  28. 3 3
      template/admin/src/pages/marketing/channelCode/channelCodeIndex.vue
  29. 1 1
      template/admin/src/pages/marketing/channelCode/createCode.vue
  30. 2 2
      template/admin/src/pages/marketing/live/add_goods.vue
  31. 2 2
      template/admin/src/pages/marketing/live/creat_live.vue
  32. 1 1
      template/admin/src/pages/marketing/live/index.vue
  33. 1 1
      template/admin/src/pages/marketing/live/live_goods.vue
  34. 1 1
      template/admin/src/pages/marketing/lottery/create.vue
  35. 2 2
      template/admin/src/pages/marketing/lottery/index.vue
  36. 1 1
      template/admin/src/pages/marketing/recharge/index.vue
  37. 1 1
      template/admin/src/pages/marketing/sign/index.vue
  38. 4 4
      template/admin/src/pages/marketing/storeBargain/create.vue
  39. 4 4
      template/admin/src/pages/marketing/storeBargain/index.vue
  40. 3 3
      template/admin/src/pages/marketing/storeCombination/create.vue
  41. 4 4
      template/admin/src/pages/marketing/storeCombination/index.vue
  42. 2 2
      template/admin/src/pages/marketing/storeCouponIssue/create.vue
  43. 2 2
      template/admin/src/pages/marketing/storeCouponIssue/index.vue
  44. 4 4
      template/admin/src/pages/marketing/storeIntegral/addStoreIntegral.vue
  45. 3 3
      template/admin/src/pages/marketing/storeIntegral/create.vue
  46. 5 5
      template/admin/src/pages/marketing/storeIntegral/index.vue
  47. 2 2
      template/admin/src/pages/marketing/storeIntegralOrder/components/tableFrom.vue
  48. 3 3
      template/admin/src/pages/marketing/storePresell/create.vue
  49. 3 3
      template/admin/src/pages/marketing/storePresell/index.vue
  50. 3 3
      template/admin/src/pages/marketing/storeSeckill/create.vue
  51. 4 4
      template/admin/src/pages/marketing/storeSeckill/index.vue
  52. 1 1
      template/admin/src/pages/notify/smsConfig/index.vue
  53. 1 1
      template/admin/src/pages/notify/smsConfig/tableList.vue
  54. 2 2
      template/admin/src/pages/notify/smsPay/index.vue
  55. 8 8
      template/admin/src/pages/notify/smsTemplateApply/index.vue
  56. 2 2
      template/admin/src/pages/order/orderList/components/tableFrom.vue
  57. 3 3
      template/admin/src/pages/product/productAdd/index.vue
  58. 1 1
      template/admin/src/pages/product/productAdd/taoBao.vue
  59. 6 6
      template/admin/src/pages/product/productList/index.vue
  60. 2 2
      template/admin/src/pages/product/productList/taoBao.vue
  61. 1 1
      template/admin/src/pages/product/productReply/index.vue
  62. 1 1
      template/admin/src/pages/setting/agreement/index.vue
  63. 1 1
      template/admin/src/pages/setting/devise/components/uploadPic.vue
  64. 1 1
      template/admin/src/pages/setting/devise/diyIndex.vue
  65. 4 4
      template/admin/src/pages/setting/devise/list.vue
  66. 1 1
      template/admin/src/pages/setting/devise/template.vue
  67. 4 4
      template/admin/src/pages/setting/devisePage/index.vue
  68. 2 2
      template/admin/src/pages/setting/devisePage/list.vue
  69. 1 1
      template/admin/src/pages/setting/notification/index.vue
  70. 1 1
      template/admin/src/pages/setting/notification/notificationEdit.vue
  71. 7 1
      template/admin/src/pages/setting/systemMenus/components/menusFrom.vue
  72. 1 1
      template/admin/src/pages/system/configTab/index.vue
  73. 2 2
      template/admin/src/pages/system/configTab/list.vue
  74. 1 1
      template/admin/src/pages/system/group/index.vue
  75. 2 2
      template/admin/src/pages/system/group/list.vue
  76. 1 1
      template/admin/src/pages/system/group/pc.vue
  77. 1 1
      template/admin/src/pages/system/group/visualization.vue
  78. 1 1
      template/admin/src/pages/system/maintain/systemFile/login.vue
  79. 6 6
      template/admin/src/pages/system/onlineUpgrade/index.vue
  80. 1 1
      template/admin/src/pages/user/grade/agreement/index.vue
  81. 3 1
      template/admin/src/router/modules/agent.js
  82. 3 1
      template/admin/src/router/modules/app.js
  83. 3 1
      template/admin/src/router/modules/cms.js
  84. 3 1
      template/admin/src/router/modules/division.js
  85. 3 1
      template/admin/src/router/modules/echarts.js
  86. 3 1
      template/admin/src/router/modules/finance.js
  87. 3 1
      template/admin/src/router/modules/frameOut.js
  88. 4 2
      template/admin/src/router/modules/index.js
  89. 4 1
      template/admin/src/router/modules/marketing.js
  90. 3 1
      template/admin/src/router/modules/order.js
  91. 3 1
      template/admin/src/router/modules/product.js
  92. 3 1
      template/admin/src/router/modules/setting.js
  93. 3 1
      template/admin/src/router/modules/statistic.js
  94. 3 1
      template/admin/src/router/modules/system.js
  95. 3 1
      template/admin/src/router/modules/user.js
  96. 13 11
      template/admin/src/router/routers.js
  97. 3 1
      template/admin/src/setting.js
  98. 3 1
      template/admin/vue.config.js

+ 3 - 1
crmeb/config/app.php

@@ -45,5 +45,7 @@ return [
     // 显示错误信息
     'show_error_msg'   => false,
     // 没有开启消息队列命令或者定时任务命令的提醒开关
-    'console_remind'   => true
+    'console_remind'   => true,
+    // admin路由前缀
+    'admin_prefix'     => 'administration',
 ];

+ 3 - 2
crmeb/route/route.php

@@ -10,9 +10,10 @@ Route::miss(function () {
         $appRequest = str_replace('//', '/', $appRequest);
         $appName = explode('/', $appRequest)[0] ?? '';
     }
+
     switch (strtolower($appName)) {
-        case 'admin':
-            return view(app()->getRootPath() . 'public' . DS . 'admin' . DS . 'index.html');
+        case config('app.admin_prefix','admin'):
+            return view(app()->getRootPath() . 'public'  . DS . 'system.html');
         case 'home':
             if (request()->isMobile()) {
                 return redirect(app()->route->buildUrl('/'));

+ 2 - 1
template/admin/src/components/diyComponents/c_upload_img.vue

@@ -32,6 +32,7 @@
 
 <script>
 import { mapState } from 'vuex';
+import settings  from '@/setting'
 import uploadPictures from '@/components/uploadPictures';
 export default {
   name: 'c_upload_img',
@@ -104,7 +105,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: settings.roterPre +'/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 3 - 1
template/admin/src/components/diyComponents/c_upload_list.vue

@@ -82,6 +82,8 @@
 import linkaddress from '@/components/linkaddress';
 
 import uploadPictures from '@/components/uploadPictures';
+import settings  from '@/setting'
+
 import vuedraggable from 'vuedraggable';
 export default {
   name: 'c_upload_list',
@@ -194,7 +196,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 8 - 2
template/admin/src/components/main/components/header-bar/custom-bread-crumb/custom-bread-crumb.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="custom-bread-crumb">
     <Breadcrumb :style="{ fontSize: `${fontSize}px` }">
-      <BreadcrumbItem v-for="item in list" :key="`${item.path}`" v-if="listLast[0].path !== '/admin/home/'">
+      <BreadcrumbItem v-for="item in list" :key="`${item.path}`" v-if="listLast[0].path !== homePath">
         <common-icon style="margin-right: 4px" :type="item.icon || ''" />
         {{ item.title }}
       </BreadcrumbItem>
-      <BreadcrumbItem v-if="listLast[0].path === '/admin/home/'">
+      <BreadcrumbItem v-if="listLast[0].path === homePath">
         <common-icon style="margin-right: 4px" :type="listLast[0].icon || ''" />
         {{ listLast[0].title }}
       </BreadcrumbItem>
@@ -19,6 +19,7 @@
 <script>
 import { showTitle } from '@/libs/util';
 import CommonIcon from '_c/common-icon';
+import settings  from '@/setting'
 import './custom-bread-crumb.less';
 export default {
   name: 'customBreadCrumb',
@@ -44,6 +45,11 @@ export default {
       default: false,
     },
   },
+  data(){
+    return {
+      homePath: settings.roterPre + '/home',
+    };
+  },
   methods: {
     showTitle(item) {
       return showTitle(item, this);

+ 3 - 3
template/admin/src/components/main/components/user/user.vue

@@ -62,7 +62,7 @@ export default {
           AccountLogout()
             .then((res) => {
               that.$Message.success('您已成功退出');
-              that.$router.replace('/admin/login');
+              that.$router.replace({name:'login'});
               localStorage.clear();
               removeCookies('token');
               removeCookies('expires_time');
@@ -74,10 +74,10 @@ export default {
       });
     },
     userCenter() {
-      this.$router.push('/admin/system/user');
+      this.$router.push({name:'systemUser'});
     },
     fileEdit() {
-      this.$router.push('/admin/system/files');
+      this.$router.push({name:'systemFiles'});
     },
     message() {
       this.$router.push({

+ 2 - 1
template/admin/src/components/mobileConfigRightDiy/c_hot_imgs.vue

@@ -53,6 +53,7 @@ import vuedraggable from 'vuedraggable';
 import { mapState, mapActions } from 'vuex';
 import uploadPictures from '@/components/uploadPictures';
 import { wechatNewsAddApi, wechatNewsInfotApi } from '@/api/app';
+import settings  from '@/setting'
 export default {
   name: 'c_hot_imgs',
   props: {
@@ -152,7 +153,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: settings.roterPre +'/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 2 - 1
template/admin/src/components/mobileConfigRightDiy/c_menu_list.vue

@@ -82,6 +82,7 @@
 import vuedraggable from 'vuedraggable';
 import uploadPictures from '@/components/uploadPictures';
 import linkaddress from '@/components/linkaddress';
+import settings  from '@/setting'
 export default {
   name: 'c_menu_list',
   props: {
@@ -187,7 +188,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 2 - 1
template/admin/src/components/mobileConfigRightDiy/c_upload_img.vue

@@ -35,6 +35,7 @@
 <script>
 import { mapState } from 'vuex';
 import uploadPictures from '@/components/uploadPictures';
+import settings  from '@/setting'
 export default {
   name: 'c_upload_img',
   components: {
@@ -114,7 +115,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: settings.roterPre + '/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 5 - 3
template/admin/src/components/newsCategory/index.vue

@@ -18,8 +18,8 @@
             </Col>
           </Col>
         </Row>
-        <Row type="flex" v-show="$route.path === '/admin/app/wechat/news_category/index'">
-          <router-link :to="'/admin/app/wechat/news_category/save/0'">
+        <Row type="flex" v-show="$route.path === roterPre+'/app/wechat/news_category/index'">
+          <router-link :to="roterPre+'/app/wechat/news_category/save/0'">
             <Button type="primary" class="bnt" icon="md-add">添加图文消息</Button>
           </router-link>
         </Row>
@@ -94,6 +94,7 @@
 import vueWaterfallEasy from 'vue-waterfall-easy';
 import { wechatNewsListApi } from '@/api/app';
 import { mapState } from 'vuex';
+import settings  from '@/setting'
 export default {
   name: 'newsCategory',
   props: {
@@ -133,6 +134,7 @@ export default {
   },
   data() {
     return {
+      roterPre: settings.roterPre ,
       isDel: false,
       imgsArr: [],
       group: 0, // 当前加载的加载图片的次数
@@ -236,7 +238,7 @@ export default {
     // 编辑
     clkk(item) {
       this.$router.push({
-        path: '/admin/app/wechat/news_category/save/' + item.id,
+        path: this.roterPre + '/app/wechat/news_category/save/' + item.id,
       });
     },
     // 鼠标移进

+ 2 - 1
template/admin/src/components/searchFrom/searchFrom.vue

@@ -43,7 +43,7 @@
             </FormItem>
           </Col>
         </Col>
-        <Col span="24" class="ivu-text-left" v-if="$route.path === '/admin/echarts/trade/order'">
+        <Col span="24" class="ivu-text-left" v-if="$route.path === routePro + '/echarts/trade/order'">
           <FormItem label="订单类型:">
             <RadioGroup v-model="currentTab" type="button" @on-change="onClickTab(currentTab)">
               <Radio label="">全部</Radio>
@@ -68,6 +68,7 @@ export default {
   },
   data() {
     return {
+      routePro:this.$routeProStr,
       currentTab: '',
       grid: {
         xl: 8,

+ 1 - 1
template/admin/src/components/upGrade/index.vue

@@ -33,7 +33,7 @@ export default {
   methods: {
     upgradeNow() {
       this.$router.push({
-        path: '/admin/system/onlineUpgrade/index',
+        name: 'system_upgradeclient',
         params: { items: true },
       });
       this.$store.commit('upgrade/TOGGLE_STATUS', true);

+ 2 - 2
template/admin/src/libs/request.js

@@ -69,7 +69,7 @@ service.interceptors.response.use(
         removeCookies('token');
         removeCookies('expires_time');
         removeCookies('uuid');
-        router.replace({ path: '/admin/login' });
+        router.replace({ name: 'login' });
         break;
       case 110005:
       case 110006:
@@ -81,7 +81,7 @@ service.interceptors.response.use(
         router.replace({ path: '/kefu' });
         break;
       case 110008:
-        router.replace({ path: '/admin/system/maintain/system_file/login' });
+        router.replace({ name: 'system_opendir_login' });
         break;
       default:
         return Promise.reject(obj || { msg: '未知错误' });

+ 4 - 0
template/admin/src/main.js

@@ -88,6 +88,10 @@ const routerPush = Router.prototype.push;
 Router.prototype.push = function push(location) {
   return routerPush.call(this, location).catch((error) => error);
 };
+import settings  from '@/setting'
+
+Vue.prototype.$routeProStr = settings.roterPre
+
 // 实际打包时应该不引入mock
 /* eslint-disable */
 if (process.env.NODE_ENV !== 'production') require('@/mock');

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

@@ -239,7 +239,7 @@ export default {
             this.checkSocket();
           } catch (e) {}
 
-          return this.$router.replace({ path: '/admin/home/' || '/admin/' });
+          return this.$router.replace({ path: this.$routeProStr + '/home/' || this.$routeProStr + '/' });
         })
         .catch((res) => {
           msg()

+ 1 - 1
template/admin/src/pages/app/app/index.vue

@@ -111,7 +111,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       a: 1, //判断的隐私协议

+ 1 - 1
template/admin/src/pages/app/routine/download/index.vue

@@ -16,7 +16,7 @@
             </div>
             <Alert v-if="!pageData.appId && !pageData.code">
               <template slot="desc">
-                您尚未配置小程序信息,请<router-link :to="{ path: '/admin/setting/system_config_retail/3/7' }"
+                您尚未配置小程序信息,请<router-link :to="{ path: $routeProStr +'/setting/system_config_retail/3/7' }"
                   >立即设置</router-link
                 ></template
               >

+ 3 - 3
template/admin/src/pages/app/wechat/newsCategory/save.vue

@@ -2,7 +2,7 @@
   <div class="newsBox">
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/app/wechat/news_category/index' }"
+        <router-link :to="{ path: $routeProStr + '/app/wechat/news_category/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text" v-show="$route.params.id">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -166,7 +166,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       ruleValidate: {
@@ -303,7 +303,7 @@ export default {
               this.$Message.success(res.msg);
               setTimeout(() => {
                 this.$router.push({
-                  path: '/admin/app/wechat/news_category/index',
+                  path: this.$routeProStr + '/app/wechat/news_category/index',
                 });
               }, 500);
             })

+ 2 - 2
template/admin/src/pages/app/wechat/reply/follow.vue

@@ -398,13 +398,13 @@ export default {
           onCancel: () => {
             setTimeout(() => {
               this.$Modal.remove();
-              this.$router.push({ path: '/admin/app/wechat/reply/keyword' });
+              this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword' });
             }, 500);
           },
         });
       } else if (this.$route.params.id && this.$route.params.id !== '0') {
         this.$Modal.remove();
-        this.$router.push({ path: '/admin/app/wechat/reply/keyword' });
+        this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword' });
       }
     },
   },

+ 2 - 2
template/admin/src/pages/app/wechat/reply/keyword.vue

@@ -205,11 +205,11 @@ export default {
     },
     // 添加
     add() {
-      this.$router.push({ path: '/admin/app/wechat/reply/keyword/save/0' });
+      this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/0' });
     },
     // 编辑
     edit(row) {
-      this.$router.push({ path: '/admin/app/wechat/reply/keyword/save/' + row.id });
+      this.$router.push({ path: this.$routeProStr + '/app/wechat/reply/keyword/save/' + row.id });
     },
     del(row, tit, num) {
       let delfromData = {

+ 4 - 4
template/admin/src/pages/app/wechat/user/tag.vue

@@ -76,7 +76,7 @@ export default {
   methods: {
     // 添加
     add() {
-      if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
+      if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
         this.$modalForm(wechatTagCreateApi()).then(() => this.getList());
       } else {
         this.$modalForm(wechatGroupCreateApi()).then(() => this.getList());
@@ -84,7 +84,7 @@ export default {
     },
     // 编辑
     edit(row) {
-      if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
+      if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
         this.$modalForm(wechatTagEditApi(row.id)).then(() => this.getList());
       } else {
         this.$modalForm(wechatGroupEditApi(row.id)).then(() => this.getList());
@@ -93,7 +93,7 @@ export default {
     // 删除
     del(row, tit, num) {
       let delfromData = null;
-      if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
+      if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
         delfromData = {
           title: tit,
           num: num,
@@ -123,7 +123,7 @@ export default {
     getList() {
       this.loading = true;
       let fountion;
-      if (this.$route.path === '/admin/app/wechat/wechat_user/user/tag') {
+      if (this.$route.path === (this.$routeProStr + '/app/wechat/wechat_user/user/tag')) {
         fountion = wechatTagListApi();
       } else {
         fountion = wechatGroupListApi();

+ 3 - 3
template/admin/src/pages/cms/addArticle/index.vue

@@ -2,7 +2,7 @@
   <div class="article-manager">
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/cms/article/index' }"
+        <router-link :to="{ path: $routeProStr + '/cms/article/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -207,7 +207,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
     };
@@ -272,7 +272,7 @@ export default {
             .then(async (res) => {
               this.$Message.success(res.msg);
               setTimeout(() => {
-                this.$router.push({ path: '/admin/cms/article/index' });
+                this.$router.push({ path: this.$routeProStr + '/cms/article/index' });
               }, 500);
             })
             .catch((res) => {

+ 2 - 2
template/admin/src/pages/cms/article/index.vue

@@ -34,7 +34,7 @@
         </Row>
         <Row type="flex">
           <Col v-bind="grid">
-            <router-link :to="'/admin/cms/article/add_article'" v-auth="['cms-article-creat']"
+            <router-link :to="$routeProStr + '/cms/article/add_article'" v-auth="['cms-article-creat']"
               ><Button type="primary" class="bnt" icon="md-add">添加文章</Button></router-link
             >
           </Col>
@@ -282,7 +282,7 @@ export default {
     },
     // 编辑
     edit(row) {
-      this.$router.push({ path: '/admin/cms/article/add_article/' + row.id });
+      this.$router.push({ path: this.$routeProStr + '/cms/article/add_article/' + row.id });
     },
     // 关联
     artRelation(row, tit, num) {

+ 1 - 1
template/admin/src/pages/cms/articleCategory/index.vue

@@ -237,7 +237,7 @@ export default {
     // 查看文章
     lookUp(row) {
       this.$router.push({
-        path: '/admin/cms/article/index',
+        path: this.$routeProStr + '/cms/article/index',
         query: {
           id: row.id,
         },

+ 1 - 1
template/admin/src/pages/division/agent/agreement.vue

@@ -31,7 +31,7 @@ export default {
         autoHeightEnabled: false,
         initialFrameHeight: 500,
         initialFrameWidth: '100%',
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       agreement: {

+ 3 - 3
template/admin/src/pages/finance/userExtract/index.vue

@@ -62,7 +62,7 @@
                   v-model="formValidate.nireid"
                   style="width: 30%"
                 />
-                <router-link to="/admin/finance/finance/commission" class="ml20">佣金记录</router-link>
+                <router-link :to="$routeProStr + '/finance/finance/commission'" class="ml20">佣金记录</router-link>
               </div>
             </FormItem>
           </Col>
@@ -301,7 +301,7 @@ export default {
   },
   watch: {
     $route() {
-      if (this.$route.fullPath === '/admin/finance/user_extract/index?status=0') {
+      if (this.$route.fullPath === (this.$routeProStr +'/finance/user_extract/index?status=0')) {
         this.getPath();
       }
     },
@@ -316,7 +316,7 @@ export default {
     },
   },
   mounted() {
-    if (this.$route.fullPath === '/admin/finance/user_extract/index?status=0') {
+    if (this.$route.fullPath === (this.$routeProStr + '/finance/user_extract/index?status=0')) {
       this.getPath();
     } else {
       this.getList();

+ 8 - 8
template/admin/src/pages/index/components/gridMenu.vue

@@ -2,7 +2,7 @@
   <Row :gutter="24" class="dashboard-console-grid">
     <Col v-bind="grid" class="ivu-mb" v-auth="['admin-user-user-index']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/user/list' }">
+        <router-link :to="{ path: $routeProStr + '/user/list' }">
           <Icon type="md-people" color="#69c0ff" />
           <p>用户管理</p>
         </router-link>
@@ -10,7 +10,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['setting-system-config']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/setting/system_config' }">
+        <router-link :to="{ path: $routeProStr + '/setting/system_config' }">
           <Icon type="md-settings" color="#95de64" />
           <p>系统设置</p>
         </router-link>
@@ -18,7 +18,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['admin-store-storeProuduct-index']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/product/product_list' }">
+        <router-link :to="{ path: $routeProStr + '/product/product_list' }">
           <Icon type="md-cart" color="#ff9c6e" />
           <p>商品</p>
         </router-link>
@@ -26,7 +26,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['admin-order-storeOrder-index']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/order/list' }">
+        <router-link :to="{ path: $routeProStr + '/order/list' }">
           <Icon type="md-clipboard" color="#b37feb" />
           <p>订单管理</p>
         </router-link>
@@ -34,7 +34,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['setting-sms']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/setting/sms/sms_config/index' }">
+        <router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }">
           <Icon type="md-mail" color="#ffd666" />
           <p>短信配置</p>
         </router-link>
@@ -42,7 +42,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['cms-article-index']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/cms/article/index' }">
+        <router-link :to="{ path: $routeProStr + '/cms/article/index' }">
           <Icon type="md-card" color="#5cdbd3" />
           <p>文章管理</p>
         </router-link>
@@ -50,7 +50,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['agent-agent-manage']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/agent/agent_manage/index' }">
+        <router-link :to="{ path: $routeProStr + '/agent/agent_manage/index' }">
           <Icon type="md-pricetags" color="#ff85c0" />
           <p>分销管理</p>
         </router-link>
@@ -58,7 +58,7 @@
     </Col>
     <Col v-bind="grid" class="ivu-mb" v-auth="['marketing-store_coupon-index']">
       <Card :bordered="false">
-        <router-link :to="{ path: '/admin/marketing/store_coupon_issue/index' }">
+        <router-link :to="{ path: $routeProStr + '/marketing/store_coupon_issue/index' }">
           <Icon type="md-cash" color="#ffc069" />
           <p>优惠券</p>
         </router-link>

+ 3 - 3
template/admin/src/pages/marketing/channelCode/channelCodeIndex.vue

@@ -326,7 +326,7 @@ export default {
           break;
         case '2':
           this.$router.push({
-            path: '/admin/marketing/channel_code/code_statistic?id=' + row.id,
+            path: this.$routeProStr + '/marketing/channel_code/code_statistic?id=' + row.id,
           });
           break;
         case '3':
@@ -460,13 +460,13 @@ export default {
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/channel_code/create?id=' + row.id,
+        path: this.$routeProStr + '/marketing/channel_code/create?id=' + row.id,
       });
     },
     // 添加
     add() {
       this.$router.push({
-        path: '/admin/marketing/channel_code/create',
+        path: this.$routeProStr + '/marketing/channel_code/create',
       });
     },
     //

+ 1 - 1
template/admin/src/pages/marketing/channelCode/createCode.vue

@@ -392,7 +392,7 @@ export default {
           this.$Message.success(res.msg);
           setTimeout(() => {
             this.$router.push({
-              path: '/admin/marketing/channel_code/channelCodeIndex',
+              path: this.$routeProStr + '/marketing/channel_code/channelCodeIndex',
             });
           }, 1000);
         })

+ 2 - 2
template/admin/src/pages/marketing/live/add_goods.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/live/live_goods' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/live/live_goods' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -185,7 +185,7 @@ export default {
           this.$Message.success('添加成功');
           this.disabled = false;
           setTimeout(() => {
-            this.$router.push({ path: '/admin/marketing/live/live_goods' });
+            this.$router.push({ path: this.$routeProStr + '/marketing/live/live_goods' });
           }, 500);
         })
         .catch((error) => {

+ 2 - 2
template/admin/src/pages/marketing/live/creat_live.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/live/live_room' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/live/live_room' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -384,7 +384,7 @@ export default {
           this.$Message.success('添加成功');
           setTimeout(() => {
             this.loading = false;
-            this.$router.push({ path: '/admin/marketing/live/live_room' });
+            this.$router.push({ path: this.$routeProStr + '/marketing/live/live_room' });
           }, 500);
         })
         .catch((error) => {

+ 1 - 1
template/admin/src/pages/marketing/live/index.vue

@@ -211,7 +211,7 @@ export default {
     // 添加直播间
     menusAdd() {
       this.$router.push({
-        path: '/admin/marketing/live/add_live_room',
+        path: this.$routeProStr + '/marketing/live/add_live_room',
       });
     },
     // 分页

+ 1 - 1
template/admin/src/pages/marketing/live/live_goods.vue

@@ -225,7 +225,7 @@ export default {
     // 添加商品
     menusAdd() {
       this.$router.push({
-        path: '/admin/marketing/live/add_live_goods',
+        path: this.$routeProStr + '/marketing/live/add_live_goods',
       });
     },
     // 同步商品

+ 1 - 1
template/admin/src/pages/marketing/lottery/create.vue

@@ -454,7 +454,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       isChoice: '单选',

+ 2 - 2
template/admin/src/pages/marketing/lottery/index.vue

@@ -241,7 +241,7 @@ export default {
   methods: {
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/lottery/create' });
+      this.$router.push({ path:this.$routeProStr +  '/marketing/lottery/create' });
     },
     // 编辑
     edit(row) {
@@ -283,7 +283,7 @@ export default {
     //查看抽奖记录
     getRecording(row) {
       this.$router.push({
-        path: `/admin/marketing/lottery/recording_list`,
+        path: this.$routeProStr + `/marketing/lottery/recording_list`,
         query: {
           id: row.id,
         },

+ 1 - 1
template/admin/src/pages/marketing/recharge/index.vue

@@ -142,7 +142,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       a: 0, //判断的隐私协议

+ 1 - 1
template/admin/src/pages/marketing/sign/index.vue

@@ -115,7 +115,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       a: 0, //判断的隐私协议

+ 4 - 4
template/admin/src/pages/marketing/storeBargain/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/store_bargain/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_bargain/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -397,7 +397,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       isChoice: '',
@@ -854,7 +854,7 @@ export default {
                 this.$Message.success(res.msg);
                 setTimeout(() => {
                   this.$router.push({
-                    path: '/admin/marketing/store_bargain/index',
+                    path: this.$routeProStr + '/marketing/store_bargain/index',
                   });
                 }, 500);
               })
@@ -962,7 +962,7 @@ export default {
           // 创建 dialog
           let dialog = new window.UE.ui.Dialog({
             // 指定弹出层中页面的路径,这里只能支持页面,路径参考常见问题 2
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
             // 需要指定当前的编辑器实例
             editor: editor,
             // 指定 dialog 的名字

+ 4 - 4
template/admin/src/pages/marketing/storeBargain/index.vue

@@ -234,7 +234,7 @@ export default {
   methods: {
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/store_bargain/create/0' });
+      this.$router.push({ path: this.$routeProStr + '/marketing/store_bargain/create/0' });
     },
     // 导出
     // 用户导出
@@ -270,13 +270,13 @@ export default {
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/store_bargain/create/' + row.id + '/0',
+        path: this.$routeProStr + '/marketing/store_bargain/create/' + row.id + '/0',
       });
     },
     // 一键复制
     copy(row) {
       this.$router.push({
-        path: '/admin/marketing/store_bargain/create/' + row.id + '/1',
+        path: this.$routeProStr + '/marketing/store_bargain/create/' + row.id + '/1',
       });
     },
     // 删除
@@ -299,7 +299,7 @@ export default {
     },
     viewInfo(row) {
       this.$router.push({
-        path: '/admin/marketing/store_bargain/statistics/' + row.id,
+        path: this.$routeProStr + '/marketing/store_bargain/statistics/' + row.id,
       });
     },
     // 列表

+ 3 - 3
template/admin/src/pages/marketing/storeCombination/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/store_combination/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_combination/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -479,7 +479,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       modals: false,
@@ -854,7 +854,7 @@ export default {
                 this.$Message.success(res.msg);
                 setTimeout(() => {
                   this.$router.push({
-                    path: '/admin/marketing/store_combination/index',
+                    path: this.$routeProStr + '/marketing/store_combination/index',
                   });
                 }, 500);
               })

+ 4 - 4
template/admin/src/pages/marketing/storeCombination/index.vue

@@ -289,18 +289,18 @@ export default {
 
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/store_combination/create' });
+      this.$router.push({ path: this.$routeProStr + '/marketing/store_combination/create' });
     },
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/store_combination/create/' + row.id + '/0',
+        path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/0',
       });
     },
     // 一键复制
     copy(row) {
       this.$router.push({
-        path: '/admin/marketing/store_combination/create/' + row.id + '/1',
+        path: this.$routeProStr + '/marketing/store_combination/create/' + row.id + '/1',
       });
     },
     // 删除
@@ -323,7 +323,7 @@ export default {
     },
     viewInfo(row) {
       this.$router.push({
-        path: '/admin/marketing/store_combination/statistics/' + row.id,
+        path: this.$routeProStr + '/marketing/store_combination/statistics/' + row.id,
       });
     },
     // 列表

+ 2 - 2
template/admin/src/pages/marketing/storeCouponIssue/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/store_coupon_issue/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_coupon_issue/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -336,7 +336,7 @@ export default {
           setTimeout(() => {
             this.disabled = false;
             this.$router.push({
-              path: '/admin/marketing/store_coupon_issue/index',
+              path: this.$routeProStr + '/marketing/store_coupon_issue/index',
             });
           }, 1000);
         })

+ 2 - 2
template/admin/src/pages/marketing/storeCouponIssue/index.vue

@@ -385,12 +385,12 @@ export default {
     },
     // 添加优惠券
     add() {
-      this.$router.push({ path: '/admin/marketing/store_coupon_issue/create' });
+      this.$router.push({ path: this.$routeProStr + '/marketing/store_coupon_issue/create' });
     },
     // 复制
     copy(data) {
       this.$router.push({
-        path: `/admin/marketing/store_coupon_issue/create/${data.id}`,
+        path: this.$routeProStr + `/marketing/store_coupon_issue/create/${data.id}`,
       });
     },
     // 是否开启

+ 4 - 4
template/admin/src/pages/marketing/storeIntegral/addStoreIntegral.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header">
       <div class="i-layout-page-header">
-        <router-link :to="{ path: '/admin/marketing/store_integral/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_integral/index' }"
           ><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
         >
         <span class="ivu-page-header-title mr20" v-text="$route.params.id ? '编辑积分商品' : '添加积分商品'"></span>
@@ -178,7 +178,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       modals: false,
@@ -412,7 +412,7 @@ export default {
               this.$Message.success(res.msg);
               setTimeout(() => {
                 this.$router.push({
-                  path: '/admin/marketing/store_integral/index',
+                  path: this.$routeProStr + '/marketing/store_integral/index',
                 });
               }, 500);
             })
@@ -503,7 +503,7 @@ export default {
           // 创建 dialog
           let dialog = new window.UE.ui.Dialog({
             // 指定弹出层中页面的路径,这里只能支持页面,路径参考常见问题 2
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
             // 需要指定当前的编辑器实例
             editor: editor,
             // 指定 dialog 的名字

+ 3 - 3
template/admin/src/pages/marketing/storeIntegral/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/store_integral/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_integral/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -309,7 +309,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       modals: false,
@@ -613,7 +613,7 @@ export default {
                 this.$Message.success(res.msg);
                 setTimeout(() => {
                   this.$router.push({
-                    path: '/admin/marketing/store_integral/index',
+                    path: this.$routeProStr + '/marketing/store_integral/index',
                   });
                 }, 500);
               })

+ 5 - 5
template/admin/src/pages/marketing/storeIntegral/index.vue

@@ -230,16 +230,16 @@ export default {
   methods: {
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/store_integral/create' });
+      this.$router.push({ path: this.$routeProStr + '/marketing/store_integral/create' });
     },
     addMore() {
       this.$router.push({
-        path: '/admin/marketing/store_integral/add_store_integral',
+        path: this.$routeProStr + '/marketing/store_integral/add_store_integral',
       });
     },
     orderList(row) {
       this.$router.push({
-        path: '/admin/marketing/store_integral/order_list',
+        path: this.$routeProStr + '/marketing/store_integral/order_list',
         query: {
           product_id: row.id,
         },
@@ -264,13 +264,13 @@ export default {
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/store_integral/create/' + row.id + '/0',
+        path: this.$routeProStr + '/marketing/store_integral/create/' + row.id + '/0',
       });
     },
     // 一键复制
     copy(row) {
       this.$router.push({
-        path: '/admin/marketing/store_integral/create/' + row.id + '/1',
+        path: this.$routeProStr + '/marketing/store_integral/create/' + row.id + '/1',
       });
     },
     // 删除

+ 2 - 2
template/admin/src/pages/marketing/storeIntegralOrder/components/tableFrom.vue

@@ -268,7 +268,7 @@ export default {
   },
   watch: {
     $route() {
-      if (this.$route.fullPath === '/admin/order/list?status=1') {
+      if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
         this.getPath();
       }
     },
@@ -276,7 +276,7 @@ export default {
   created() {
     // this.timeVal = this.today;
     // this.orderData.data = this.timeVal.join('-');
-    if (this.$route.fullPath === '/admin/order/list?status=1') {
+    if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
       this.getPath();
     }
     // this.getToken();

+ 3 - 3
template/admin/src/pages/marketing/storePresell/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header">
       <div class="i-layout-page-header">
-        <router-link :to="{ path: '/admin/marketing/presell/index' }">
+        <router-link :to="{ path: $routeProStr + '/marketing/presell/index' }">
           <Button icon="ios-arrow-back" size="small" class="mr20">返回 </Button>
         </router-link>
         <span
@@ -406,7 +406,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       modals: false,
@@ -776,7 +776,7 @@ export default {
                 this.$Message.success(res.msg);
                 setTimeout(() => {
                   this.$router.push({
-                    path: '/admin/marketing/presell/index',
+                    path: this.$routeProStr + '/marketing/presell/index',
                   });
                 }, 500);
               })

+ 3 - 3
template/admin/src/pages/marketing/storePresell/index.vue

@@ -221,7 +221,7 @@ export default {
   methods: {
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/presell/create/0' });
+      this.$router.push({ path:this.$routeProStr + '/marketing/presell/create/0' });
     },
     // 导出
     exports() {
@@ -241,13 +241,13 @@ export default {
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/presell/create/' + row.id + '/0',
+        path: this.$routeProStr + '/marketing/presell/create/' + row.id + '/0',
       });
     },
     // 一键复制
     copy(row) {
       this.$router.push({
-        path: '/admin/marketing/presell/create/' + row.id + '/1',
+        path: this.$routeProStr + '/marketing/presell/create/' + row.id + '/1',
       });
     },
     // 删除

+ 3 - 3
template/admin/src/pages/marketing/storeSeckill/create.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/marketing/store_seckill/index' }"
+        <router-link :to="{ path: $routeProStr + '/marketing/store_seckill/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -429,7 +429,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       modals: false,
@@ -791,7 +791,7 @@ export default {
                 this.$Message.success(res.msg);
                 setTimeout(() => {
                   this.$router.push({
-                    path: '/admin/marketing/store_seckill/index',
+                    path: this.$routeProStr + '/marketing/store_seckill/index',
                   });
                 }, 500);
               })

+ 4 - 4
template/admin/src/pages/marketing/storeSeckill/index.vue

@@ -207,7 +207,7 @@ export default {
   methods: {
     // 添加
     add() {
-      this.$router.push({ path: '/admin/marketing/store_seckill/create' });
+      this.$router.push({ path: this.$routeProStr + '/marketing/store_seckill/create' });
     },
     // 导出
     async exports() {
@@ -242,13 +242,13 @@ export default {
     // 编辑
     edit(row) {
       this.$router.push({
-        path: '/admin/marketing/store_seckill/create/' + row.id + '/0',
+        path: this.$routeProStr + '/marketing/store_seckill/create/' + row.id + '/0',
       });
     },
     // 一键复制
     copy(row) {
       this.$router.push({
-        path: '/admin/marketing/store_seckill/create/' + row.id + '/1',
+        path: this.$routeProStr + '/marketing/store_seckill/create/' + row.id + '/1',
       });
     },
     // 删除
@@ -271,7 +271,7 @@ export default {
     },
     viewInfo(row) {
       this.$router.push({
-        path: '/admin/marketing/store_seckill/statistics/' + row.id,
+        path: this.$routeProStr + '/marketing/store_seckill/statistics/' + row.id,
       });
     },
     // 列表

+ 1 - 1
template/admin/src/pages/notify/smsConfig/index.vue

@@ -151,7 +151,7 @@ export default {
       this.$refs.tableLists.onOpenIndex(val);
     },
     mealPay(val) {
-      this.$router.push({ path: '/admin/setting/sms/sms_pay/index', query: { type: val } });
+      this.$router.push({ path: this.$routeProStr + '/setting/sms/sms_pay/index', query: { type: val } });
     },
     // 开通服务
     openService(val) {

+ 1 - 1
template/admin/src/pages/notify/smsConfig/tableList.vue

@@ -433,7 +433,7 @@ export default {
     //短信模板页
     shortMes() {
       this.$router.push({
-        path: '/admin/setting/sms/sms_template_apply/index',
+        path: this.$routeProStr + '/setting/sms/sms_template_apply/index',
       });
     },
     // 短信验证码

+ 2 - 2
template/admin/src/pages/notify/smsPay/index.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/setting/sms/sms_config/index' }"
+        <router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -116,7 +116,7 @@ export default {
           let data = res.data;
           if (!data.status) {
             this.$Message.warning('请先登录');
-            this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
+            this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
           } else {
             this.getServeInfo();
             this.getPrice();

+ 8 - 8
template/admin/src/pages/notify/smsTemplateApply/index.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/setting/sms/sms_config/index' }"
+        <router-link :to="{ path: $routeProStr + '/setting/sms/sms_config/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -17,7 +17,7 @@
         :label-position="labelPosition"
         @submit.native.prevent
       >
-        <Row type="flex" :gutter="24" v-if="$route.path === '/admin/setting/sms/sms_template_apply/index'">
+        <Row type="flex" :gutter="24" v-if="$route.path === ($routeProStr +'/setting/sms/sms_template_apply/index')">
           <!--                    <Col v-bind="grid">-->
           <!--                        <FormItem label="模板类型:">-->
           <!--                            <Select v-model="levelFrom.type" placeholder="请选择" clearable  @on-change="userSearchs">-->
@@ -71,7 +71,7 @@
         <template
           slot-scope="{ row, index }"
           slot="is_have"
-          v-if="$route.path === '/admin/setting/sms/sms_template_apply/commons'"
+          v-if="$route.path === ($routeProStr + '/setting/sms/sms_template_apply/commons')"
         >
           <span v-show="row.status === 1">有</span>
           <span v-show="row.status === 0">没有</span>
@@ -140,7 +140,7 @@ export default {
   mounted() {
     serveInfoApi().then((res) => {
       if (res.data.sms.open != 1) {
-        this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
+        this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
       }
     });
   },
@@ -162,7 +162,7 @@ export default {
           let data = res.data;
           if (!data.status) {
             this.$Message.warning('请先登录');
-            this.$router.push('/admin/setting/sms/sms_config/index?url=' + this.$route.path);
+            this.$router.push(this.$routeProStr + '/setting/sms/sms_config/index?url=' + this.$route.path);
           } else {
             this.getList();
           }
@@ -177,9 +177,9 @@ export default {
       this.levelFrom.status = this.levelFrom.status || '';
       this.levelFrom.is_have = this.levelFrom.is_have || '';
       let data = {
-        data: this.$route.path === '/admin/setting/sms/sms_template_apply/index' ? this.levelFrom : this.levelFrom2,
+        data: this.$route.path === (this.$routeProStr +'/setting/sms/sms_template_apply/index') ? this.levelFrom : this.levelFrom2,
         url:
-          this.$route.path === '/admin/setting/sms/sms_template_apply/index'
+          this.$route.path === (this.$routeProStr + '/setting/sms/sms_template_apply/index')
             ? 'serve/sms/temps'
             : 'notify/sms/public_temp',
       };
@@ -216,7 +216,7 @@ export default {
           minWidth: 100,
         },
       ];
-      if (this.$route.path === '/admin/setting/sms/sms_template_apply/commons') {
+      if (this.$route.path === (this.$routeProStr + '/setting/sms/sms_template_apply/commons')) {
         this.columns1 = Object.assign([], columns1)
           .slice(0, 6)
           .concat([

+ 2 - 2
template/admin/src/pages/order/orderList/components/tableFrom.vue

@@ -276,7 +276,7 @@ export default {
   },
   watch: {
     $route() {
-      if (this.$route.fullPath === '/admin/order/list?status=1') {
+      if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
         this.getPath();
       }
     },
@@ -284,7 +284,7 @@ export default {
   created() {
     // this.timeVal = this.today;
     // this.orderData.data = this.timeVal.join('-');
-    if (this.$route.fullPath === '/admin/order/list?status=1') {
+    if (this.$route.fullPath === (this.$routeProStr + '/order/list?status=1')) {
       this.getPath();
     }
   },

+ 3 - 3
template/admin/src/pages/product/productAdd/index.vue

@@ -2,7 +2,7 @@
   <div class="" id="shopp-manager">
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/product/product_list' }"
+        <router-link :to="{ path: $routeProStr + '/product/product_list' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -2052,7 +2052,7 @@ export default {
       this.content = data;
     },
     cancel() {
-      this.$router.push({ path: '/admin/product/product_list' });
+      this.$router.push({ path: this.$routeProStr + '/product/product_list' });
     },
     // 上传头部token
     getToken() {
@@ -2762,7 +2762,7 @@ export default {
               }
               setTimeout(() => {
                 this.openSubimit = false;
-                this.$router.push({ path: '/admin/product/product_list' });
+                this.$router.push({ path: this.$routeProStr + '/product/product_list' });
               }, 500);
             })
             .catch((res) => {

+ 1 - 1
template/admin/src/pages/product/productAdd/taoBao.vue

@@ -72,7 +72,7 @@ export default {
   },
   methods: {
     mealPay(val) {
-      this.$router.push({ path: '/admin/setting/sms/sms_pay/index', query: { type: val } });
+      this.$router.push({ path: this.$routeProStr + '/setting/sms/sms_pay/index', query: { type: val } });
     },
     getCopyConfig() {
       copyConfigApi().then((res) => {

+ 6 - 6
template/admin/src/pages/product/productList/index.vue

@@ -34,7 +34,7 @@
         </Row>
       </Form>
       <div class="Button">
-        <router-link v-auth="['product-product-save']" :to="'/admin/product/add_product'"
+        <router-link v-auth="['product-product-save']" :to="$routeProStr + '/product/add_product'"
           ><Button type="primary" class="bnt mr15" icon="md-add">添加商品</Button></router-link
         >
         <Button v-auth="['product-crawl-save']" type="success" class="bnt mr15" @click="onCopy">商品采集</Button>
@@ -109,7 +109,7 @@
           <Divider type="vertical" />
           <a @click="edit(row)">编辑</a>
           <Divider type="vertical" />
-          <router-link :to="{ path: '/admin/product/product_reply/' + row.id }"><a>查看评论</a></router-link>
+          <router-link :to="{ path: $routeProStr + '/product/product_reply/' + row.id }"><a>查看评论</a></router-link>
           <Divider type="vertical" />
           <a @click="del(row, '恢复商品', index)" v-if="artFrom.type === '6'">恢复商品</a>
           <a @click="del(row, '移入回收站', index)" v-else>移到回收站</a>
@@ -428,7 +428,7 @@ export default {
   },
   watch: {
     $route() {
-      if (this.$route.fullPath === '/admin/product/product_list?type=5') {
+      if (this.$route.fullPath === (this.$routeProStr + '/product/product_list?type=5')) {
         this.getPath();
       }
     },
@@ -437,7 +437,7 @@ export default {
   activated() {
     this.goodHeade();
     this.goodsCategory();
-    if (this.$route.fullPath === '/admin/product/product_list?type=5') {
+    if (this.$route.fullPath === (this.$routeProStr + '/product/product_list?type=5')) {
       this.getPath();
     } else {
       this.getDataList();
@@ -697,7 +697,7 @@ export default {
     // 复制淘宝
     onCopy() {
       this.$router.push({
-        path: '/admin/product/add_product',
+        path: this.$routeProStr + '/product/add_product',
         query: { type: -1 },
       });
       // this.modals = true
@@ -819,7 +819,7 @@ export default {
     },
     // 编辑
     edit(row) {
-      this.$router.push({ path: '/admin/product/add_product/' + row.id });
+      this.$router.push({ path: this.$routeProStr + '/product/add_product/' + row.id });
     },
     // 确认
     del(row, tit, num) {

+ 2 - 2
template/admin/src/pages/product/productList/taoBao.vue

@@ -458,7 +458,7 @@ export default {
   methods: {
     mealPay(val) {
       this.$router.push({
-        path: '/admin/setting/sms/sms_pay/index',
+        path: this.$routeProStr + '/setting/sms/sms_pay/index',
         query: { type: val },
       });
     },
@@ -663,7 +663,7 @@ export default {
         function (editor, uiName) {
           // 创建 dialog
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 1 - 1
template/admin/src/pages/product/productReply/index.vue

@@ -2,7 +2,7 @@
   <div class="article-manager">
     <div class="i-layout-page-header">
       <div class="i-layout-page-header">
-        <router-link :to="{ path: '/admin/product/product_list' }" v-if="$route.params.id"
+        <router-link :to="{ path: $routeProStr + '/product/product_list' }" v-if="$route.params.id"
           ><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
         >
         <span class="ivu-page-header-title mr20">商品评论管理</span>

+ 1 - 1
template/admin/src/pages/setting/agreement/index.vue

@@ -59,7 +59,7 @@ export default {
         autoHeightEnabled: false,
         initialFrameHeight: 500,
         initialFrameWidth: '100%',
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       id: 0,

+ 1 - 1
template/admin/src/pages/setting/devise/components/uploadPic.vue

@@ -150,7 +150,7 @@ export default {
         'test-dialog',
         function (editor, uiName) {
           let dialog = new window.UE.ui.Dialog({
-            iframeUrl: '/admin/widget.images/index.html?fodder=dialog',
+            iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',
             editor: editor,
             name: uiName,
             title: '上传图片',

+ 1 - 1
template/admin/src/pages/setting/devise/diyIndex.vue

@@ -2,7 +2,7 @@
   <div class="diy-page">
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/setting/pages/devise' }"
+        <router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />

+ 4 - 4
template/admin/src/pages/setting/devise/list.vue

@@ -66,7 +66,7 @@
                       v-if="row.is_diy === 1"
                       class="target"
                       ref="target"
-                      :href="`${url}/admin/setting/pages/diy_index?id=${row.id}&name=${row.template_name || 'moren'}`"
+                      :href="`${url}${$routeProStr}/setting/pages/diy_index?id=${row.id}&name=${row.template_name || 'moren'}`"
                       target="_blank"
                     >
                       编辑</a
@@ -356,7 +356,7 @@ export default {
         if (valid) {
           setCookies('moveLink', this.formItem.link);
           this.$router.push({
-            path: '/admin/setting/pages/diy',
+            path: this.$routeProStr + '/setting/pages/diy',
             query: { id: this.formItem.id, type: 1 },
           });
         } else {
@@ -414,7 +414,7 @@ export default {
           this.$Message.error('请先设为首页在进行编辑');
         } else {
           this.$router.push({
-            path: '/admin/setting/pages/diy',
+            path: this.$routeProStr + '/setting/pages/diy',
             query: { id: row.id, type: 0 },
           });
         }
@@ -427,7 +427,7 @@ export default {
     // 添加
     add() {
       this.$router.push({
-        path: '/admin/setting/pages/diy_index',
+        path: this.$routeProStr + '/setting/pages/diy_index',
         query: { id: 0, name: '首页', type: 1 },
       });
     },

+ 1 - 1
template/admin/src/pages/setting/devise/template.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div class="i-layout-page-header">
-      <router-link :to="{ path: '/admin/setting/pages/devise' }"
+      <router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
         ><Button icon="ios-arrow-back" size="small" class="mr20">返回</Button></router-link
       >
       <span class="ivu-page-header-title mr20">页面设计</span>

+ 4 - 4
template/admin/src/pages/setting/devisePage/index.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/setting/pages/devise' }"
+        <router-link :to="{ path: $routeProStr + '/setting/pages/devise' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -51,11 +51,11 @@ export default {
     let pageId = this.$route.query.id;
     let defaultData = this.$store.state.moren.defaultConfig;
     this.pageId = parseInt(pageId);
-    let moveLink = getCookies('moveLink');
+    let moveLink = 'http://open.net';getCookies('moveLink');
     if (Number(this.$route.query.type) === 1) {
-      this.iframeUrl = `${moveLink}/pages/index/index?type=iframeWindow`;
+      this.iframeUrl = `http://open.net/pages/index/index?type=iframeWindow`;
     } else {
-      this.iframeUrl = `${location.origin}/pages/index/index?type=iframeWindow`;
+      this.iframeUrl = `http://open.net/pages/index/index?type=iframeWindow`;
     }
     diyGetInfo(parseInt(pageId)).then((datas) => {
       let data = datas.data.info.value;

+ 2 - 2
template/admin/src/pages/setting/devisePage/list.vue

@@ -157,7 +157,7 @@ export default {
       this.$refs[name].validate((valid) => {
         if (valid) {
           setCookies('moveLink', this.formItem.link);
-          this.$router.push({ path: '/admin/setting/pages/diy', query: { id: this.formItem.id, type: 1 } });
+          this.$router.push({ path: this.$routeProStr + '/setting/pages/diy', query: { id: this.formItem.id, type: 1 } });
         } else {
           return false;
         }
@@ -206,7 +206,7 @@ export default {
       if (row.type) {
         this.isTemplate = true;
       } else {
-        this.$router.push({ path: '/admin/setting/pages/diy', query: { id: row.id, type: 0 } });
+        this.$router.push({ path: this.$routeProStr + '/setting/pages/diy', query: { id: row.id, type: 0 } });
       }
     },
     // 删除

+ 1 - 1
template/admin/src/pages/setting/notification/index.vue

@@ -242,7 +242,7 @@ export default {
     // 设置
     setting(item, row) {
       this.$router.push({
-        path: '/admin/setting/notification/notificationEdit?id=' + row.id,
+        path: this.$routeProStr + '/setting/notification/notificationEdit?id=' + row.id,
       });
     },
     getData(keys, row, item) {

+ 1 - 1
template/admin/src/pages/setting/notification/notificationEdit.vue

@@ -10,7 +10,7 @@
     </div> -->
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/setting/notification/index' }"
+        <router-link :to="{ path: $routeProStr + '/setting/notification/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />

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

@@ -58,7 +58,12 @@
           </Col>
           <Col v-bind="grid" v-show="authType">
             <FormItem label="路由地址:" prop="menu_path">
-              <Input v-model="formValidate.menu_path" placeholder="请输入路由地址"></Input>
+              <Input v-model="formValidate.menu_path" placeholder="请输入路由地址">
+                <template #prepend>
+                  <span>{{$routeProStr}}</span>
+                </template>
+
+              </Input>
             </FormItem>
           </Col>
           <Col v-bind="grid">
@@ -398,6 +403,7 @@ export default {
         }
       }
       this.valids = true;
+      data.datas.menu_path = this.$routeProStr + this.formValidate.menu_path
       addMenusApi(data)
         .then(async (res) => {
           this.$Message.success(res.msg);

+ 1 - 1
template/admin/src/pages/system/configTab/index.vue

@@ -137,7 +137,7 @@ export default {
     // 跳转到配置列表页面
     goList(row) {
       this.$router.push({
-        path: '/admin/system/config/system_config_tab/list/' + row.id,
+        path: this.$routeProStr + '/system/config/system_config_tab/list/' + row.id,
       });
     },
     // 添加配置分类

+ 2 - 2
template/admin/src/pages/system/configTab/list.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/system/config/system_config_tab/index' }"
+        <router-link :to="{ path: $routeProStr + '/system/config/system_config_tab/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -258,7 +258,7 @@ export default {
     // 跳转到配置分类页面
     goIndex() {
       this.$router.push({
-        path: '/admin/system/config/system_config_tab/index',
+        path: this.$routeProStr + '/system/config/system_config_tab/index',
       });
     },
     // 添加配置

+ 1 - 1
template/admin/src/pages/system/group/index.vue

@@ -154,7 +154,7 @@ export default {
     // 跳转到组合数据列表页面
     goList(row) {
       this.$router.push({
-        path: '/admin/system/config/system_group/list/' + row.id,
+        path: this.$routeProStr + '/system/config/system_group/list/' + row.id,
       });
     },
     // 列表

+ 2 - 2
template/admin/src/pages/system/group/list.vue

@@ -2,7 +2,7 @@
   <div>
     <div class="i-layout-page-header header_top">
       <div class="i-layout-page-header fl_header">
-        <router-link :to="{ path: '/admin/system/config/system_group/index' }"
+        <router-link :to="{ path: $routeProStr + '/system/config/system_group/index' }"
           ><Button icon="ios-arrow-back" size="small" type="text">返回</Button></router-link
         >
         <Divider type="vertical" />
@@ -188,7 +188,7 @@ export default {
     },
     // 返回
     back() {
-      this.$router.push({ path: '/admin/system/config/system_group/index' });
+      this.$router.push({ path: this.$routeProStr + '/system/config/system_group/index' });
     },
     getUrl(type) {
       let url = 'setting/group_data' + type;

+ 1 - 1
template/admin/src/pages/system/group/pc.vue

@@ -303,7 +303,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       activeIndexs: 0,

+ 1 - 1
template/admin/src/pages/system/group/visualization.vue

@@ -535,7 +535,7 @@ export default {
         autoHeightEnabled: false, // 编辑器不自动被内容撑高
         initialFrameHeight: 500, // 初始容器高度
         initialFrameWidth: '100%', // 初始容器宽度
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       a: 0, //判断的隐私协议

+ 1 - 1
template/admin/src/pages/system/maintain/systemFile/login.vue

@@ -83,7 +83,7 @@ export default {
               // 记录用户登陆信息
               setCookies('file_token', res.data.token, expires);
               this.$router.push({
-                path: '/admin/system/maintain/system_file/opendir',
+                path: this.$routeProStr + '/system/maintain/system_file/opendir',
               });
             })
             .catch((res) => {

+ 6 - 6
template/admin/src/pages/system/onlineUpgrade/index.vue

@@ -46,7 +46,7 @@
             <div class="acea-row row-top off" @mouseenter="quearyEvear(item.id,index)" v-for="(item,index) in upgradeLogList" :key="index" :class="{active:index==dynamic}">
                 <div class="time">
                     <div v-if="index == 0">最近更新</div>
-                    <div>{{item.upgrade_time}}</div>  
+                    <div>{{item.upgrade_time}}</div>
                   </div>
                 <Timeline class="list">
                     <TimelineItem>
@@ -68,7 +68,7 @@
             </div>
         </div>
         </Scroll>
-        
+
     </Card>
     <!-- 免责声明 -->
     <Modal :loading="modal_loading" v-model="declaration" width="340" height="96" :closable="false" class-name="vertical-center-modal" :mask-closable="false">
@@ -269,7 +269,7 @@ export default {
           this.$Message.error(res.msg);
         });
     },
- 
+
     // 可升级列表
     async getupgradeableList() {
       let res = await upgradeableListApi();
@@ -286,8 +286,8 @@ export default {
         this.params_key = this.upgradeableList[0].package_key
         this.forceVersion = firstVer.first_version + '.' + firstVer.second_version + '.' + firstVer.third_version + '.' + firstVer.fourth_version
       }
- 
-      
+
+
       // arr.forEach((item) => {
       //   this.$set(
       //     item,
@@ -444,7 +444,7 @@ export default {
       AccountLogout()
         .then((res) => {
           this.$Message.success('您已成功退出');
-          this.$router.replace('/admin/login');
+          this.$router.replace(this.$routeProStr + '/login');
           localStorage.clear();
           removeCookies('token');
           removeCookies('expires_time');

+ 1 - 1
template/admin/src/pages/user/grade/agreement/index.vue

@@ -35,7 +35,7 @@ export default {
         autoHeightEnabled: false,
         initialFrameHeight: 500,
         initialFrameWidth: '100%',
-        UEDITOR_HOME_URL: '/admin/UEditor/',
+        UEDITOR_HOME_URL: '/UEditor/',
         serverUrl: '',
       },
       id: 0,

+ 3 - 1
template/admin/src/router/modules/agent.js

@@ -9,13 +9,15 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'agent_';
 const meta = {
   auth: true,
 };
 export default {
-  path: '/admin/agent',
+  path: `${roterPre}/agent`,
   name: 'agent',
   header: 'agent',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/app.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'app_';
 
 export default {
-  path: '/admin/app',
+  path: roterPre + '/app',
   name: 'app',
   header: 'app',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/cms.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'cms_';
 
 export default {
-  path: '/admin/cms',
+  path: roterPre + '/cms',
   name: 'cms',
   header: 'cms',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/division.js

@@ -9,13 +9,15 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'division_';
 const meta = {
   auth: true,
 };
 export default {
-  path: '/admin/division',
+  path: roterPre + '/division',
   name: 'division',
   header: 'division',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/echarts.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'echarts_';
 
 export default {
-  path: '/admin/echarts',
+  path: roterPre+'/echarts',
   name: 'echarts',
   header: 'echarts',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/finance.js

@@ -9,10 +9,12 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'finance_';
 export default {
-  path: '/admin/finance',
+  path: roterPre+'/finance',
   name: 'finance',
   header: 'finance',
   meta: {

+ 3 - 1
template/admin/src/router/modules/frameOut.js

@@ -8,12 +8,14 @@
 // | Author: CRMEB Team <admin@crmeb.com>
 // +---------------------------------------------------------------------
 
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 const pre = 'kefu_';
 
 export default [
   // 登录
   {
-    path: '/admin/login',
+    path: roterPre+'/login',
     name: 'login',
     meta: {
       title: '登录',

+ 4 - 2
template/admin/src/router/modules/index.js

@@ -9,6 +9,8 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 // export default {
 //   path: '/',
@@ -40,7 +42,7 @@ const meta = {
 const pre = 'home_';
 
 export default {
-  path: '/',
+  path: roterPre + '/',
   name: 'home',
   header: 'home',
   redirect: {
@@ -50,7 +52,7 @@ export default {
   component: BasicLayout,
   children: [
     {
-      path: 'admin/home/',
+      path: roterPre+'/home/',
       name: `${pre}index`,
       header: 'home',
       meta: {

+ 4 - 1
template/admin/src/router/modules/marketing.js

@@ -9,10 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
+
 const pre = 'marketing_';
 
 export default {
-  path: '/admin/marketing',
+  path: roterPre+'/marketing',
   name: 'marketing',
   header: 'marketing',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/order.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'order_';
 
 export default {
-  path: '/admin/order',
+  path: roterPre+'/order',
   name: 'order',
   header: 'order',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/product.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'product_';
 
 export default {
-  path: '/admin/product',
+  path: roterPre+'/product',
   name: 'product',
   header: 'product',
   meta: {

+ 3 - 1
template/admin/src/router/modules/setting.js

@@ -9,6 +9,8 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const meta = {
   auth: true,
@@ -17,7 +19,7 @@ const meta = {
 const pre = 'setting_';
 
 export default {
-  path: '/admin/setting',
+  path: roterPre+'/setting',
   name: 'setting',
   header: 'setting',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/statistic.js

@@ -9,6 +9,8 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const meta = {
   auth: true,
@@ -17,7 +19,7 @@ const meta = {
 const pre = 'statistic_';
 
 export default {
-  path: '/admin/statistic',
+  path: roterPre+'/statistic',
   name: 'statistic',
   header: 'statistic',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/system.js

@@ -9,11 +9,13 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const pre = 'system_';
 
 export default {
-  path: '/admin/system',
+  path: roterPre+'/system',
   name: 'system',
   header: 'system',
   redirect: {

+ 3 - 1
template/admin/src/router/modules/user.js

@@ -9,6 +9,8 @@
 // +---------------------------------------------------------------------
 
 import BasicLayout from '@/components/main';
+import setting  from '@/setting'
+let roterPre = setting.roterPre;
 
 const meta = {
   auth: true,
@@ -17,7 +19,7 @@ const meta = {
 const pre = 'user_';
 
 export default {
-  path: '/admin/user',
+  path: roterPre+'/user',
   name: 'user',
   header: 'user',
   redirect: {

+ 13 - 11
template/admin/src/router/routers.js

@@ -24,13 +24,15 @@ import BasicLayout from '@/components/main';
 import statistic from './modules/statistic';
 import frameOut from './modules/frameOut';
 import division from './modules/division';
+import settings  from '@/setting'
+let roterPre = settings.roterPre;
 /**
  * 在主框架内显示
  */
 
 const frameIn = [
   {
-    path: '/admin/',
+    path: '/',
     meta: {
       title: 'CRMEB',
     },
@@ -49,7 +51,7 @@ const frameIn = [
       //   component: () => import('@/pages/system/log')
       // },
       {
-        path: '/admin/system/user',
+        path: roterPre+'/system/user',
         name: `systemUser`,
         meta: {
           auth: true,
@@ -58,7 +60,7 @@ const frameIn = [
         component: () => import('@/pages/setting/user/index'),
       },
       {
-        path: '/admin/system/files',
+        path: roterPre+'/system/files',
         name: `systemFiles`,
         meta: {
           auth: ['admin-setting-files'],
@@ -93,7 +95,7 @@ const frameIn = [
     ],
   },
   {
-    path: '/admin/widget.images/index.html',
+    path: roterPre+'/widget.images/index.html',
     name: `images`,
     meta: {
       auth: ['admin-user-user-index'],
@@ -102,7 +104,7 @@ const frameIn = [
     component: () => import('@/components/uploadPictures/widgetImg'),
   },
   {
-    path: '/admin/widget.widgets/icon.html',
+    path: roterPre+'/widget.widgets/icon.html',
     name: `imagesIcon`,
     meta: {
       auth: ['admin-user-user-index'],
@@ -111,7 +113,7 @@ const frameIn = [
     component: () => import('@/components/iconFrom/index'),
   },
   {
-    path: '/admin/store.StoreProduct/index.html',
+    path: roterPre+'/store.StoreProduct/index.html',
     name: `storeProduct`,
     meta: {
       title: '选择商品',
@@ -119,7 +121,7 @@ const frameIn = [
     component: () => import('@/components/goodsList/index'),
   },
   {
-    path: '/admin/system.User/list.html',
+    path: roterPre+'/system.User/list.html',
     name: `changeUser`,
     meta: {
       title: '选择用户',
@@ -127,7 +129,7 @@ const frameIn = [
     component: () => import('@/components/customerInfo/index'),
   },
   {
-    path: '/admin/widget.video/index.html',
+    path: roterPre+'/widget.video/index.html',
     name: `video`,
     meta: {
       title: '上传视频',
@@ -161,7 +163,7 @@ const frameOuts = frameOut;
 
 const errorPage = [
   {
-    path: '/admin/403',
+    path: roterPre+'/403',
     name: '403',
     meta: {
       title: '403',
@@ -169,7 +171,7 @@ const errorPage = [
     component: () => import('@/pages/system/error/403'),
   },
   {
-    path: '/admin/500',
+    path: roterPre+'/500',
     name: '500',
     meta: {
       title: '500',
@@ -177,7 +179,7 @@ const errorPage = [
     component: () => import('@/pages/system/error/500'),
   },
   {
-    path: '/admin/*',
+    path: roterPre+'/*',
     name: '404',
     meta: {
       title: '404',

+ 3 - 1
template/admin/src/setting.js

@@ -1,7 +1,9 @@
 // 请求接口地址 如果没有配置自动获取当前网址路径
-const VUE_APP_API_URL = process.env.VUE_APP_API_URL || `${location.origin}/adminapi`;
+const VUE_APP_API_URL = 'http://open.net/adminapi' || process.env.VUE_APP_API_URL || `${location.origin}/adminapi`;
 
 const Setting = {
+  // 路由前缀
+  roterPre: '/admin',
   // 接口请求地址
   apiBaseURL: VUE_APP_API_URL,
   // 路由模式,可选值为 history 或 hash

+ 3 - 1
template/admin/vue.config.js

@@ -126,5 +126,7 @@ module.exports = {
   // devServer: {
   //   proxy: 'localhost:3000'
   // }
-  publicPath: env === 'development' ? '/admin/' : '/admin/',
+  publicPath: '/',
+    assetsDir: 'system_static',
+    indexPath: process.env.NODE_ENV === 'development' ? 'index.html' : 'system.html',
 };