goto.js
2.2 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
var common = require('../utils/common');
function goto(_env){
this.env = _env;
}
goto.prototype.link = function(event){
var element = event.currentTarget;
var type = element.getAttribute('data-type') || 'other';
var id = element.getAttribute('data-id') || '';
var url = element.getAttribute('data-url') || '';
var name = element.getAttribute('data-name') || '';
var linkUrl = '';
if (this.env === 'miniprogram') {
if (type === 'product') {
linkUrl = '/pages/goodsDetail/goodsDetail?productSkn=' + id + '&page_name=goodsList&page_param=5'
} else if (type === 'brand') {
linkUrl = '/pages/goodsList/brandStore?shop_id=' + id + '&shop_name=' + name
} else {
linkUrl = url
}
return common.linkToMiniApp(linkUrl, type);
} else if (this.env === 'pc') {
if (type === 'product') {
linkUrl = 'https://www.yohobuy.com/product/' + id + '.html';
} else if (type === 'brand') {
linkUrl = 'https://www.yohobuy.com/shop/' + name + '-' + id + '.html';
} else {
linkUrl = url
}
} else {
if (type === 'product') {
linkUrl = '//m.yohobuy.com/product/' + id + '.html?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":' + id + '}}'
} else if (type === 'brand') {
linkUrl = '//m.yohobuy.com/product/index/brand?shop_id=' + id + '&openby:yohobuy={"action":"go.shop","params":{"shop_id":"' + id + '","shop_template_type":"1","shop_name":"' + name + '","is_red_shop":"1"}}'
} else {
linkUrl = url
}
}
if (this.env === 'app') {
var dom = document.getElementById('yosdk-goto');
if (!dom) {
dom = common.createLinkButton(linkUrl, 'yosdk-goto');
} else {
dom.setAttribute('href', linkUrl);
}
return dom.click();
} else {
window.location.href = linkUrl
}
};
goto.prototype.goBack=function () {
if (this.env === 'app') {
common.invokeMethod({method: 'go.back'})
} else if (this.env === 'miniprogram') {
wx.miniProgram.navigateBack();
} else {
history.go(-1);
}
};
module.exports = goto;