|
|
|
@ -4,7 +4,7 @@ var hubUrl = "/IoTCenter/hub?group=page";
|
|
|
|
|
var connection = new signalR.HubConnectionBuilder().withUrl(hubUrl).build();
|
|
|
|
|
connection.on('Connected', function (id) {
|
|
|
|
|
connectionId = id;
|
|
|
|
|
console.log(connectionId);
|
|
|
|
|
console.log('signalR 连接Id:'+connectionId);
|
|
|
|
|
});
|
|
|
|
|
connection.on("ServerToClient", function (method, json, to, from) {
|
|
|
|
|
console.log(method + ':' + json);
|
|
|
|
@ -12,33 +12,14 @@ connection.on("ServerToClient", function (method, json, to, from) {
|
|
|
|
|
function connect() {
|
|
|
|
|
if (connection.state === signalR.HubConnectionState.Disconnected) {
|
|
|
|
|
connection.start().then(function () {
|
|
|
|
|
console.log('客户端与服务器连接成功!');
|
|
|
|
|
console.log('signalR 连接成功');
|
|
|
|
|
}).catch(function (err) {
|
|
|
|
|
console.log(err);
|
|
|
|
|
setTimeout(connect, 15 * 1000);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
///
|
|
|
|
|
//var request = function (url, data, success, method) {
|
|
|
|
|
// this.url = url;
|
|
|
|
|
// this.data = data;
|
|
|
|
|
// this.method = method || 'get';
|
|
|
|
|
// this.success = success;
|
|
|
|
|
// if (this.method == 'get') {
|
|
|
|
|
// axios.get(url, data)
|
|
|
|
|
// }
|
|
|
|
|
// else {
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// request.then(function (response) {
|
|
|
|
|
// this.success(response);
|
|
|
|
|
// }).catch(function (error) {
|
|
|
|
|
// this.catch(error);
|
|
|
|
|
// }).finally(function () {
|
|
|
|
|
// this.finally();
|
|
|
|
|
// });
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
var token = localStorage.getItem('accessToken');
|
|
|
|
|
var refreshToken = localStorage.getItem('refreshToken');
|
|
|
|
|
|
|
|
|
@ -49,7 +30,7 @@ axios.interceptors.request.use(
|
|
|
|
|
config.withCredentials = true;
|
|
|
|
|
config.headers['x-requested-with'] = 'XMLHttpRequest';
|
|
|
|
|
config.headers['Authorization'] = 'Bearer ' + token;
|
|
|
|
|
console.log(config.headers['Authorization']);
|
|
|
|
|
console.log('url:'+config.url + 'auth token:' + config.headers['Authorization']);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return config;
|
|
|
|
@ -65,25 +46,25 @@ axios.interceptors.response.use(function (response) {
|
|
|
|
|
console.log(response);
|
|
|
|
|
return response;
|
|
|
|
|
}, function (error) {
|
|
|
|
|
console.log('axios.interceptors.response.error:');
|
|
|
|
|
console.log('拦截到返回错误:');
|
|
|
|
|
console.log(error.response);
|
|
|
|
|
if (error.response.status === 401) {
|
|
|
|
|
if (error.response.status === 401 && error.config.url.indexOf('refreshToken')===-1) {
|
|
|
|
|
var url = '/UserCenter/api/v1/token/refreshToken';
|
|
|
|
|
var data = refreshToken:refreshToken};
|
|
|
|
|
axios.post(url, data)
|
|
|
|
|
var data = '"'+refreshToken+'"';
|
|
|
|
|
axios.post(url, data, { headers: { 'Content-Type': 'application/json;charset=UTF-8' } })
|
|
|
|
|
.then(function (response) {
|
|
|
|
|
token = response.data.accessToken;
|
|
|
|
|
localStorage.setItem("accessToken", token);
|
|
|
|
|
refreshToken = response.data.refreshToken;
|
|
|
|
|
localStorage.setItem("refreshToken", refreshToken);
|
|
|
|
|
config.headers['Authorization'] = 'Bearer ' + token;
|
|
|
|
|
console.log('after refresh token,send request again');
|
|
|
|
|
console.log('刷新token后重发api请求');
|
|
|
|
|
axios.request(error.config);
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
if (error.response.status === 401) {
|
|
|
|
|
console.log('refreshToken invalid');
|
|
|
|
|
router.push('/login')
|
|
|
|
|
console.log('refreshToken 已过期');
|
|
|
|
|
router.push('/login');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|