star7th 5 years ago
parent
commit
310d236f87
3 changed files with 78 additions and 81 deletions
  1. 3 3
      web_src/src/components/page/edit/Index.vue
  2. 45 51
      web_src/src/request.js
  3. 30 27
      web_src/static/css/common.css

+ 3 - 3
web_src/src/components/page/edit/Index.vue

@@ -635,11 +635,11 @@ export default {
         page_id: this.page_id
       }).then(res => {
         // 判断已经锁定了不
-        if (res.data.data.lock > 0) {
-          if (res.data.data.is_cur_user > 0) {
+        if (res.data.lock > 0) {
+          if (res.data.is_cur_user > 0) {
             this.isLock = 1
           } else {
-            this.$alert(this.$t('locking') + res.data.data.lock_username)
+            this.$alert(this.$t('locking') + res.data.lock_username)
             this.goback()
           }
         } else {

+ 45 - 51
web_src/src/request.js

@@ -2,61 +2,55 @@
  *
  */
 
-import axios from 'axios'
-import router from '@/router/index'
-import { MessageBox } from 'element-ui'
+import axios from "@/http";
+import router from "@/router/index";
+import { MessageBox } from "element-ui";
 
-// axios 配置
-axios.defaults.timeout = 20000
-
-// http request 拦截器
-axios.interceptors.request.use(
-  config => {
-    // if (store.state.token) {
-    // config.headers.Authorization = `token ${store.state.token}`;
-    // }
-    return config
-  },
-  err => {
-    return Promise.reject(err)
-  })
-
-// http response 拦截器
-axios.interceptors.response.use(
-  response => {
-    if (response.config.data && response.config.data.indexOf('redirect_login=false') > -1) {
-      // 不跳转到登录
-    } else if (response.data.error_code === 10102) {
-      router.replace({
-        path: '/user/login',
-        query: { redirect: router.currentRoute.fullPath }
-      })
-    } else if (response.data && response.data.error_code !== 0) {
-      MessageBox.alert(response.data.error_message)
-      return Promise.reject(new Error('something bad happened'))
-    }
-
-    return response
-  },
-  error => {
-    // console.log(JSON.stringify(error));//console : Error: Request failed with status code 402
-    return Promise.reject(error.response.data)
-  })
-
-// 这里是后来追加的,懒得去钻研拦截器语法了,就直接这么来吧
-const request = (path, data, method = 'post') => {
-  var params = new URLSearchParams(data)
-  let url = DocConfig.server + path
-  return axios(
-    {
+const request = (path, data, method = "post") => {
+  var params = new URLSearchParams(data);
+  let url = DocConfig.server + path;
+  return new Promise((resolve, reject) => {
+    axios({
       url: url,
       method: method,
       data: params,
       headers: {
-        'Content-Type': 'application/x-www-form-urlencoded'
+        "Content-Type": "application/x-www-form-urlencoded"
       }
-    }
-  )
-}
+    })
+      .then(
+        response => {
+          //超时登录
+          if (
+            response.data.error_code === 10102 &&
+            response.config.data.indexOf("redirect_login=false") === -1
+          ) {
+            router.replace({
+              path: "/user/login",
+              query: { redirect: router.currentRoute.fullPath }
+            });
+            reject(new Error("登录态无效"));
+          }
+
+          if (response.data && response.data.error_code !== 0) {
+            MessageBox.alert(response.data.error_message);
+            return reject(new Error("业务级别的错误"));
+          }
+          //上面没有return的话,最后返回这个
+          resolve(response.data);
+        },
+        err => {
+          if (err.Cancel) {
+            console.log(err);
+          } else {
+            reject(err);
+          }
+        }
+      )
+      .catch(err => {
+        reject(err);
+      });
+  });
+};
 
-export default request
+export default request;

+ 30 - 27
web_src/static/css/common.css

@@ -1,13 +1,12 @@
-
-body{
+body {
   margin: 0;
 }
 
-.grey-bg{
+.grey-bg {
   background-color: rgb(250, 250, 250);
 }
 #app {
-    font: 14px/1.5 "Microsoft Yahei", 微软雅黑, Tahoma, Arial, Helvetica, STHeiti;
+  font: 14px/1.5 "Microsoft Yahei", 微软雅黑, Tahoma, Arial, Helvetica, STHeiti;
 }
 
 a {
@@ -15,52 +14,56 @@ a {
   text-decoration: none;
 }
 
-.center-card{
-    width: 300px;
-    position  : absolute;
-    top       : 50%;
-    left      : 50%;
-    transform : translate(-50%,-50%);
-    padding-top: 0px;
-    padding-left: 15px;
-    padding-right: 15px;
-    padding-bottom: 0px;
-    box-sizing: border-box;
+.center-card {
+  width: 300px;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  padding-top: 0px;
+  padding-left: 15px;
+  padding-right: 15px;
+  padding-bottom: 0px;
+  box-sizing: border-box;
 }
 
-.pull-right{
+.pull-right {
   float: right;
 }
 
-.pull-left{
+.pull-left {
   float: left;
 }
 
-.el-dropdown-link{
+.el-dropdown-link {
   cursor: pointer;
   color: #409eff;
 }
 
-li{
-  list-style-type:none;
+li {
+  list-style-type: none;
 }
 
-.markdown-body ul li{
-  list-style-type:disc;
+.markdown-body ul li {
+  list-style-type: disc;
 }
 
-.markdown-body ol li{
-  list-style-type:decimal;
+.markdown-body ol li {
+  list-style-type: decimal;
 }
 
-.text-center{
+.text-center {
   text-align: center;
 }
 
-.text-left{
+.text-left {
   text-align: left;
 }
 
-.block{
+.block {
   display: block;
 }
+
+.el-message-box {
+  max-width: 80vw;
+}