goto.js
2.77 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
76
import wx from 'weixin-js-sdk';
import {linkToMiniApp,invokeMethod} from "../utils/common";
export default class {
constructor(env) {
this.env = env;
this.createButton();
}
createButton() {
if (!document.getElementById('yosdk-goto') && this.env !== 'miniprogram') {
let a = document.createElement('a')
a.style.position = 'fixed';
a.style.top = 0;
a.style.left = 0;
a.style.border = 'none';
a.style.outline = 'none';
a.style.resize = 'none';
a.style.background = 'transparent';
a.style.color = 'transparent';
a.setAttribute('id', 'yosdk-goto');
a.setAttribute('href', '');
document.body.appendChild(a);
}
}
link(event) {
let element = event.currentTarget;
let type = element.getAttribute('data-type') || 'other';
let id = element.getAttribute('data-id') || '';
let url = element.getAttribute('data-url') || '';
let name = element.getAttribute('data-name') || '';
let 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.split('?')[0];
}
return 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 = 'https://m.yohobuy.com/product/'+id+'.html?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":'+id+'}}'
} else if (type === 'brand') {
linkUrl = 'https://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
}
}
let dom = document.getElementById('yosdk-goto');
dom.setAttribute('href', linkUrl)
return dom.click();
}
goBack () {
if(this.env === 'app'){
invokeMethod({method:'go.back'})
}else if(this.env === 'miniprogram'){
wx.miniProgram.navigateBack();
}else{
history.go(-1);
}
}
}