admin
2020-12-08 7f2d1daf6af6ecebad84d80de46a0e5024bbf5da
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import fmtUnit from '../_util/fmtUnit';
Component({
  props: {
    className: '',
    // normal: 基础样式;
    // guide:文案加引导;
    // copyright:声明;
    // brand:带品牌;
    // link:带链接
    // end: 没有更多
    type: 'normal',
    content: '',
    extend: [],
    onBrandTap: function onBrandTap() {},
    showEndIcon: false,
    iconName: 'selected',
    // 为了兼容 mini-antui 转 mini-ali-ui 而添加的 props
    copyright: '',
    links: []
  },
  data: {
    defaultSize: fmtUnit(18),
    maxSize: fmtUnit(22),
    valueUnit: fmtUnit('px'),
    isCustomLinkHandler: false
  },
  didMount: function didMount() {
    this.compatAntui();
    this.checkCustomLinkHandler();
  },
  didUpdate: function didUpdate() {
    this.compatAntui();
    this.checkCustomLinkHandler();
  },
  methods: {
    compatAntui: function compatAntui() {
      // 兼容 mini-antui 升级到 mini-ali-ui 后分页符的页数使用
      var _this$props = this.props,
          copyright = _this$props.copyright,
          links = _this$props.links;
      var changeLinks = []; // footer 的文案内容
 
      if (copyright !== '') {
        this.setData({
          content: copyright
        });
      } // footer 的链接元素
 
 
      if (links.length > 0) {
        // eslint-disable-next-line guard-for-in
        for (var i in links) {
          changeLinks[i] = {
            link: links[i].url,
            text: links[i].text
          };
        }
 
        this.setData({
          extend: changeLinks,
          type: 'link'
        });
      }
    },
    checkCustomLinkHandler: function checkCustomLinkHandler() {
      var onLinkTap = this.props.onLinkTap;
      this.setData({
        isCustomLinkHandler: typeof onLinkTap === 'function'
      });
    },
    onBrandClick: function onBrandClick(e) {
      var brandLink = e.currentTarget.dataset.url;
      var _this$props2 = this.props,
          onBrandTap = _this$props2.onBrandTap,
          extend = _this$props2.extend;
 
      if (onBrandTap !== '' && brandLink) {
        my.navigateTo({
          url: brandLink
        });
      }
 
      if (onBrandTap !== '' && !brandLink && typeof onBrandTap === 'function') {
        onBrandTap(extend[e.currentTarget.dataset.index]);
      }
    },
    onLinkTap: function onLinkTap(e) {
      var item = e.currentTarget.dataset.item;
      var onLinkTap = this.props.onLinkTap;
      onLinkTap(item);
    }
  }
});