修复接口,模块引用等一些问题

This commit is contained in:
aixianling
2024-10-10 17:35:04 +08:00
parent b3f11698f2
commit 104f5d1049
11 changed files with 28 additions and 87 deletions

View File

@@ -9,13 +9,13 @@
</template> </template>
</header-nav> </header-nav>
<ai-dv-wrapper class="fill" v-if="dvDev"> <ai-dv-wrapper class="fill" v-if="dvDev">
<router-view/> <router-view v-bind="commonAttrs"/>
</ai-dv-wrapper> </ai-dv-wrapper>
<el-row v-else-if="showTools" class="fill mar-t48" type="flex"> <el-row v-else-if="showTools" class="fill mar-t48" type="flex">
<slider-nav/> <slider-nav/>
<main-content class="fill"/> <main-content class="fill" :commonAttrs="commonAttrs"/>
</el-row> </el-row>
<router-view class="fill" v-else/> <router-view class="fill" v-else v-bind="commonAttrs"/>
<div v-if="dialog" class="sign-box"> <div v-if="dialog" class="sign-box">
<ai-sign style="margin: auto" :instance="$request" :action="{login}" <ai-sign style="margin: auto" :instance="$request" :action="{login}"
visible @login="getToken" :showScanLogin="false"/> visible @login="getToken" :showScanLogin="false"/>
@@ -30,7 +30,7 @@ import MainContent from "./components/mainContent";
import HeaderNav from "./components/headerNav"; import HeaderNav from "./components/headerNav";
import {mapActions, mapMutations, mapState} from "vuex"; import {mapActions, mapMutations, mapState} from "vuex";
import Mock from "./components/mock"; import Mock from "./components/mock";
import AiDvWrapper from "@dui/dv/layout/AiDvWrapper/AiDvWrapper.vue"; import AiDvWrapper from "dui/dv/layout/AiDvWrapper/AiDvWrapper.vue";
export default { export default {
name: 'app', name: 'app',
@@ -42,6 +42,13 @@ export default {
/project\/sass/g.test(location.pathname) && (url += "?corpId=ww596787bb70f08288") /project\/sass/g.test(location.pathname) && (url += "?corpId=ww596787bb70f08288")
return url return url
}, },
commonAttrs() {
return {
instance: this.$request,
dict: this.$dict,
permissions: this.$permissions
}
}
}, },
data() { data() {
return { return {
@@ -76,7 +83,8 @@ export default {
} }
}, },
created() { created() {
wx = jWeixin const {jWeixin} = window
window.wx = jWeixin
if (this.user.token) this.getUserInfo().finally(() => { if (this.user.token) this.getUserInfo().finally(() => {
if (/^\/project\/xiushan/.test(location.pathname)) { if (/^\/project\/xiushan/.test(location.pathname)) {
this.getFinanceUser() this.getFinanceUser()

View File

@@ -2,7 +2,7 @@
<section class="mainContent"> <section class="mainContent">
<ai-nav-tab :routes="apps"/> <ai-nav-tab :routes="apps"/>
<div class="fill"> <div class="fill">
<router-view/> <router-view v-bind="$attrs.commonAttrs"/>
<ai-empty v-if="isHome">欢迎使用村微产品库</ai-empty> <ai-empty v-if="isHome">欢迎使用村微产品库</ai-empty>
</div> </div>
</section> </section>

View File

@@ -4,10 +4,10 @@ import ui from 'element-ui';
import router from './router'; import router from './router';
import axios from './router/axios'; import axios from './router/axios';
import utils from './utils'; import utils from './utils';
import dui from 'dui'; import dui from 'dui/packages';
import store from './store'; import store from './store';
import dataV from '@jiaminghi/data-view'; import dataV from '@jiaminghi/data-view';
import dvui from '@dui/dv' import dvui from 'dui/dv'
Vue.use(dataV) Vue.use(dataV)
Vue.use(ui); Vue.use(ui);

View File

@@ -1,5 +1,5 @@
import {Message} from 'element-ui' import {Message} from 'element-ui'
import instance from '../../ui/lib/js/request' import instance from 'dui/lib/js/request'
let baseURLs = { let baseURLs = {
production: "/", production: "/",
@@ -8,31 +8,7 @@ let baseURLs = {
instance.defaults.baseURL = baseURLs[process.env.NODE_ENV] instance.defaults.baseURL = baseURLs[process.env.NODE_ENV]
instance.interceptors.request.use(config => { instance.interceptors.request.use(config => {
if (config.url.startsWith("/node")) { if (config.url.startsWith("/node")) {
config.baseURL = "/ns" config.url = "/ns" + config.url
} else if (config.url.startsWith("/sse")) {
config.baseURL = "/"
} else if (/\/project\/activeAnalysis/.test(location.pathname)) {
config.baseURL = "/analysis"
} else if (/\/project\/beta/.test(location.pathname)) {
config.baseURL = "/wg"
} else if (/\/project\/sass/.test(location.pathname)) {
config.baseURL = "/saas"
} else if (/\/tianfuxing/.test(location.pathname)) {
config.baseURL = "/tfx"
} else if (/\/qianxinan/.test(location.pathname)) {
// config.baseURL = "/qxn"
} else if (/\/xiushan/.test(location.pathname)) {
config.baseURL = "/xsjr"
} else if (/project\/oms/.test(location.pathname)) {
config.baseURL = "/omsapi"
} else if (/#url-/.test(location.hash)) {
config.baseURL = location.hash.replace(/#url-/, '/')
}
if (["/xsjr", "/tfx", "/omsapi"].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin|api)\//, "api/")
}
if (['/qxn', '/analysis'].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin)\//, "api/")
} }
if (process.env.VUE_APP_IS_SIMPLE_SERVER == 1) { if (process.env.VUE_APP_IS_SIMPLE_SERVER == 1) {
config.url = config.url.replace(/(app|auth|admin)\//, "api/") config.url = config.url.replace(/(app|auth|admin)\//, "api/")

View File

@@ -1,46 +0,0 @@
<template>
<section class="appEntry">
<component v-if="app" :is="app" ref="currentPage" :instance="$request" :dict="$dict" :permissions="$permissions"/>
<ai-empty v-else>无法找到应用文件</ai-empty>
</section>
</template>
<script>
import {mapState} from "vuex";
import Vue from "vue";
export default {
name: "appEntry",
label: "应用库-应用",
computed: {
...mapState(['apps']),
app() {
const app = this.apps.find(e => e.name == this.$route.name)
return app.esm ?? ""
}
},
mounted() {
this.$vm.$on("mock", v => {
if (!!this.$refs.currentPage.$children?.[0]?.form) {
this.$refs.currentPage.$children[0].form = v
this.$refs.currentPage.$children[0].$forceUpdate()
}
})
}
}
</script>
<style lang="scss" scoped>
.appEntry {
width: 100%;
flex: 1;
min-width: 0;
min-height: 0;
height: 100%;
& > * {
height: 100%;
}
}
</style>

View File

@@ -13,22 +13,25 @@
}, },
"dependencies": { "dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1", "@amap/amap-jsapi-loader": "^1.0.1",
"@dui/dv": "^1.0.0", "@ckeditor/ckeditor5-vue2": "^3.0.1",
"@jiaminghi/data-view": "^2.10.0", "@jiaminghi/data-view": "^2.10.0",
"@logicflow/core": "^1.2.1", "@logicflow/core": "^1.2.1",
"bin-ace-editor": "^3.2.0", "bin-ace-editor": "^3.2.0",
"crypto-js": "^4.2.0",
"dayjs": "^1.8.35", "dayjs": "^1.8.35",
"dui": "^2.0.0",
"echarts": "^5.5.1", "echarts": "^5.5.1",
"echarts-wordcloud": "^2.0.0", "echarts-wordcloud": "^2.0.0",
"hash.js": "^1.1.7", "hash.js": "^1.1.7",
"html2canvas": "^1.4.1", "html2canvas": "^1.4.1",
"jspdf": "^2.5.2",
"mp4box": "^0.4.1", "mp4box": "^0.4.1",
"print-js": "^1.0.63", "print-js": "^1.0.63",
"serialize-javascript": "^6.0.0", "serialize-javascript": "^6.0.0",
"sortablejs": "^1.12.0", "sortablejs": "^1.12.0",
"vue-carousel": "^0.18.0", "vue-carousel": "^0.18.0",
"vue-cropper": "^0.6.5",
"vue-draggable-resizable": "^2.3.0", "vue-draggable-resizable": "^2.3.0",
"vue-qr": "^4.0.9",
"vue-ruler-tool": "^1.2.4", "vue-ruler-tool": "^1.2.4",
"vue-style-loader": "^4.1.3", "vue-style-loader": "^4.1.3",
"vuedraggable": "^2.24.3" "vuedraggable": "^2.24.3"

View File

@@ -168,7 +168,7 @@ import {monitorTypes} from "../config";
import ConfigItem from "./configItem.vue"; import ConfigItem from "./configItem.vue";
import DatasourcePicker from "./datasourcePicker.vue"; import DatasourcePicker from "./datasourcePicker.vue";
import AiSelect from "dui/packages/basic/AiSelect.vue"; import AiSelect from "dui/packages/basic/AiSelect.vue";
import {DvCompData} from "@dui/dv"; import {DvCompData} from "dui/dv";
export default { export default {
name: 'dataConfig', name: 'dataConfig',

View File

@@ -4,7 +4,7 @@ import ConfigItem from "./configItem";
import ChartPicker from "./chartPicker"; import ChartPicker from "./chartPicker";
import JsonEditor from "./jsonEditor"; import JsonEditor from "./jsonEditor";
import {layers, monitorTypes} from "../config"; import {layers, monitorTypes} from "../config";
import AiDvSummary from "@dui/dv/layout/AiDvSummary/AiDvSummary"; import AiDvSummary from "dui/dv/layout/AiDvSummary/AiDvSummary";
export default { export default {
name: "configExtra", name: "configExtra",

View File

@@ -34,7 +34,7 @@ import 'brace/snippets/json';
import 'brace/theme/github'; import 'brace/theme/github';
import 'brace/theme/monokai'; import 'brace/theme/monokai';
import JsonEditor from "./jsonEditor.vue"; import JsonEditor from "./jsonEditor.vue";
import {DvCompData} from "@dui/dv"; import {DvCompData} from "dui/dv";
export default { export default {
name: "datasourcePicker", name: "datasourcePicker",

View File

@@ -4,7 +4,7 @@ import ui from 'element-ui';
import router from './utils/router'; import router from './utils/router';
import utils from './utils'; import utils from './utils';
import vcUI from 'dui'; import vcUI from 'dui';
import appComp from '@dui/dv'; import appComp from 'dui/dv';
import store from './utils/store'; import store from './utils/store';
import autoRoutes from "./utils/autoRoutes"; import autoRoutes from "./utils/autoRoutes";
import extra from "./config.json" import extra from "./config.json"

View File

@@ -11,11 +11,11 @@ module.exports = {
} }
} }
}, },
transpileDependencies: [/dui[\\\/]lib[\\\/]js/],
chainWebpack: (config) => { chainWebpack: (config) => {
config.resolve.alias config.resolve.alias
.set('@packages', path.resolve(__dirname, 'packages')) .set('@packages', path.resolve(__dirname, 'packages'))
.set('@project', path.resolve(__dirname, 'project')) .set('@project', path.resolve(__dirname, 'project'))
.set('dui', path.resolve(__dirname, 'ui'))
config.module config.module
.rule('js') .rule('js')
.include .include