Authored by yyq

上传图片路径不一致问题解决

@@ -25,6 +25,24 @@ const returnAddress = { @@ -25,6 +25,24 @@ const returnAddress = {
25 phone: '17714194699' 25 phone: '17714194699'
26 }; 26 };
27 27
  28 +
  29 +/**
  30 + * 获取原图片路径
  31 + * @function _getForceSourceUrl
  32 + * @param { String } url 图片路径
  33 + * @return { String } 原图片路径
  34 + */
  35 +const _getForceSourceUrl = (url) => {
  36 + const str = ['?imageView', '?imageMogr2'];
  37 +
  38 + _.forEach(str, value => {
  39 + url = _.split(url, value, 1)[0];
  40 + });
  41 + url.replace('http:', '');
  42 +
  43 + return url;
  44 +};
  45 +
28 /** 46 /**
29 * 获取用户退换货列表 47 * 获取用户退换货列表
30 * @function getUserReturn 48 * @function getUserReturn
@@ -356,6 +374,14 @@ const _setRefundDetailData = (data) => { @@ -356,6 +374,14 @@ const _setRefundDetailData = (data) => {
356 let goods = []; 374 let goods = [];
357 375
358 _.forEach(data.goods_list, value => { 376 _.forEach(data.goods_list, value => {
  377 + let evidence;
  378 +
  379 + if (!_.isEmpty(value.evidence_images)) {
  380 + evidence = [];
  381 + _.forEach(value.evidence_images, img => {
  382 + evidence.push(_getForceSourceUrl(img));
  383 + });
  384 + }
359 goods.push({ 385 goods.push({
360 img: value.goods_image, 386 img: value.goods_image,
361 name: value.product_name, 387 name: value.product_name,
@@ -365,7 +391,7 @@ const _setRefundDetailData = (data) => { @@ -365,7 +391,7 @@ const _setRefundDetailData = (data) => {
365 reason: value.reason_name || '--', 391 reason: value.reason_name || '--',
366 price: value.sales_price, 392 price: value.sales_price,
367 remark: value.remark, 393 remark: value.remark,
368 - evidence: value.evidence_images 394 + evidence: evidence
369 }); 395 });
370 }); 396 });
371 397
@@ -140,9 +140,9 @@ @@ -140,9 +140,9 @@
140 <dd> 140 <dd>
141 <label>照片凭证:</label> 141 <label>照片凭证:</label>
142 {{# evidence}} 142 {{# evidence}}
143 - <div class="evidence-img">  
144 - <img class="lazy" data-original="{{image . 70 90}}">  
145 - </div> 143 + <a href="{{this}}" class="evidence-img" target="_blank">
  144 + <img class="lazy" data-original="{{this}}">
  145 + </a>
146 {{/ evidence}} 146 {{/ evidence}}
147 </dd> 147 </dd>
148 {{/if}} 148 {{/if}}
@@ -10,16 +10,16 @@ const request = require('request'); @@ -10,16 +10,16 @@ const request = require('request');
10 const fs = require('fs'); 10 const fs = require('fs');
11 11
12 // 获取图片绝对地址 12 // 获取图片绝对地址
13 -const getImgHost = (url) => {  
14 - let domain = 'static.yhbimg.com/goodsimg', 13 +const getImgHost = (url, bucket) => {
  14 + let domain = `static.yhbimg.com/${bucket}`,
15 urlArr = url.split('/'), 15 urlArr = url.split('/'),
16 num = urlArr[urlArr.length - 1].substr(1, 1), 16 num = urlArr[urlArr.length - 1].substr(1, 1),
17 url1 = domain + url; 17 url1 = domain + url;
18 18
19 if (num === '1') { 19 if (num === '1') {
20 - return 'http://img11.' + url1; 20 + return `http://img11.${url1}`;
21 } else { 21 } else {
22 - return 'http://img12.' + url1; 22 + return `http://img12.${url1}`;
23 } 23 }
24 }; 24 };
25 25
@@ -45,41 +45,35 @@ const uploadImg = (req, res) => { @@ -45,41 +45,35 @@ const uploadImg = (req, res) => {
45 req.body.fileNames[fileIndex] = files[fileIndex].name; 45 req.body.fileNames[fileIndex] = files[fileIndex].name;
46 } 46 }
47 47
48 - if (req.body.bucket === 'goodsimg') {  
49 - request.post({  
50 - url: 'http://upload.static.yohobuy.com',  
51 - formData: {  
52 - fileData: req.body.files,  
53 - project: req.body.bucket  
54 - },  
55 - json: true  
56 - }, (error, httpResponse, rebody) => {  
57 - if (!error && httpResponse.statusCode === 200) {  
58 - imgs = rebody.data.imagesList || [];  
59 - datas = []; 48 + request.post({
  49 + url: 'http://upload.static.yohobuy.com',
  50 + formData: {
  51 + fileData: req.body.files,
  52 + project: req.body.bucket
  53 + },
  54 + json: true
  55 + }, (error, httpResponse, rebody) => {
  56 + console.log(httpResponse);
  57 + if (!error && httpResponse.statusCode === 200) {
  58 + imgs = rebody.data.imagesList || [];
  59 + datas = [];
60 60
61 - // 生成图片绝对地址  
62 - for (i = 0; i < imgs.length; i++) {  
63 - datas.push(getImgHost(imgs[i]));  
64 - } 61 + // 生成图片绝对地址
  62 + for (i = 0; i < imgs.length; i++) {
  63 + datas.push(getImgHost(imgs[i], req.body.bucket));
65 } 64 }
  65 + }
66 66
67 - res.json({  
68 - code: 200,  
69 - data: datas[0],  
70 - datas: datas,  
71 - imgs: imgs,  
72 - names: req.body.fileNames,  
73 - message: '上传成功',  
74 - status: true  
75 - });  
76 - });  
77 - } else {  
78 res.json({ 67 res.json({
79 - code: 500,  
80 - message: '上传图片失败, 请稍后重试!' 68 + code: 200,
  69 + data: datas[0],
  70 + datas: datas,
  71 + imgs: imgs,
  72 + names: req.body.fileNames,
  73 + message: '上传成功',
  74 + status: true
81 }); 75 });
82 - } 76 + });
83 } else { 77 } else {
84 res.json({ 78 res.json({
85 code: 401, 79 code: 401,
@@ -6,7 +6,7 @@ var tpl = '<div style="width: 0px; height: 0px; overflow: hidden;">' + @@ -6,7 +6,7 @@ var tpl = '<div style="width: 0px; height: 0px; overflow: hidden;">' +
6 '<form id="yoho-upload" method="post" enctype="multipart/form-data" ' + 6 '<form id="yoho-upload" method="post" enctype="multipart/form-data" ' +
7 'action="/common/uploadImg" target="ajaxUpload">' + 7 'action="/common/uploadImg" target="ajaxUpload">' +
8 '<input type="file" name="filename" class="file-name" />' + 8 '<input type="file" name="filename" class="file-name" />' +
9 - '<input type="hidden" name="bucket" value="goodsimg" />' + 9 + '<input type="hidden" name="bucket" value="evidenceImages" />' +
10 '</form>' + 10 '</form>' +
11 '</div>'; 11 '</div>';
12 12
@@ -197,10 +197,15 @@ @@ -197,10 +197,15 @@
197 197
198 .evidence-img { 198 .evidence-img {
199 width: 70px; 199 width: 70px;
200 - height: 90px; 200 + height: 70px;
201 display: inline-block; 201 display: inline-block;
202 vertical-align: top; 202 vertical-align: top;
203 } 203 }
  204 +
  205 + .evidence-img > img {
  206 + width: 100%;
  207 + height: 100%;
  208 + }
204 } 209 }
205 } 210 }
206 } 211 }