浏览代码

Loading.service() 找不到

wangzhe 1 年之前
父节点
当前提交
b0bc0345ab
共有 3 个文件被更改,包括 190 次插入2 次删除
  1. 18 1
      src/components/Jsmsdialog.vue
  2. 1 1
      src/components/supermap.vue
  3. 171 0
      src/utils/request.js

+ 18 - 1
src/components/Jsmsdialog.vue

@@ -22,7 +22,7 @@
 					 <i class="iconfont yj-icon-shidu"></i>
 					 <i class="iconfont yj-icon-shidu"></i>
 				 </div>
 				 </div>
 				 <div class="Jsmsdialog-btn-right">
 				 <div class="Jsmsdialog-btn-right">
-					 <a class="dialog-btn"><i class="iconfont yj-icon-zerenzhi"></i>责任制</a>
+					 <a class="dialog-btn" @click="callSb()"><i class="iconfont yj-icon-zerenzhi"></i>责任制</a>
 					 <a class="dialog-btn"><i class="iconfont yj-icon-liandong"></i>联动</a>
 					 <a class="dialog-btn"><i class="iconfont yj-icon-liandong"></i>联动</a>
 					 <a class="dialog-btn"><i class="iconfont yj-icon-fujintantou"></i>附近探头</a>
 					 <a class="dialog-btn"><i class="iconfont yj-icon-fujintantou"></i>附近探头</a>
 				 </div>
 				 </div>
@@ -187,6 +187,8 @@
 <script>
 <script>
 import leftRightSwiperScroll from './leftRightSwiperScroll.vue'
 import leftRightSwiperScroll from './leftRightSwiperScroll.vue'
 import supermapDetail from '@/components/supermap' //超图
 import supermapDetail from '@/components/supermap' //超图
