wxParse.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. var _showdown = require("./showdown.js"),
  2. _showdown2 = _interopRequireDefault(_showdown),
  3. _html2json = require("./html2json.js"),
  4. _html2json2 = _interopRequireDefault(_html2json);
  5. function _interopRequireDefault(e) {
  6. return e && e.__esModule ? e : {
  7. default: e
  8. }
  9. }
  10. function _defineProperty(e, t, a) {
  11. return t in e ? Object.defineProperty(e, t, {
  12. value: a,
  13. enumerable: !0,
  14. configurable: !0,
  15. writable: !0
  16. }) : e[t] = a, e
  17. }
  18. var realWindowWidth = 0,
  19. realWindowHeight = 0;
  20. function wxParse() {
  21. var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "wxParseData",
  22. t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "html",
  23. a = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : '<div class="color:red;">数据不能为空</div>',
  24. i = arguments[3],
  25. r = arguments[4],
  26. n = i,
  27. o = {};
  28. if ("html" == t) o = _html2json2.default.html2json(a, e);
  29. else if ("md" == t || "markdown" == t) {
  30. var d = (new _showdown2.default.Converter).makeHtml(a);
  31. o = _html2json2.default.html2json(d, e)
  32. }
  33. o.view = {}, void(o.view.imagePadding = 0) !== r && (o.view.imagePadding = r);
  34. var s = {};
  35. s[e] = o, n.setData(s), n.wxParseImgLoad = wxParseImgLoad, n.wxParseImgTap = wxParseImgTap
  36. }
  37. function wxParseImgTap(e) {
  38. var t = e.target.dataset.src,
  39. a = e.target.dataset.from;
  40. void 0 !== a && 0 < a.length && wx.previewImage({
  41. current: t,
  42. urls: this.data[a].imageUrls
  43. })
  44. }
  45. function wxParseImgLoad(e) {
  46. var t = e.target.dataset.from,
  47. a = e.target.dataset.idx;
  48. void 0 !== t && 0 < t.length && calMoreImageInfo(e, a, this, t)
  49. }
  50. function calMoreImageInfo(e, t, a, i) {
  51. var r, n = a.data[i];
  52. if (n && 0 != n.images.length) {
  53. var o = n.images,
  54. d = wxAutoImageCal(e.detail.width, e.detail.height, a, i),
  55. s = o[t].index,
  56. l = "" + i,
  57. m = !0,
  58. h = !1,
  59. g = void 0;
  60. try {
  61. for (var w, u = s.split(".")[Symbol.iterator](); !(m = (w = u.next()).done); m = !0) {
  62. l += ".nodes[" + w.value + "]"
  63. }
  64. } catch (e) {
  65. h = !0, g = e
  66. } finally {
  67. try {
  68. !m && u.return && u.return()
  69. } finally {
  70. if (h) throw g
  71. }
  72. }
  73. var f = l + ".width",
  74. v = l + ".height";
  75. a.setData((_defineProperty(r = {}, f, d.imageWidth), _defineProperty(r, v, d.imageheight), r))
  76. }
  77. }
  78. function wxAutoImageCal(e, t, a, i) {
  79. var r, n = 0,
  80. o = 0,
  81. d = {},
  82. s = a.data[i].view.imagePadding;
  83. return realWindowHeight, (r = realWindowWidth - 2 * s) < e ? (o = (n = r) * t / e, d.imageWidth = n, d.imageheight = o) : (d.imageWidth = e, d.imageheight = t), d
  84. }
  85. function wxParseTemArray(e, t, a, i) {
  86. for (var r = [], n = i.data, o = null, d = 0; d < a; d++) {
  87. var s = n[t + d].nodes;
  88. r.push(s)
  89. }
  90. e = e || "wxParseTemArray", (o = JSON.parse('{"' + e + '":""}'))[e] = r, i.setData(o)
  91. }
  92. function emojisInit() {
  93. var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "",
  94. t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "/wxParse/emojis/",
  95. a = arguments[2];
  96. _html2json2.default.emojisInit(e, t, a)
  97. }
  98. wx.getSystemInfo({
  99. success: function (e) {
  100. realWindowWidth = e.windowWidth, realWindowHeight = e.screenHeight
  101. }
  102. }), module.exports = {
  103. wxParse: wxParse,
  104. wxParseTemArray: wxParseTemArray,
  105. emojisInit: emojisInit
  106. };