Browse Source

ui镜像构建可通过设定环境变量改变API地址

wuyunfeng 3 years ago
parent
commit
0a13f301ae
7 changed files with 21 additions and 5 deletions
  1. 5 1
      Dockerfile
  2. 1 1
      dist/index.html
  3. 7 0
      public/domain.js
  4. 1 0
      public/index.html
  5. 2 1
      src/router/index.js
  6. 1 1
      src/utils/domain.js
  7. 4 1
      src/utils/request.js

+ 5 - 1
Dockerfile

@@ -7,4 +7,8 @@ COPY ./nginx.conf /etc/nginx/nginx.conf
 
 EXPOSE 443 80
 
-CMD sh -c "exec nginx -g 'daemon off;'"
+ENV serverUrl=http://172.28.100.100:8005 DeviceUrl=http://172.28.100.100:8006 apiMode=dev uiVersion=1
+RUN echo 'USERNAME=' $serverUrl ',DeviceUrl=' $DeviceUrl ',apiMode=' $apiMode ',uiVersion=' $uiVersion
+#CMD sh -c "sed -i 's/^.*8006.*$/serverUrl=$serverUrl' domain.js"
+CMD sh -c  "sed -i -e \"s~^.*serverUrl.*$~serverUrl:'$serverUrl',~;s~^.*DeviceUrl.*$~DeviceUrl:'$DeviceUrl',~;s~^.*apiMode.*$~apiMode:'$apiMode',~;s~^.*uiVersion.*$~uiVersion:$uiVersion~\" /app/domain.js; exec nginx -g \"daemon off;\""
+#CMD sh -c "exec nginx -g 'daemon off;'"

File diff suppressed because it is too large
+ 1 - 1
dist/index.html


+ 7 - 0
public/domain.js

@@ -0,0 +1,7 @@
+const domain = {
+  serverUrl: 'http://8.129.220.143:8005',
+  DeviceUrl: 'http://8.129.220.143:8006',
+  apiMode: 'dev',
+  uiVersion: 1 // 1 医院版,2 月子中心版
+}
+

+ 1 - 0
public/index.html

@@ -6,6 +6,7 @@
     <meta name="renderer" content="webkit">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <script src="/domain.js" ></script>
     <title><%= webpackConfig.name %></title>
   </head>
   <body>

+ 2 - 1
src/router/index.js

@@ -1,12 +1,13 @@
 import Vue from 'vue'
 import Router from 'vue-router'
 // eslint-disable-next-line no-unused-vars
-import { uiVersion } from '@/utils/domain'
+// import { uiVersion } from 'domain'
 
 Vue.use(Router)
 
 /* Layout */
 import Layout from '@/layout'
+const uiVersion = domain.uiVersion
 
 /* Router Modules */
 // import componentsRouter from './modules/components'

+ 1 - 1
src/utils/domain.js

@@ -2,6 +2,6 @@ module.exports = {
   serverUrl: 'http://localhost:8005',
   DeviceUrl: 'http://localhost:8006',
   apiMode: 'dev',
-  uiVersion: 1 // 1 医院版,2 月子中心版
+  uiVersion: 2 // 1 医院版,2 月子中心版
 }
 

+ 4 - 1
src/utils/request.js

@@ -3,12 +3,15 @@ import { MessageBox, Message, Loading } from 'element-ui'
 import store from '@/store'
 import { getToken } from '@/utils/auth'
 import Storage from '@/utils/storage'
-import { serverUrl, apiMode } from '@/utils/domain'
+// import { serverUrl, apiMode } from '@/utils/domain'
+// import { serverUrl, apiMode } from '../../public/domain'
 import * as Foundation from '@/utils/Foundation'
 import md5 from 'js-md5'
 import checkToken from '@/utils/checkToken'
 const qs = require('qs')
 // create an axios instance
+const serverUrl = domain.serverUrl
+const apiMode = domain.apiMode
 const service = axios.create({
   baseURL: serverUrl, // url = base url + request url
   // withCredentials: true, // send cookies when cross-domain requests