Former-commit-id: d7ceefab0e972c63faf96ee116d235a8626a29c1
TangShanKaiPing
wanggang 6 years ago
parent 59e7bba3cd
commit 52d8c7b753

@ -76,26 +76,6 @@
"HashPattern": null,
"MaxRps": 0
},
{
"Servers": [
{
"Url": "ws://localhost:8011/",
"Weight": 0,
"MaxRps": 0
}
],
"PluginConfig": {
"Requesting": [],
"AgentRequesting": [],
"HeaderWriting": [],
"Requested": [],
"ResponseError": []
},
"Url": "ws://localhost/IoTCenter.*",
"Remark": null,
"HashPattern": null,
"MaxRps": 0
},
{
"Servers": [
{

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Net.Mime;
using System.Security.Claims;
@ -105,7 +106,7 @@ namespace UserCenter.Controllers
}
[HttpPost]
public ActionResult RefreshToken([FromBody]string refreshToken)
public ActionResult RefreshToken([FromBody][Required]string refreshToken)
{
try
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -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');
}
});
}

@ -1,10 +1,8 @@
<div class="weui-tab" id="tab">
<div class="weui-tab__panel">
<div class="weui-tab__content page_feedback">
<mt-header title="消息"></mt-header>
<div class="weui-tab__content">
</div>
<div class="weui-tab__content">
<mt-header title="应用"></mt-header>
<div class="weui-grids">
<router-link to="/UserCenter/home" class="weui-grid">
<div class="weui-grid__icon">
@ -21,7 +19,18 @@
</div>
</div>
<div class="weui-tab__content">
<mt-header title="我的"></mt-header>
<div class="weui-cells" v-if="model">
<div class="weui-cell">
<div class="weui-cell__hd" style="position: relative;margin-right: 10px;">
<img :src="model.avatar?model.avatar:'/images/empty.png'" style="width: 50px;display: block">
</div>
<div class="weui-cell__bd">
<p>{{model.nickName}}</p>
<p style="font-size: 13px;color: #888888;">{{model.userName}}</p>
</div>
</div>
</div>
<div class="weui-btn-area"> <a href="javascript:" class="weui-btn weui-btn_primary" v-on:click="logout">退出</a> </div>
</div>
</div>
<div class="weui-tabbar">

@ -11,15 +11,23 @@
mounted: function () {
console.log('mounted:home');
weui.tab('#tab', { defaultIndex: 1 });
var url = '/UserCenter/api/v1/Token/GetUserInfo';
var url = '/UserCenter/api/v1/token/getUserInfo';
var component = this;
axios.get(url)
.then(function (response) {
component.model = response.data;
})
.catch(function (error) {
})
},
methods: {
logout: function () {
token = null;
refreshToken = null;
localStorage.removeItem('accessToken');
localStorage.removeItem('refreshToken');
router.push('/login');
}
}
})
});

Loading…
Cancel
Save