From 52d8c7b753ea54ccfdd5c3a802078f993e7cc996 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Fri, 10 Jan 2020 11:15:56 +0800 Subject: [PATCH] update Former-commit-id: d7ceefab0e972c63faf96ee116d235a8626a29c1 --- projects/ApiGateway/Gateway.json | 20 --------- .../UserCenter/Controllers/TokenController.cs | 3 +- projects/WebUI/wwwroot/images/empty.png | Bin 0 -> 4248 bytes projects/WebUI/wwwroot/pc.js | 41 +++++------------- projects/WebUI/wwwroot/pchome.html | 17 ++++++-- projects/WebUI/wwwroot/pchome.js | 12 ++++- 6 files changed, 36 insertions(+), 57 deletions(-) create mode 100644 projects/WebUI/wwwroot/images/empty.png diff --git a/projects/ApiGateway/Gateway.json b/projects/ApiGateway/Gateway.json index 2dbe8806..d16ce537 100644 --- a/projects/ApiGateway/Gateway.json +++ b/projects/ApiGateway/Gateway.json @@ -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": [ { diff --git a/projects/UserCenter/Controllers/TokenController.cs b/projects/UserCenter/Controllers/TokenController.cs index 243d8f34..68d63dd9 100644 --- a/projects/UserCenter/Controllers/TokenController.cs +++ b/projects/UserCenter/Controllers/TokenController.cs @@ -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 { diff --git a/projects/WebUI/wwwroot/images/empty.png b/projects/WebUI/wwwroot/images/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..804ec706b0c39e31ed5fc9fdd607abfd801635de GIT binary patch literal 4248 zcmcgwX*^W#`yLY+34=ni%*a-@zLI?zj7ql15|JfK(omL}vF~Oin#jI3DN>m-Au~iO zOp2y3iNX>^8$w?4}m}+0m}S>8Ib;MpC8?nvDC{LRKhJUUZVtmdlIdfrS{9T~H|YzWcv}jRkRZ)1R%8_)z2P;16Mwnsw(4RKT`sgm7|zmqbQDG?M?7xY zVVoBli2wM2nZCC*x+LE6_YY|qca9qh;wpxyl7_d#V^M3ECunL*9CibZ(M&(ZIDVzv zvtrsIV>V2n_*Yg#0tn(RcUo$7raAWFhq(2F`4{W8H)cKv4Ysf~yFC?8NCA%%92Iix;0iua9bd)6!zp zw5R!HI;SctLg*{dBQLQ15&9T=MdkFylcMhf1I{th!pP1FE-nn;eCw}wbS$17Y)lV@ zzRd+8JKI2sAP8a=lzmS<2?!%?Q0*vJ^AP`eYSJ!sU$>d- z7!t>0DlB1#r;#N*a=E(kGy&jPrpq;~U*9X5KrIEb_ zT2lU5AUn!J8I&_m2}<>>i+t;_BQK4_penhU*WS6aEF0y@GJ_sX)0#4$_-IVPDbCu$ zE~!8YXR>(iN&f|z)}v0aDEmr#yI}AR_^{o(O$WAyBB@u*9u_71(EfZdIQbtsGmw3H zfCu|iZX7dR&yQp%-rH#6TZ-N6v0T=B7LuyOl6g5ZLNX5@IhTdo4P4K;e>p}iCq(P^DZvTrgnl04RGMuVoFeFg zJPKRdO2NCN^F3Lb)iOLlvWHO)I(__N<0YkVzt2o1X0!J7j66~ZC9n70bEx$nMtk+z zf%z?iJ>oma><9r+cQOZh;AQ&^=G+Fny{}&c_yPIJCE{8vw-#?T?o2%o`vv zSj5J!@Dbx{g=g)Wd!$03a90>b-sYnSe6+i&+SPmMgmzq?;(y+?l@p7ub$}kT6uG$CU-JOn+B#U1j^+>5?LV@?YhTPOm2^zzm?5HwEB)z z6$V44i5Z9GxnCE9S|@rIDLA*A&CPu^w-)c5%b!ZW0p|YOJAAFtNCTY7@PbD%UyNe! zfJ1%-&sQljIVAA%)jK=r65qs`Y%O7{6p#itjo&QI4a;)cyKD2G`V(Ao$NK%u)FkIR zO;<0S&-t{=7RcG{H&fdwJT+2fC5BhG6n%|^EQ$1LWFgJ;#8VpWSOGKNx2w&=S!rex z0@E$M(Ol|=kNy$vJaLeS8_Nu9S&hZyQAO$oHqEcrbEp@7jPbetUH_H|$OKxC0=W?6B z1P7VMf1nb4zy4r+lOcN_z!^SH%~p$LhT}J0+Z46$*Dd4rCG#%@&US`~fZ-_GNAkR# zGye0T`~_3%j!Y%wb`^4`m3-u2>udRa!>~N<(MIG?Uwi)}*w{Zk>!Z!a*fNX5SN^6g z-7V34#(&~agH0Zd+(@*#5SJ)X*L}F*g?&tX-_x}V3z{Js7WogQ>H_*NvvrN1ujtH1 z)_$3EJ8?W+DIxN@#UGuq+Q#n&^t1A~`MP8SD=lVOddPrDK$lu3ez|F^01@oshXmj~&0mx5InCuUP;Vir4s62&8h zaC{U)ioZ$TB4aaIJdRB7Z!fP{-k`tJSih;6HO1^+DslHAAkchw$(^I(fg7@aT}Ltt zS`;@=V3#vJ!=@BUGgNKM={6U$x;Nx-f4)+5*JJ!!=OX;cFR3l)oDg??6^cN%Ihw4` z@!Pq|B>Xe={Hx;Cp%+TWmBb>O*gH?CHo$JqmV89{S~@nnXP}+mXgTS=Vn$d%_;Cf? zydv(lgHHUbkFx3j`;wTn;bR3T{$4UihNbd#TndXaT_RuA@eSjfh7nb^^Iyh?FXfn4B0NbnxUiPT`y-qu0A7 z>E;Bf05sKasVTx4FOv<}4=9~qD855C2hPlpN(xEs%&Dj@z?o-m9oe%3$#OEoI@y&g zF~2{R5)BWu9K*QsNeGuJum&UYoq1`8bQkUrjMPrl=Ft4J~$OGNc*8Mu}p$(&wsi7@i%uLfF8uj`u6q+ zp1-D0aY{d)MUB5ZxMr9vSjT#VyRHGLPT#W)jZ2wc8qjMvEZP-pr8tbj-JK!0#~~2t z$ft0NBjVE8a{{tmwVea&T|}aJ=`Ry3jV8-ERSIbgmF%fa*)f zj)XF+;VGKr8Nx8rn`socFn$G;!XO7+eBGTDb-i!>XNo(Vv zF|t8##D=>=#yif&Nj6RT7$4mBTj^iCt>%Te2M$cF2Ti#f6y}F)w^i()lZs3!Nf4Y? z=CTa+wNr~~<@7!B&U&hu2=&d+9>xs9DXe|P4b|v@=;gqZ>l{rPqFpzIH-7Q)yj%8m zls|4p24C`&-%*gtvof57E6#O1`s~xo4XT!i_tvtfju8oN8C@< z=qkI_hPL#^HxQ4Q9zpsKf5ybfpfdGkHue8&;5W2l+{*rqrg=P+CieOyvs&v-(Jt~B z8#JEX)J#VAR?aueeHrR`p{BhbEzSm9ZQk+m;J5B#*G$%y0AWPYAiYA)591Lk?u(m2 zWBvS8?h<~B(@;POSDzIaWqyCS8$(c?oVog%QwCI}{rSk&V>p$RJ@l{sA)gHi2M6?s zLZdw(_&E1sY&OB@2o04ZO;oWQ3;JnThruC3e!a_XqIzl%lg(F`Iy~4i0S}BEX(&A) z9R6VZ1w`(Wp-gIb3DQ5TI#x0QeQ}d6_QjNYxEVQf<6+ohPN|NeA!Mm6=GTqWa06s{ z-qD?1M{pxekT!Dv<&8o3R-gAh*-H3rSM-IlGzt3$z{d#Jdrx`_9ksc@h}>O~$e$x0 z&LaZu$i6(SJX}0ri(4XG^rIp;0_?O3*TNZq^X!QYBZ#u_H=v0s3Ig7yFn%tzL3mW& ztx*Z+CHV?K*2P-FEE(Yp{tnQ;C~Ug}tFT5mpz*aOswupQhTN3^ePmt2b<+wESOkE8 zMN&^8U>b?dz`FTZ8wYj?nrH~Dld@B8A`nRkXQ1`mu^&N+U_M{qAcz;h9C^SF-2S=J zM5_nqrJ%|MZL0smbCPEfh-`!#0GE&W2$wqhqFsuTZ;8%49Uz;NCZQ3RSUNOQ4+i8CjfnJgW z(R176R3Sf+AmY$Nfj2zd4R(1ni z+R5EdUTSz+-_WG^tlee{+k9TRi8A#9WD*7VQ( zT1C+nKSYqgsCDVYrQ`Dse&4C5qUr}v8V%{~1@xJ0vDb<^*Un11xZM;m`QvH6auyrdv;Q@+cneJl!31i)yK`B_spyE))wlQZzw#0j6OJDjc6aoJlM^PdaIe>{9@CBL&%r7v?|#Nxx^L&e9b zx{|r1R>z!{le!|@2t*d5a6B}^p{8%B-)+}Z*2sPLJ?iy7FF|Y;)DHQU4*YQdSz6d4 JYt6ip{tvkWC~g1% literal 0 HcmV?d00001 diff --git a/projects/WebUI/wwwroot/pc.js b/projects/WebUI/wwwroot/pc.js index a53c8724..977691c6 100644 --- a/projects/WebUI/wwwroot/pc.js +++ b/projects/WebUI/wwwroot/pc.js @@ -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'); } }); } diff --git a/projects/WebUI/wwwroot/pchome.html b/projects/WebUI/wwwroot/pchome.html index a95d6656..fb71032c 100644 --- a/projects/WebUI/wwwroot/pchome.html +++ b/projects/WebUI/wwwroot/pchome.html @@ -1,10 +1,8 @@ 
-
- +
-
@@ -21,7 +19,18 @@
- +
+
+
+ +
+
+

{{model.nickName}}

+

{{model.userName}}

+
+
+
+
diff --git a/projects/WebUI/wwwroot/pchome.js b/projects/WebUI/wwwroot/pchome.js index 4398fd0e..944a5028 100644 --- a/projects/WebUI/wwwroot/pchome.js +++ b/projects/WebUI/wwwroot/pchome.js @@ -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'); + } } }) });