+import request from '@/utils/request'
+
 
 
 export default {
 export default {
   name: 'Jsmsdialog',
   name: 'Jsmsdialog',
@@ -196,6 +198,21 @@ export default {
 	  }
 	  }
   },
   },
 	methods:{
 	methods:{
+      // 短信通知
+        callSb(){
+          alert("短信通知")
+            let url = "http://121.36.228.66:10012/centerMessageFeign/sendMessage";
+            let param = "{\n" +
+                "    \"SMSsignature\": \"态势感知平台\",\n" +
+                "    \"str\": \"态势感知平台\",\n" +
+                "    \"phone\": \"17612476018\"\n" +
+                "}"
+            request({
+                url: url,
+                method: 'post',
+                data:param
+            })
+        },
 		setPoint(point){
 		setPoint(point){
 			// alert(point)
 			// alert(point)
 			let pointDetail = point;
 			let pointDetail = point;

+ 1 - 1
src/components/supermap.vue

@@ -520,7 +520,7 @@ export default {
               "url": "http://121.36.228.94:8090/iserver/services/map-JiLin-2/rest/maps/YanJi",
               "url": "http://121.36.228.94:8090/iserver/services/map-JiLin-2/rest/maps/YanJi",
               "centerLng": "129.438218",
               "centerLng": "129.438218",
               "centerLat": "42.912081",
               "centerLat": "42.912081",
-              "zoom": 12,
+              "zoom": 13,
               "maxZoom": 16,
               "maxZoom": 16,
               "minZoom": 1,
               "minZoom": 1,
               "zoomControl": 0,
               "zoomControl": 0,

+ 171 - 0
src/utils/request.js

@@ -0,0 +1,171 @@
+import axios from 'axios'
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
+// import store from '@/store'
+// import { getToken } from '@/utils/auth'
+// import errorCode from '@/utils/errorCode'
+// import { tansParams, blobValidate } from "@/utils/ruoyi";
+// import cache from '@/plugins/cache'
+import { saveAs } from 'file-saver'
+// import { nextTick } from 'q'
+
+
+
+let downloadLoadingInstance = Loading.service();
+// 是否显示重新登录
+export let isRelogin = { show: false };
+
+axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
+// 创建axios实例
+const service = axios.create({
+  // axios中请求配置有baseURL选项,表示请求URL公共部分
+  baseURL: process.env.VUE_APP_BASE_API,
+  // 超时
+  timeout: 20000
+})
+
+// request拦截器
+service.interceptors.request.use(config => {
+  // if(config.headers.loading == undefined){
+  //   downloadLoadingInstance = Loading.service({ text: "请稍候...", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
+  // }
+  // 是否需要设置 token
+  const isToken = (config.headers || {}).isToken === false
+  // 是否需要防止数据重复提交
+  const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
+  // if (getToken() && !isToken) {
+  //   config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
+  // }
+  // get请求映射params参数
+  // if (config.method === 'get' && config.params) {
+  //   let url = config.url + '?' + tansParams(config.params);
+  //   url = url.slice(0, -1);
+  //   config.params = {};
+  //   config.url = url;
+  // }
+  if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
+    const requestObj = {
+      url: config.url,
+      data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
+      time: new Date().getTime()
+    }
+    // const sessionObj = cache.session.getJSON('sessionObj')
+    // if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
+    //     //   cache.session.setJSON('sessionObj', requestObj)
+    //     // } else {
+    //     //   const s_url = sessionObj.url;                  // 请求地址
+    //     //   const s_data = sessionObj.data;                // 请求数据
+    //     //   const s_time = sessionObj.time;                // 请求时间
+    //     //   const interval = 500;                         // 间隔时间(ms),小于此时间视为重复提交
+    //     //   if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
+    //     //     const message = '数据正在处理,请勿重复提交';
+    //     //     console.warn(`[${s_url}]: ` + message)
+    //     //     //Promise.reject(new Error(message))
+    //     //     return Promise.reject()
+    //     //   } else {
+    //     //     cache.session.setJSON('sessionObj', requestObj)
+    //     //   }
+    //     // }
+  }
+  return config
+}, error => {
+  console.log(error)
+  Promise.reject(error)
+})
+
+// 响应拦截器
+service.interceptors.response.use(res => {
+      // 未设置状态码则默认成功状态
+      const code = res.data.code || 200;
+      // 获取错误信息
+      // const msg = errorCode[code] || res.data.msg || errorCode['default']
+      // 二进制数据则直接返回
+      if(res.request.responseType ===  'blob' || res.request.responseType ===  'arraybuffer'){
+        return res.data
+      }
+      downloadLoadingInstance.close();
+      if (code === 401) {
+        if (!isRelogin.show) {
+          isRelogin.show = true;
+          MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
+                confirmButtonText: '重新登录',
+                cancelButtonText: '取消',
+                type: 'warning'
+              }
+          ).then(() => {
+            isRelogin.show = false;
+            // store.dispatch('LogOut').then(() => {
+            //   location.href = '/index';
+            // })
+          }).catch(() => {
+            isRelogin.show = false;
+          });
+        }
+        return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
+      } else if (code === 500) {
+        Message({
+          message: "msg",
+          type: 'error'
+        })
+        //Promise.reject(new Error(msg))
+        return Promise.reject()
+      } else if (code !== 200&&code !== 304) {
+        Notification.error({
+          title: "msg"
+        })
+        //Promise.reject('error')
+        return Promise.reject()
+      } else {
+        return res.data
+      }
+    },
+    error => {
+      downloadLoadingInstance.close();
+      console.log('err' + error)
+      let { message } = error;
+      if (message == "Network Error") {
+        message = "后端接口连接异常";
+      }
+      else if (message.includes("timeout")) {
+        message = "系统接口请求超时";
+      }
+      else if (message.includes("Request failed with status code")) {
+        message = "系统接口" + message.substr(message.length - 3) + "异常";
+      }
+      console.log('message' + message)
+      // Message({
+      //   message: message,
+      //   type: 'error',
+      //   duration: 5 * 1000
+      // })
+      //Promise.reject(error)
+      return Promise.reject()
+    }
+)
+
+// 通用下载方法
+export function download(url, params, filename) {
+  downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
+  // return service.post(url, params, {
+  //   transformRequest: [(params) => { return tansParams(params) }],
+  //   headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+  //   responseType: 'blob'
+  // }).then(async (data) => {
+  //   const isLogin = await blobValidate(data);
+  //   if (isLogin) {
+  //     const blob = new Blob([data])
+  //     saveAs(blob, filename)
+  //   } else {
+  //     const resText = await data.text();
+  //     const rspObj = JSON.parse(resText);
+  //     // const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
+  //     // Message.error(errMsg);
+  //   }
+  //   downloadLoadingInstance.close();
+  // }).catch((r) => {
+  //   console.error(r)
+  //   Message.error('下载文件出现错误,请联系管理员!')
+  //   downloadLoadingInstance.close();
+  // })
+}
+
+export default service