Authored by 陈峰

Merge branch 'hotfix/uri' into 'gray'

解决线上decodeURIComponent报错



See merge request !239
@@ -11,12 +11,18 @@ exports.index = (req, res, next) => { @@ -11,12 +11,18 @@ exports.index = (req, res, next) => {
11 if (Number(appversion.substr(0, 1) < 5) || (Number(appversion.substr(0, 1)) === 5 && Number(appversion.substr(2, 1)) < 2)) { 11 if (Number(appversion.substr(0, 1) < 5) || (Number(appversion.substr(0, 1)) === 5 && Number(appversion.substr(2, 1)) < 2)) {
12 esc = true; 12 esc = true;
13 } 13 }
  14 + let uname;
14 15
  16 + try {
  17 + uname = esc ? decodeURIComponent(params.uname) : decodeURIComponent(params.uname.replace(/\%/g, escape('%')));
  18 + } catch (e) {
  19 + uname = params.uname;
  20 + }
15 model.getQr({ 21 model.getQr({
16 token: params.token, 22 token: params.token,
17 }).then(result => { 23 }).then(result => {
18 params.token = result; 24 params.token = result;
19 - params.uname = esc ? decodeURIComponent(params.uname) : decodeURIComponent(params.uname.replace(/\%/g, escape('%'))); 25 + params.uname = uname;
20 params.icon = params.icon || 'https://img11.static.yhbimg.com/yhb-img01/2016/07/05/13/017ec560b82c132ab2fdb22f7cf6f42b83.png?imageView/2/w/{width}/h/{height}'; 26 params.icon = params.icon || 'https://img11.static.yhbimg.com/yhb-img01/2016/07/05/13/017ec560b82c132ab2fdb22f7cf6f42b83.png?imageView/2/w/{width}/h/{height}';
21 res.render('myqrcode', { 27 res.render('myqrcode', {
22 title: '查看二维码', 28 title: '查看二维码',
@@ -11,7 +11,13 @@ const url = require('url'); @@ -11,7 +11,13 @@ const url = require('url');
11 * @return referer 11 * @return referer
12 */ 12 */
13 exports.refererLimit = (referer, blacklist) => { // eslint-disable-line 13 exports.refererLimit = (referer, blacklist) => { // eslint-disable-line
14 - let result = decodeURIComponent(referer || '/home'); 14 + let result;
  15 +
  16 + try {
  17 + result = decodeURIComponent(referer || '/home');
  18 + } catch (e) {
  19 + result = referer || '/home';
  20 + }
15 21
16 let urlObj = url.parse(result, false, true); 22 let urlObj = url.parse(result, false, true);
17 23