ApiDoc.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>ApiDoc</title>
  6. <link rel="stylesheet" href="Scripts/editormd/css/editormd.css" />
  7. <script src="Scripts/editormd/examples/js/jquery.min.js"></script>
  8. <script src="Scripts/editormd/lib/marked.min.js"></script>
  9. <script src="Scripts/editormd/lib/prettify.min.js"></script>
  10. <script src="Scripts/editormd/lib/raphael.min.js"></script>
  11. <script src="Scripts/editormd/lib/underscore.min.js"></script>
  12. <script src="Scripts/editormd/lib/sequence-diagram.min.js"></script>
  13. <script src="Scripts/editormd/lib/flowchart.min.js"></script>
  14. <script src="Scripts/editormd/lib/jquery.flowchart.min.js"></script>
  15. <script src="Scripts/editormd/editormd.js"></script>
  16. <script src="Scripts/util/lith.js"></script>
  17. <script src="Scripts/Sers/sers.apiClient.js"></script>
  18. <script src="Scripts/Sers/sers.ssApiDescToMd.js"></script>
  19. <script src="Scripts/Sers/sers.ssModel.js"></script>
  20. <script src="Scripts/Sers/sers.SaveFile.js"></script>
  21. <script src="Scripts/Sers/sers.postman.js"></script>
  22. <style type="text/css">
  23. #title a {
  24. text-decoration: none;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <div id="title">
  30. <h1>ApiDoc-all</h1>
  31. apiStation: <span id="apiStation"> <a href="?" title="所有">所有</a> | </span>
  32. <br />
  33. postman导入文件:
  34. <a id="postmanCollection" href="#" title="download postman collection File">下载postmanCollection</a> |
  35. <a id="postmanEnvironment" href="#" title="download postman environment File">下载postmanEnvironment</a>
  36. <br />
  37. postmanWeb:
  38. <a href="#" onclick="openPostmanWeb(false)">打开postmanWeb</a> |
  39. <a href="#" onclick="openPostmanWeb(true)">打开postmanWeb并加载当前api</a>
  40. <br />
  41. markdown文档:<a id="mdDownload" href="#" title="download markdown document File">下载markdown文档</a>
  42. <br />
  43. 操作:
  44. <a href="#" onclick="removeOfflineApiService()">移除离线接口</a>
  45. </div>
  46. <div id="test-editormd-view" style="width: 95%;">
  47. </div>
  48. <script type="text/javascript">
  49. //加载apiStation
  50. sers.apiClient.apiStation_getAll(function (apiRet) {
  51. if (!apiRet.success) return;
  52. var html = '<a href="?" title="所有">所有</a> | ';
  53. var data = apiRet.data;
  54. for (var t in data) {
  55. var stationName = data[t].stationName;
  56. html += '<a href="?r=' + stationName + '" title="' + stationName + '">' + stationName + '</a> | ';
  57. }
  58. $('#apiStation').html(html);
  59. });
  60. //加载ApiDesc
  61. var apiDescs;
  62. var r = lith.document.url_GetArg('r');
  63. sers.apiClient.apiDesc_getAll({ r: r }, function (apiReturn) {
  64. apiDescs = apiReturn.data;
  65. var mdDoc = sers.ssApiDescsToMd(apiDescs);
  66. mdDoc = "[TOC]\n\n" + mdDoc
  67. editormd.markdownToHTML("test-editormd-view", {
  68. markdown: mdDoc,
  69. htmlDecode: true
  70. });
  71. });
  72. function openPostmanWeb(loadApi) {
  73. if (loadApi) {
  74. var context = sers.postman.apiDescToPostmanConfig(apiDescs);
  75. context = JSON.stringify(context, null, 2);
  76. localStorage.postmanCollection = context;
  77. context = sers.postman.environmentConfig.value;
  78. context = JSON.stringify(context, null, 2);
  79. localStorage.postmanEnvironment = context;
  80. }
  81. window.open('Scripts/PostmanWeb/postman.html');
  82. }
  83. //postman file
  84. $('#postmanCollection').click(function () {
  85. var context = sers.postman.apiDescToPostmanConfig(apiDescs);
  86. context = JSON.stringify(context);
  87. sers.SaveFile(context, sers.postman.collectionConfig.fileName);
  88. });
  89. $('#postmanEnvironment').click(function () {
  90. var context = sers.postman.environmentConfig.value;
  91. context = JSON.stringify(context);
  92. sers.SaveFile(context, sers.postman.environmentConfig.fileName);
  93. });
  94. //mdDownload
  95. $('#mdDownload').click(function () {
  96. sers.SaveFile(mdDoc, 'SersApiDoc(' + new Date().toJSON().slice(0, 10) + ').md');
  97. });
  98. function removeOfflineApiService() {
  99. if (!confirm('移除离线接口,移除后不可恢复,确定继续移除吗?')) return;
  100. sers.apiClient.apiDesc_removeOffline(function (apiRet) {
  101. if (!apiRet.success) {
  102. alert('操作失败,请重试。' + apiRet.error?.errorMessage);
  103. return;
  104. }
  105. location.reload();
  106. });
  107. }
  108. </script>
  109. </body>
  110. </html>