Helper.js
1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
* Handlebars helpers
* bikai kai.bi@yoho.cn
* 2016-05-10
*/
'use strict';
const querystring = require('query-string');
const _ = require('lodash');
/**
* 七牛图片路径处理
* @param {[string]} url
* @param {[string]} width
* @param {[string]} height
* @param {[string]} mode
* @param {int} quality
* @return {[string]}
*/
export function image(url, width, height, mode, quality) {
mode = _.isNumber(mode) ? mode : 2;
url = url || '';
url = url.replace(/{width}/g, width).replace(/{height}/g, height).replace(/{mode}/g, mode);
if (url.indexOf('imageView2') > 0) {
quality = quality || 90;
url += '/q/' + quality;
}
return url;
};
/**
* 跳转APP链接格式化
* @param {[string]} uri
* @param {[string]} action
* @param {[object]} params 跳转参数
* @param {[string]} source 表示当前的跳转路径用哪个App打开,默认yohobuy
* @return {[string]}
*/
// export appUrlFormat = (uri, action, params, source) => {
// let obj = {
// action: action
// };
// source = source || 'yohobuy';
// if (params) {
// obj.params = params;
// }
// return `${uri}?openby:${source}=${JSON.stringify(obj)}`;
// };
/**
* 站内地址格式化
* @param {[string]} uri 路径
* @param {[object]} qs 查询字符串
* @param {[string]} module 模块
* @return {[string]}
*/
export function urlFormat(uri, qs, module, subDomain) {
let url;
module = module || 'default';
if (subDomain[module]) {
url = subDomain[module];
} else {
url = `//${module}${subDomain.host}`; // 规则没匹配到就把模块当作子域名
}
url += uri;
if (qs) {
url += `?${querystring.stringify(qs)}`;
}
return url;
};