刘帅
2026-09-29 b55cd9aad0835a96a790e61f9f89edc2fae1be9f
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
(function() {
  function esc(v) {
    return $('<div>').text(v == null ? '' : v).html()
  }
 
  function val(n, v) {
    $('#configForm [name=' + n + ']').val(v == null ? '' : v)
  }
  window.reloadAppGuide = function() {
    $.get(Feng.ctxPath + '/appGuide/data', function(d) {
      var c = d.config || {};
      ['id', 'apkUrl', 'iosStoreUrl'].forEach(function(k) {
        val(k, c[k])
      });
      $('#bannerRows').html((d.banners || []).map(function(x) {
        return '<tr><td><img class="qr" src="' + esc(x.imageUrl) + '"></td><td>' + esc(x.title) + '</td><td>' + esc(x.sort) + '</td><td>' + ((x.enabled === 1) ? '启用' : '停用') + '</td><td><button class="btn btn-danger btn-xs" onclick="deleteBanner(\'' + x.id + '\')">删除</button></td></tr>'
      }).join(''));
      $('#linkRows').html((d.links || []).map(function(x) {
        var id = String(x.id),
          q = Feng.ctxPath + '/appGuide/siteQr/' + encodeURIComponent(id) + '.png';
        return '<tr><td>' + esc(x.name) + '</td><td>' + esc(x.pageName) + '</td><td>' + x.storeId + ' / ' + x.siteId + '</td><td><a href="' + q + '" target="_blank"><img class="qr" src="' + q + '"></a></td><td><code>' + esc(x.guideUrl) + '</code></td><td>' + ((x.enabled === 1) ? '启用' : '停用') + '</td><td><button class="btn btn-warning btn-xs" onclick="changeQr(\'' + id + '\',' + (x.enabled === 1 ? 0 : 1) + ')">' + (x.enabled === 1 ? '停用' : '启用') + '</button> <button class="btn btn-danger btn-xs" onclick="deleteQr(\'' + id + '\')">删除</button></td></tr>'
      }).join(''))
    })
  };
  window.saveConfig = function() {
    $.post(Feng.ctxPath + '/appGuide/config', $('#configForm').serialize(), function() {
      Feng.success('保存成功');
      reloadAppGuide()
    })
  };
  window.uploadBanner = function() {
    var f = $('#bannerFile')[0].files[0];
    if (!f) {
      Feng.info('请选择图片');
      return
    }
    var d = new FormData();
    d.append('file', f);
    $.ajax({
      url: Feng.ctxPath + '/mgr/uploadFile',
      data: d,
      type: 'POST',
      contentType: false,
      processData: false,
      success: function(url) {
        $('#bannerUrl').val(url);
        $('#uploadTip').text('上传成功')
      }
    })
  };
  window.addBanner = function() {
    if (!$('#bannerUrl').val()) {
      Feng.info('请先上传图片');
      return
    }
    $.post(Feng.ctxPath + '/appGuide/banner', {
      imageUrl: $('#bannerUrl').val(),
      title: $('#bannerTitle').val(),
      sort: $('#bannerSort').val() || 0,
      enabled: 1
    }, function() {
      reloadAppGuide();
      $('#bannerUrl,#bannerTitle,#bannerSort,#bannerFile').val('')
    })
  };
  window.deleteBanner = function(id) {
    $.post(Feng.ctxPath + '/appGuide/banner/delete', {
      id: id
    }, reloadAppGuide)
  };
  window.createQr = function() {
    var o = $('#siteSelect option:selected'),
      pageName = 'com.sinata.wepark.ui.home.PlaceDetailActivity';
    if (!o.val()) {
      Feng.info('请选择场地');
      return
    }
    $.post(Feng.ctxPath + '/appGuide/siteQr', {
      storeId: o.data('store'),
      siteId: o.val(),
      name: o.text(),
      pageName: pageName
    }, function(r) {
      if (!r.success) {
        Feng.error(r.message);
        return
      }
      Feng.success('已生成');
      reloadAppGuide()
    })
  };
  window.changeQr = function(id, enabled) {
    $.post(Feng.ctxPath + '/appGuide/siteQr/status', {
      id: id,
      enabled: enabled
    }, reloadAppGuide)
  };
  $.get(Feng.ctxPath + '/appGuide/sites', function(s) {
    $('#siteSelect').append((s || []).map(function(x) {
      return '<option value="' + x.id + '" data-store="' + x.storeId + '">[' + x.storeId + '] ' + esc(x.name) + '</option>'
    }).join(''))
  });
  $(reloadAppGuide);
  window.deleteQr = function(id) {
    if (!confirm('确认删除该场地订场二维码?')) return;
    $.post(Feng.ctxPath + '/appGuide/siteQr/delete', {
      id: id
    }, reloadAppGuide)
  };
})();