123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- import axios from 'axios'
- export default {
- websocket: (url, callback,) => {
- let websocket = null
- // console.log(this_)
- if ("WebSocket" in window) {
- websocket = new WebSocket(url);
- } else if ("MozWebSocket" in window) {
- websocket = new WebSocket(url);
- } else {
- // console.error("'不支持 WebSocKet");
- }
- //连接发生错误的回调方法
- websocket.onerror = event => {
- console.log(event)
- websocket = null
- if ("WebSocket" in window) {
- websocket = new WebSocket(url);
- } else if ("MozWebSocket" in window) {
- websocket = new WebSocket(url);
- }
- if(websocket){
- websocketOnopen(websocket)
- }
- console.log("error");
- }
- //接收到消息的回调方法
- websocketOnopen(websocket)
- function websocketOnopen(websocket) {
- websocket.onopen = () => {
- // console.log(event,error)
- callback(websocket)
- //接收到消息的回调方法
- // websocket.onmessage = event => {
- // if (callback) {
- // if (event.data) {
- // try {
- // let data = JSON.parse(event.data)
- // if (data.code == '0000') {
- // callback(data,websocket);
- // } else {
- // if (error) {
- // error(data)
- // }
- // this_.$alert(data.msg, this_.$t('App.message.text1'), {
- // confirmButtonText: this_.$t('App.message.text2'),
- // });
- // }
- // if (data.data.status == 2) {
- // websocket.close();
- // }
- // } catch (e) {
- // console.log()
- // }
- // } else {
- // callback()
- // }
- // }
- // };
- //连接关闭的回调方法
- // websocket.onclose = () => console.log("close");
- //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
- window.onbeforeunload = () => websocket.close();
- //return websocket;
- };
- }
- return websocket;
- },
- ajax_get: (url, param, callback, this_) => {
- axios.get(url, { params: param }).then(res => {
- let data = res.data
- if (data.result) {
- if (callback) {
- if (data.model && JSON.stringify(data.model).length > 2) {
- try {
- callback(data.model)
- } catch (e) {
- // console.log('异常了')
- // console.log(e)
- }
- } else {
- callback(data.model)
- }
- }
- } else {
- this_.$alert(data.message, this_.$t('App.message.text26'));
- }
- })
- },
- ajax_post: (url, data, param, callback, this_, error, error_t) => {
- let qs = require('qs')
- data.version = this_.version;
- data.os = '0';
- axios.post(url, qs.stringify(data), { params: param }).then(res => {
- let data = res.data
- if (data.code == '0000') {
- if (callback) {
- callback(data, this_)
- }
- } else if (data.code == '0001' || data.code == '0002' || data.code == '0003' || data.code == '0004' || data.code == '0102') {
- if (error) {
- error(data, this_)
- }
- this_.$alert(data.msg, this_.$t('App.message.text1'), {
- confirmButtonText: this_.$t('App.message.text2'),
- });
- this_.$store.commit('ROUTERSTRFUN',{
- routerStr:'/login',
- })
- var oDate = new Date();
- oDate.setTime(oDate.getTime() + ('' * 24 * 60 * 60 * 1000));
- oDate = oDate.toUTCString()
- document.cookie = 'userData' + '=' + '' + ';expires=' + oDate;
- this_.$router.push({path:'/login'})
- // if(this_.websocket){
- // this_.websocket.close();
- // }
- } else {
- if (error) {
- error(data, this_)
- }
- if (!error_t) {
- this_.$alert(data.msg, this_.$t('App.message.text1'), {
- confirmButtonText: this_.$t('App.message.text2'),
- });
- }
- }
- })
- },
- ajax_postWs: (url, data, this_,) => {
- let qs = require('qs')
- data.version = this_.version;
- data.os = '0';
- axios.post(url, qs.stringify(data)).then(() => {})
- },
- setCookie: (key, value, iDay) => {
- var oDate = new Date();
- oDate.setTime(oDate.getTime() + (iDay * 24 * 60 * 60 * 1000));
- oDate = oDate.toUTCString();
- // document.cookie = key + '=' + value;
- // console.log(key + '=' + value + ';expires=' + oDate)
- document.cookie = key + '=' + value + ';expires=' + oDate;
- },
- // removeCookie: (key) => {
- // setCookie(key, '', -1); //这里只需要把Cookie保质期退回一天便可以删除
- // },
- getCookie: (key) => {
- var cookieArr = document.cookie.split('; ');
- for (var i = 0; i < cookieArr.length; i++) {
- var arr = cookieArr[i].split('=');
- if (arr[0] === key) {
- return arr[1];
- }
- }
- return false;
- }
- }
|