list_share.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. const API = require("./API/API");
  2. const api = API();
  3. async function attribute(m) {
  4. if (m.needAccessCode != null) {
  5. var accessCount = `转存次数: ${m.accessCount.copyCount} 次\n下载次数: ${m.accessCount.downloadCount} 次\n预览次数: ${m.accessCount.previewCount} 次\n`;
  6. } else {
  7. var accessCount = "";
  8. }
  9. m.needAccessCode != null ? share = `分享方式: 私密\n分享链接: https:${m.shortShareUrl}\n分享密码: ${m.accessCode}\n` : share = `分享方式: 公开\n分享链接: https:${m.shortShareUrl}\n`
  10. if (m.isFolder) {
  11. $ui.showCode(`文件名: ${m.fileName}\n${accessCount}审核状态: ${m.reviewStatus==1 ? "审核完成" : "正在审核"}\n${share}分享时间: ${formateTimeStamp(m.shareTime)}`);
  12. } else {
  13. $ui.showCode(`文件名: ${m.fileName}\n文件大小: ${(m.fileSize/1024/1024).toFixed(2)} M\n${accessCount}审核状态: ${m.reviewStatus==1 ? "审核完成" : "正在审核"}\n${share}分享时间: ${formateTimeStamp(m.shareTime)}`);
  14. }
  15. }
  16. async function copySourceUrl(m) {
  17. if (m.shareMode == 1) {
  18. var url = `链接: https:${m.shortShareUrl}\n密码: ${m.accessCode}`;
  19. } else {
  20. var url = `链接: https:${m.shortShareUrl}`;
  21. }
  22. $clipboard.text = url;
  23. $ui.toast("复制成功");
  24. }
  25. async function shareDelete(m) {
  26. var res = await api.cancelShare(m.shareId, cookie)
  27. if (res != false) {
  28. $ui.toast("取消成功!");
  29. } else {
  30. $ui.toast("取消失败!");
  31. }
  32. }
  33. module.exports = {
  34. type: 'list',
  35. title: '文件分享',
  36. async fetch({page}) {
  37. getCookie();
  38. page = page || 1;
  39. var list = await api.listShares(page, cookie);
  40. if (list != false) {
  41. var data = list.data.map(m => {
  42. if (m.isFolder) {
  43. if (m.needAccessCode != null) {
  44. var fileName = `私密* ${m.fileName}`;
  45. return {
  46. title: fileName,
  47. route: $route("saveList", {
  48. shareCode: m.shortShareUrl,
  49. accessCode: m.accessCode
  50. }),
  51. onLongClick: async () => {
  52. var selected = await $input.select({
  53. title: '选择哪一个',
  54. options: [
  55. {title: '取消分享链接', fun: shareDelete},
  56. {title: '复制链接和密码', fun: copySourceUrl},
  57. {title: '属性', fun: attribute},
  58. ]
  59. })
  60. selected != null ? selected.fun(m) : null;
  61. }
  62. }
  63. } else {
  64. var fileName = `公开* ${m.fileName}`;
  65. return {
  66. title: fileName,
  67. route: $route("saveList", {
  68. shareCode: m.shortShareUrl
  69. }),
  70. onLongClick: async () => {
  71. var selected = await $input.select({
  72. title: '选择哪一个',
  73. options: [
  74. {title: '取消分享链接', fun: shareDelete},
  75. {title: '复制链接和密码', fun: copySourceUrl},
  76. {title: '属性', fun: attribute},
  77. ]
  78. })
  79. selected != null ? selected.fun(m) : null;
  80. }
  81. }
  82. }
  83. } else {
  84. if (m.needAccessCode != null) {
  85. var fileName = `私密 ${m.fileName}`;
  86. return {
  87. title: fileName,
  88. route: $route("saveList", {
  89. shareCode: m.shortShareUrl,
  90. accessCode: m.accessCode
  91. }),
  92. onLongClick: async () => {
  93. var selected = await $input.select({
  94. title: '选择哪一个',
  95. options: [
  96. {title: '取消分享链接', fun: shareDelete},
  97. {title: '复制链接和密码', fun: copySourceUrl},
  98. {title: '属性', fun: attribute},
  99. ]
  100. })
  101. selected != null ? selected.fun(m) : null;
  102. }
  103. }
  104. } else {
  105. var fileName = `公开 ${m.fileName}`;
  106. return {
  107. title: fileName,
  108. route: $route("saveList", {
  109. shareCode: m.shortShareUrl
  110. }),
  111. onLongClick: async () => {
  112. var selected = await $input.select({
  113. title: '选择哪一个',
  114. options: [
  115. {title: '取消分享链接', fun: shareDelete},
  116. {title: '复制链接和密码', fun: copySourceUrl},
  117. {title: '属性', fun: attribute},
  118. ]
  119. })
  120. selected != null ? selected.fun(m) : null;
  121. }
  122. }
  123. }
  124. }
  125. })
  126. if (page == 1) {
  127. data.splice(0, 0, {
  128. title: '分享列表如下 ("* " 开头为文件夹) -- 修改后要手动刷新',
  129. style: 'category'
  130. })
  131. }
  132. if (list.data.length == 30) {
  133. return {
  134. nextPage: page + 1,
  135. items: data
  136. }
  137. } else {
  138. return data;
  139. }
  140. }
  141. }
  142. }