txt.ftl 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
  6. <title>普通文本预览</title>
  7. </head>
  8. <body>
  9. <input hidden id="textType" value="${textType}"/>
  10. <input hidden id="textData" value="${textData}"/>
  11. <div class="container">
  12. <#if textType?? && textType == "markdown">
  13. <div class="panel panel-default">
  14. <div id="markdown_btn" class="panel-heading">
  15. <h4 class="panel-title">
  16. <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
  17. 切换markdown
  18. </a>
  19. </h4>
  20. </div>
  21. <div id="text_btn" class="panel-heading">
  22. <h4 class="panel-title">
  23. <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
  24. 切换text
  25. </a>
  26. </h4>
  27. </div>
  28. <div class="panel-body">
  29. <div id="markdown"></div>
  30. </div>
  31. </div>
  32. <#elseif textType?? && textType == "xml" >
  33. <div id="xml" style="padding: 18px;"></div>
  34. <#else>
  35. <div id="text"></div>
  36. </#if>
  37. </div>
  38. <link rel="stylesheet" href="css/xmlTreeViewer.css"/>
  39. <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
  40. <script src="js/jquery-3.0.0.min.js" type="text/javascript"></script>
  41. <script src="js/jquery.form.min.js" type="text/javascript"></script>
  42. <script src="bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
  43. <script src="js/watermark.js" type="text/javascript"></script>
  44. <script src="js/marked.min.js" type="text/javascript"></script>
  45. <script src="js/xmlTreeViewer.js" type="text/javascript"></script>
  46. <script src="js/base64.min.js" type="text/javascript"></script>
  47. <script>
  48. /**
  49. * 初始化
  50. */
  51. window.onload = function () {
  52. $("#markdown_btn").hide()
  53. initWaterMark();
  54. fetchData();
  55. loadText();
  56. loadXmlData()
  57. loadMarkdown();
  58. }
  59. /**
  60. * 初始化水印
  61. */
  62. function initWaterMark() {
  63. let watermarkTxt = '${watermarkTxt}';
  64. if (watermarkTxt !== '') {
  65. watermark.init({
  66. watermark_txt: '${watermarkTxt}',
  67. watermark_x: 0,
  68. watermark_y: 0,
  69. watermark_rows: 0,
  70. watermark_cols: 0,
  71. watermark_x_space: ${watermarkXSpace},
  72. watermark_y_space: ${watermarkYSpace},
  73. watermark_font: '${watermarkFont}',
  74. watermark_fontsize: '${watermarkFontsize}',
  75. watermark_color: '${watermarkColor}',
  76. watermark_alpha: ${watermarkAlpha},
  77. watermark_width: ${watermarkWidth},
  78. watermark_height: ${watermarkHeight},
  79. watermark_angle: ${watermarkAngle},
  80. });
  81. }
  82. }
  83. /**
  84. * 获取文本数据
  85. */
  86. function fetchData() {
  87. window.textData = Base64.decode($("#textData").val())
  88. window.textPreData = "<pre style='background-color: #FFFFFF;border:none'>" + window.textData + "</pre>";
  89. }
  90. /**
  91. *加载普通文本
  92. */
  93. function loadText() {
  94. $("#text").html(window.textPreData);
  95. }
  96. /**
  97. * 加载markdown
  98. */
  99. function loadMarkdown() {
  100. if ($("#textType").val() === "markdown") {
  101. window.textMarkdownData = marked(window.textData);
  102. $("#markdown").html(window.textMarkdownData);
  103. }
  104. }
  105. /**
  106. * 加载xml数据
  107. */
  108. function loadXmlData() {
  109. if ($("#textType").val() === "xml") {
  110. var xmlNode = xmlTreeViewer.parseXML(window.textData);
  111. var retNode = xmlTreeViewer.getXMLViewerNode(xmlNode.xml);
  112. $("#xml").html(retNode);
  113. }
  114. }
  115. $(function () {
  116. $("#markdown_btn").click(function () {
  117. $("#markdown").html(window.textMarkdownData);
  118. $("#text_btn").show()
  119. $("#markdown_btn").hide()
  120. });
  121. $("#text_btn").click(function () {
  122. $("#markdown_btn").show()
  123. $("#text_btn").hide();
  124. $("#markdown").html(window.textPreData);
  125. });
  126. });
  127. </script>
  128. <style>
  129. * {
  130. margin: 0;
  131. padding: 0;
  132. }
  133. html, body {
  134. height: 100%;
  135. width: 100%;
  136. }
  137. </style>
  138. </body>
  139. </html>