Pārlūkot izejas kodu

Merge branch 'master' of 39.97.239.116:gyfl/console

stanley-king 4 gadi atpakaļ
vecāks
revīzija
f25dd9078f
5 mainītis faili ar 161 papildinājumiem un 1 dzēšanām
  1. 1 0
      package.json
  2. 129 0
      src/api/index.js
  3. 4 1
      src/main.js
  4. 9 0
      src/pages/login.vue
  5. 18 0
      vue.config.js

+ 1 - 0
package.json

@@ -8,6 +8,7 @@
     "lint": "vue-cli-service lint"
   },
   "dependencies": {
+    "axios": "^0.19.2",
     "core-js": "^3.6.4",
     "element-ui": "^2.13.1",
     "vue": "^2.6.11",

+ 129 - 0
src/api/index.js

@@ -0,0 +1,129 @@
+import axios from 'axios';
+import Vue from 'vue';
+import context from '../main';
+let loading;
+
+
+
+
+
+
+// axios.defaults.timeout = 3000000;
+
+// let loadinginstace;
+
+axios.interceptors.request.use(
+    config => {
+        config.headers = {
+            "Content-Type": "application/json"
+        }
+        return config;
+    }, error => {
+        loading.close();
+        if (error) {
+            context.$alert('网络错误,请稍后再试!','提示',{
+                confirmButtonText: '确定'
+            });
+            return Promise.reject(error);
+        }
+    }
+);
+
+
+axios.interceptors.response.use(
+    res => {
+        loading.close();
+        if (res.data.code == 0) {
+            return res.data;
+        }
+        else {
+            context.$alert(res.data.msg,'提示',{
+                confirmButtonText: '确定'
+            });
+        }
+    },
+    err => {
+        loading.close();
+        if (err.message.includes('timeout')) {
+            err.message = '请求超时';
+        }
+        else {
+            if (err && err.response) {
+                switch (err.response.status) {
+                    case 400: err.message = '请求错误(400)'; break;
+                    case 401: err.message = '未授权,请重新登录(401)'; break;
+                    case 403: err.message = '拒绝访问(403)'; break;
+                    case 404: err.message = '请求出错(404)'; break;
+                    case 408: err.message = '请求超时(408)'; break;
+                    case 500: err.message = '服务器错误(500)'; break;
+                    case 501: err.message = '服务未实现(501)'; break;
+                    case 502: err.message = '网络错误(502)'; break;
+                    case 503: err.message = '服务不可用(503)'; break;
+                    case 504: err.message = '网络超时(504)'; break;
+                    case 505: err.message = 'HTTP版本不受支持(505)'; break;
+                    default: err.message = `连接出错(${err.response.status})!`;
+                }
+            } else {
+                err.message = '连接服务器失败!'
+            }
+        }
+        context.$alert(err.message,'提示',{
+            confirmButtonText: '确定'
+        });
+        return Promise.reject(err);
+    });
+
+Vue.prototype.$axios = axios;
+
+
+let requestLoading = (url, method, params, showLoading = true) => {
+    if (showLoading) {
+        loading = context.$loading({
+            lock: true,
+            text: '加载中...',
+            spinner: 'el-icon-loading',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+    }
+    return axios({
+        method: method,
+        url: url,
+        withCredentials: true,
+        data: params,
+        timeout: 120000
+    })
+};
+
+
+const Prefix = process.env.NODE_ENV == 'production' ? 'http://39.97.239.116:8080' : '/api';
+
+
+//测试请求
+export const testRequest = () => {
+    return requestLoading(`${Prefix}/index.php?index/index/index`, 'get', {})
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 4 - 1
src/main.js

@@ -10,7 +10,10 @@ Vue.use(ElementUI);
 
 Vue.config.productionTip = false
 
-new Vue({
+const vue = new Vue({
   router,
   render: h => h(App)
 }).$mount('#app')
+
+
+export default vue

+ 9 - 0
src/pages/login.vue

@@ -18,6 +18,7 @@
 </template>
 <script>
 import LoginBg from "@/assets/login.jpg";
+import {testRequest} from '@/api';
 export default {
   data() {
     return {
@@ -26,7 +27,15 @@ export default {
       pwd: ""
     };
   },
+  created(){
+    this.testRequest();
+  },
   methods: {
+    testRequest(){
+      testRequest().then(res=>{
+        console.log(res);
+      })
+    },
     onLogin() {
       this.$message({
         message: "登录成功",

+ 18 - 0
vue.config.js

@@ -13,4 +13,22 @@ module.exports = {
             title: '航空工业集团快递智能柜管理程序'
         },
     },
+    devServer: {
+        open: true,
+        // host: 'localhost',
+        port: 8080,
+        https: false,
+        //以上的ip和端口是我们本机的;下面为需要跨域的
+        proxy: {//配置跨域
+            '/api': {
+                target: 'http://39.97.239.116:8080',//这里后台的地址模拟的;应该填写你们真实的后台接口
+                ws: true,
+                changOrigin: true,//允许跨域
+                pathRewrite: {
+                    '^/api': ''//请求的时候使用这个api就可以
+                }
+            }
+
+        }
+    },
 }