@sugarat/easypicker2-client 2.4.3 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/dist/assets/aria-bc8e8b0f.js +2 -0
  2. package/dist/assets/aria-bc8e8b0f.js.map +1 -0
  3. package/dist/assets/aria-legacy.af0825d3.js +2 -0
  4. package/dist/assets/data-analysis-3ce8c1c1.js +2 -0
  5. package/dist/assets/data-analysis-3ce8c1c1.js.map +1 -0
  6. package/dist/assets/data-analysis-legacy.985137a1.js +2 -0
  7. package/dist/assets/data-board-fc2c2ec1.js +2 -0
  8. package/dist/assets/data-board-fc2c2ec1.js.map +1 -0
  9. package/dist/assets/data-board-legacy.33116f7c.js +2 -0
  10. package/dist/assets/el-date-picker-b377a533.js +2 -0
  11. package/dist/assets/el-date-picker-b377a533.js.map +1 -0
  12. package/dist/assets/el-date-picker-cf2e83b6.css +1 -0
  13. package/dist/assets/el-date-picker-legacy.127f0787.js +2 -0
  14. package/dist/assets/el-dialog-25bd2fb8.css +1 -0
  15. package/dist/assets/el-dialog-5b7bce58.js +2 -0
  16. package/dist/assets/el-dialog-5b7bce58.js.map +1 -0
  17. package/dist/assets/el-dialog-legacy.e6ef2c86.js +2 -0
  18. package/dist/assets/el-dropdown-item-0c6ddabc.css +1 -0
  19. package/dist/assets/el-dropdown-item-e0275106.js +2 -0
  20. package/dist/assets/el-dropdown-item-e0275106.js.map +1 -0
  21. package/dist/assets/el-dropdown-item-legacy.4888d114.js +2 -0
  22. package/dist/assets/el-form-item-3aad794a.css +1 -0
  23. package/dist/assets/el-form-item-c0658f70.js +2 -0
  24. package/dist/assets/el-form-item-c0658f70.js.map +1 -0
  25. package/dist/assets/el-form-item-legacy.a8e8784e.js +2 -0
  26. package/dist/assets/el-loading-c8798044.js +2 -0
  27. package/dist/assets/el-loading-c8798044.js.map +1 -0
  28. package/dist/assets/el-loading-d0f2d079.css +1 -0
  29. package/dist/assets/el-loading-legacy.534bd799.js +2 -0
  30. package/dist/assets/el-pagination-bf7c736d.css +1 -0
  31. package/dist/assets/el-pagination-dabcccbb.js +2 -0
  32. package/dist/assets/el-pagination-dabcccbb.js.map +1 -0
  33. package/dist/assets/el-pagination-legacy.7d2ae10d.js +2 -0
  34. package/dist/assets/el-progress-54b274cd.js +2 -0
  35. package/dist/assets/el-progress-54b274cd.js.map +1 -0
  36. package/dist/assets/el-progress-63aabe3a.css +1 -0
  37. package/dist/assets/el-progress-legacy.07ca6502.js +2 -0
  38. package/dist/assets/el-select-6be23320.css +1 -0
  39. package/dist/assets/el-select-f81a7377.js +2 -0
  40. package/dist/assets/el-select-f81a7377.js.map +1 -0
  41. package/dist/assets/el-select-legacy.94fad7fa.js +2 -0
  42. package/dist/assets/el-switch-9eba6fd0.js +2 -0
  43. package/dist/assets/el-switch-9eba6fd0.js.map +1 -0
  44. package/dist/assets/el-switch-aeab2c6b.css +1 -0
  45. package/dist/assets/el-switch-legacy.490534be.js +2 -0
  46. package/dist/assets/el-tab-pane-4a1bb4c7.css +1 -0
  47. package/dist/assets/el-tab-pane-89bdd69b.js +2 -0
  48. package/dist/assets/el-tab-pane-89bdd69b.js.map +1 -0
  49. package/dist/assets/el-tab-pane-legacy.cfdbc441.js +2 -0
  50. package/dist/assets/el-table-column-6716308a.js +21 -0
  51. package/dist/assets/el-table-column-6716308a.js.map +1 -0
  52. package/dist/assets/el-table-column-6c2089f9.css +1 -0
  53. package/dist/assets/el-table-column-legacy.49685e5a.js +24 -0
  54. package/dist/assets/index-01e33329.css +1 -0
  55. package/dist/assets/index-0b0f29ec.js +2 -0
  56. package/dist/assets/index-0b0f29ec.js.map +1 -0
  57. package/dist/assets/index-17c6005d.css +1 -0
  58. package/dist/assets/index-20019c57.js +2 -0
  59. package/dist/assets/index-20019c57.js.map +1 -0
  60. package/dist/assets/index-247f2c67.css +1 -0
  61. package/dist/assets/index-248e88e2.js +2 -0
  62. package/dist/assets/index-248e88e2.js.map +1 -0
  63. package/dist/assets/index-3091894a.css +1 -0
  64. package/dist/assets/index-37e15bc6.css +1 -0
  65. package/dist/assets/index-39637d43.js +2 -0
  66. package/dist/assets/index-39637d43.js.map +1 -0
  67. package/dist/assets/index-3f82ab7a.css +1 -0
  68. package/dist/assets/index-4c81cf78.css +1 -0
  69. package/dist/assets/index-5099f123.js +2 -0
  70. package/dist/assets/index-5099f123.js.map +1 -0
  71. package/dist/assets/index-57513f17.css +1 -0
  72. package/dist/assets/index-76f31e30.css +1 -0
  73. package/dist/assets/index-76ff9b9b.css +1 -0
  74. package/dist/assets/index-8557974a.js +2 -0
  75. package/dist/assets/index-8557974a.js.map +1 -0
  76. package/dist/assets/index-85fcd87a.css +1 -0
  77. package/dist/assets/index-867d07e4.js +2 -0
  78. package/dist/assets/index-867d07e4.js.map +1 -0
  79. package/dist/assets/index-8f353d3b.js +2 -0
  80. package/dist/assets/index-8f353d3b.js.map +1 -0
  81. package/dist/assets/index-8f7abc30.js +2 -0
  82. package/dist/assets/index-8f7abc30.js.map +1 -0
  83. package/dist/assets/index-8fbd06a5.js +2 -0
  84. package/dist/assets/index-8fbd06a5.js.map +1 -0
  85. package/dist/assets/index-93c733b3.css +1 -0
  86. package/dist/assets/index-98b55468.css +1 -0
  87. package/dist/assets/index-9e6bd406.js +2 -0
  88. package/dist/assets/index-9e6bd406.js.map +1 -0
  89. package/dist/assets/index-a880597c.css +1 -0
  90. package/dist/assets/index-acdbf3b6.js +2 -0
  91. package/dist/assets/index-acdbf3b6.js.map +1 -0
  92. package/dist/assets/index-b3e58b02.js +2 -0
  93. package/dist/assets/index-b3e58b02.js.map +1 -0
  94. package/dist/assets/index-c13133c5.js +2 -0
  95. package/dist/assets/index-c13133c5.js.map +1 -0
  96. package/dist/assets/index-c1d6836c.js +2 -0
  97. package/dist/assets/index-c1d6836c.js.map +1 -0
  98. package/dist/assets/index-d26aeed5.css +1 -0
  99. package/dist/assets/index-d98be3e4.js +19 -0
  100. package/dist/assets/index-d98be3e4.js.map +1 -0
  101. package/dist/assets/index-d9db6cc1.js +2 -0
  102. package/dist/assets/index-d9db6cc1.js.map +1 -0
  103. package/dist/assets/index-da51da36.css +1 -0
  104. package/dist/assets/index-e0ef7135.js +2 -0
  105. package/dist/assets/index-e0ef7135.js.map +1 -0
  106. package/dist/assets/index-e7d8a83e.css +1 -0
  107. package/dist/assets/index-ebf625c9.js +2 -0
  108. package/dist/assets/index-ebf625c9.js.map +1 -0
  109. package/dist/assets/index-eda7d85a.js +2 -0
  110. package/dist/assets/index-eda7d85a.js.map +1 -0
  111. package/dist/assets/index-fdc557f8.js +2 -0
  112. package/dist/assets/index-fdc557f8.js.map +1 -0
  113. package/dist/assets/index-legacy.0c570346.js +2 -0
  114. package/dist/assets/index-legacy.24edddf9.js +2 -0
  115. package/dist/assets/index-legacy.31681402.js +2 -0
  116. package/dist/assets/index-legacy.3e6b32cf.js +2 -0
  117. package/dist/assets/index-legacy.4edc099d.js +2 -0
  118. package/dist/assets/index-legacy.614df679.js +2 -0
  119. package/dist/assets/index-legacy.6420d0ab.js +2 -0
  120. package/dist/assets/index-legacy.679e5ce1.js +2 -0
  121. package/dist/assets/index-legacy.7b42e0cb.js +2 -0
  122. package/dist/assets/index-legacy.7bafa2e6.js +2 -0
  123. package/dist/assets/index-legacy.7ff3d773.js +2 -0
  124. package/dist/assets/index-legacy.84e0eca9.js +2 -0
  125. package/dist/assets/index-legacy.9ca64f8c.js +2 -0
  126. package/dist/assets/index-legacy.a4371211.js +2 -0
  127. package/dist/assets/index-legacy.acb8b137.js +23 -0
  128. package/dist/assets/index-legacy.bc3790f6.js +2 -0
  129. package/dist/assets/index-legacy.d0e21cb1.js +2 -0
  130. package/dist/assets/index-legacy.daf56c8f.js +2 -0
  131. package/dist/assets/index-legacy.e12feae0.js +2 -0
  132. package/dist/assets/index-legacy.e7f8790c.js +2 -0
  133. package/dist/assets/index-legacy.f84efe08.js +2 -0
  134. package/dist/assets/isEqual-82bb65ad.js +2 -0
  135. package/dist/assets/isEqual-82bb65ad.js.map +1 -0
  136. package/dist/assets/isEqual-legacy.dbaa2a6e.js +2 -0
  137. package/dist/assets/other-8d7ba6a0.js +2 -0
  138. package/dist/assets/other-8d7ba6a0.js.map +1 -0
  139. package/dist/assets/other-legacy.39078796.js +2 -0
  140. package/dist/assets/polyfills-legacy.99e38685.js +4 -0
  141. package/dist/assets/refresh-f2c4c532.js +2 -0
  142. package/dist/assets/refresh-f2c4c532.js.map +1 -0
  143. package/dist/assets/refresh-legacy.0ee83ca1.js +2 -0
  144. package/dist/assets/tip-3d272885.js +2 -0
  145. package/dist/assets/tip-3d272885.js.map +1 -0
  146. package/dist/assets/tip-9cb18ee8.css +1 -0
  147. package/dist/assets/tip-legacy.dee89e85.js +2 -0
  148. package/dist/assets/validator-d4ea1237.js +2 -0
  149. package/dist/assets/validator-d4ea1237.js.map +1 -0
  150. package/dist/assets/validator-legacy.ecd1e5dd.js +2 -0
  151. package/{index.html → dist/index.html} +8 -1
  152. package/package.json +30 -19
  153. package/.env +0 -6
  154. package/.env.production +0 -3
  155. package/.env.test +0 -4
  156. package/.eslintignore +0 -0
  157. package/.eslintrc.json +0 -57
  158. package/.github/workflows/main.yml +0 -61
  159. package/.prettierrc.js +0 -9
  160. package/auto-imports.d.ts +0 -6
  161. package/components.d.ts +0 -56
  162. package/docker/ep_backup/easypicker2.sql +0 -214
  163. package/docker/ep_backup/mongodb/easypicker2/action.bson +0 -0
  164. package/docker/ep_backup/mongodb/easypicker2/action.metadata.json +0 -1
  165. package/docker/ep_backup/mongodb/easypicker2/log.bson +0 -0
  166. package/docker/ep_backup/mongodb/easypicker2/log.metadata.json +0 -1
  167. package/docker/ep_backup/user-config.json +0 -176
  168. package/docs/.env +0 -1
  169. package/docs/.env.production +0 -2
  170. package/docs/.vitepress/config.ts +0 -204
  171. package/docs/.vitepress/theme/bg.png +0 -0
  172. package/docs/.vitepress/theme/index.scss +0 -41
  173. package/docs/.vitepress/theme/index.ts +0 -5
  174. package/docs/author.md +0 -24
  175. package/docs/auto-imports.d.ts +0 -6
  176. package/docs/components.d.ts +0 -17
  177. package/docs/deploy/design/api.md +0 -3
  178. package/docs/deploy/design/db.md +0 -3
  179. package/docs/deploy/design/index.md +0 -3
  180. package/docs/deploy/design/shell.md +0 -9
  181. package/docs/deploy/faq.md +0 -86
  182. package/docs/deploy/index.md +0 -9
  183. package/docs/deploy/local.md +0 -275
  184. package/docs/deploy/online-new.md +0 -610
  185. package/docs/deploy/online.md +0 -683
  186. package/docs/deploy/qiniu.md +0 -183
  187. package/docs/index.md +0 -40
  188. package/docs/introduction/about/code.md +0 -26
  189. package/docs/introduction/about/index.md +0 -33
  190. package/docs/introduction/feature/index.md +0 -3
  191. package/docs/plan/log.md +0 -346
  192. package/docs/plan/todo.md +0 -127
  193. package/docs/plan/wish.md +0 -29
  194. package/docs/praise/index.md +0 -45
  195. package/docs/public/robots.txt +0 -2
  196. package/docs/src/apis/ajax.ts +0 -66
  197. package/docs/src/apis/index.ts +0 -1
  198. package/docs/src/apis/modules/wish.ts +0 -20
  199. package/docs/src/components/Avatar.vue +0 -60
  200. package/docs/src/components/Home.vue +0 -85
  201. package/docs/src/components/Picture.vue +0 -13
  202. package/docs/src/components/Praise.vue +0 -52
  203. package/docs/src/components/WishBtn.vue +0 -98
  204. package/docs/src/components/WishPanel.vue +0 -170
  205. package/docs/src/components/callme/index.vue +0 -72
  206. package/docs/vite.config.ts +0 -42
  207. package/public/favicon.ico +0 -0
  208. package/public/logo.png +0 -0
  209. package/scripts/deploy/docs.mjs +0 -24
  210. package/scripts/deploy/prod.mjs +0 -24
  211. package/scripts/deploy/test.mjs +0 -26
  212. package/src/@types/ajax.d.ts +0 -5
  213. package/src/@types/api.d.ts +0 -305
  214. package/src/@types/lib.d.ts +0 -26
  215. package/src/@types/page.d.ts +0 -18
  216. package/src/App.vue +0 -36
  217. package/src/apis/ajax.ts +0 -72
  218. package/src/apis/index.ts +0 -20
  219. package/src/apis/modules/action.ts +0 -17
  220. package/src/apis/modules/category.ts +0 -20
  221. package/src/apis/modules/config.ts +0 -19
  222. package/src/apis/modules/file.ts +0 -150
  223. package/src/apis/modules/people.ts +0 -81
  224. package/src/apis/modules/public.ts +0 -49
  225. package/src/apis/modules/super/overview.ts +0 -56
  226. package/src/apis/modules/super/user.ts +0 -62
  227. package/src/apis/modules/task.ts +0 -67
  228. package/src/apis/modules/user.ts +0 -56
  229. package/src/apis/modules/wish.ts +0 -31
  230. package/src/assets/i/EasyPicker.png +0 -0
  231. package/src/assets/logo.png +0 -0
  232. package/src/assets/styles/app.css +0 -69
  233. package/src/components/HomeFooter/index.vue +0 -134
  234. package/src/components/HomeHeader/index.vue +0 -156
  235. package/src/components/InfosForm/index.vue +0 -73
  236. package/src/components/MessageList/index.vue +0 -155
  237. package/src/components/MessagePanel/index.vue +0 -46
  238. package/src/components/Praise/index.vue +0 -102
  239. package/src/components/QrCode.vue +0 -44
  240. package/src/components/linkDialog.vue +0 -104
  241. package/src/components/loginPanel.vue +0 -92
  242. package/src/constants/index.ts +0 -83
  243. package/src/env.d.ts +0 -8
  244. package/src/main.ts +0 -19
  245. package/src/pages/404/index.vue +0 -59
  246. package/src/pages/about/index.vue +0 -152
  247. package/src/pages/callme/index.vue +0 -155
  248. package/src/pages/dashboard/config/index.vue +0 -304
  249. package/src/pages/dashboard/files/index.vue +0 -1152
  250. package/src/pages/dashboard/index.vue +0 -335
  251. package/src/pages/dashboard/manage/config/index.vue +0 -97
  252. package/src/pages/dashboard/manage/index.vue +0 -105
  253. package/src/pages/dashboard/manage/overview/index.vue +0 -486
  254. package/src/pages/dashboard/manage/user/index.vue +0 -678
  255. package/src/pages/dashboard/manage/wish/index.vue +0 -257
  256. package/src/pages/dashboard/tasks/components/CategoryPanel.vue +0 -208
  257. package/src/pages/dashboard/tasks/components/CreateTask.vue +0 -93
  258. package/src/pages/dashboard/tasks/components/TaskInfo.vue +0 -129
  259. package/src/pages/dashboard/tasks/components/infoPanel/ddl.vue +0 -96
  260. package/src/pages/dashboard/tasks/components/infoPanel/file.vue +0 -175
  261. package/src/pages/dashboard/tasks/components/infoPanel/info.vue +0 -467
  262. package/src/pages/dashboard/tasks/components/infoPanel/people.vue +0 -566
  263. package/src/pages/dashboard/tasks/components/infoPanel/template.vue +0 -146
  264. package/src/pages/dashboard/tasks/components/infoPanel/tip.vue +0 -55
  265. package/src/pages/dashboard/tasks/components/infoPanel/tipInfo.vue +0 -196
  266. package/src/pages/dashboard/tasks/index.vue +0 -302
  267. package/src/pages/dashboard/tasks/public.ts +0 -32
  268. package/src/pages/disabled/index.vue +0 -47
  269. package/src/pages/feedback/index.vue +0 -5
  270. package/src/pages/home/index.vue +0 -72
  271. package/src/pages/login/index.vue +0 -270
  272. package/src/pages/register/index.vue +0 -211
  273. package/src/pages/reset/index.vue +0 -186
  274. package/src/pages/task/index.vue +0 -895
  275. package/src/pages/wish/index.vue +0 -152
  276. package/src/router/Interceptor/index.ts +0 -112
  277. package/src/router/index.ts +0 -13
  278. package/src/router/routes/index.ts +0 -197
  279. package/src/shims-vue.d.ts +0 -6
  280. package/src/store/index.ts +0 -17
  281. package/src/store/modules/category.ts +0 -44
  282. package/src/store/modules/public.ts +0 -27
  283. package/src/store/modules/task.ts +0 -55
  284. package/src/store/modules/user.ts +0 -57
  285. package/src/utils/elementUI.ts +0 -8
  286. package/src/utils/networkUtil.ts +0 -236
  287. package/src/utils/other.ts +0 -25
  288. package/src/utils/regExp.ts +0 -11
  289. package/src/utils/stringUtil.ts +0 -241
  290. package/tsconfig.json +0 -24
  291. package/vite.config.ts +0 -55
  292. /package/{docs/public → dist}/favicon.ico +0 -0
  293. /package/{docs/public → dist}/logo.png +0 -0
@@ -1,152 +0,0 @@
1
- <template>
2
- <div class="about">
3
- <main>
4
- <div class="panel">
5
- <router-link to="/">
6
- <img class="logo" src="https://img.cdn.sugarat.top/easypicker/EasyPicker.png">
7
- </router-link>
8
- </div>
9
- <div class="panel">
10
- <h1>简介</h1>
11
- <p>在线文件收取助手,帮助用户快速的完成一对多的文件收取</p>
12
- </div>
13
- <div class="panel">
14
- <h1>诞生背景</h1>
15
- <p>校园学习或者工作场景中会有以下几个场景:</p>
16
- <ul>
17
- <li><strong>电子文件:</strong> 班委向同学收取各种实验电子报告</li>
18
- <li><strong>图片:</strong> 收取各种截图证明/活动照片</li>
19
- <li>...</li>
20
- </ul>
21
- <p>目前最广泛的收取方式为,通过邮箱,QQ,微信等通讯工具传递</p>
22
- <p>弊端显而易见,不方便整理统计。还占用电脑/手机内存</p>
23
- <p>为了解决这个问题,此项目应运而生</p>
24
- <p>当然<span><strong>市面上也有几款类似的办公工具</strong></span> ,功能及使用方式都差不多</p>
25
- <p>本项目<strong>是 <a href="https://github.com/ATQQ/easypicker2-client">开源</a> 的</strong> </p>
26
- <p>如有私有化的需求,可自行部署使用(也可 <router-link to="/author">联系作者</router-link> 提供帮助)</p>
27
- </div>
28
- <div class="panel">
29
- <h1>现有功能 <span style="color:grey;font-size:0.8rem;">(用户关心的)</span></h1>
30
- <h2>收集任务</h2>
31
- <ul>
32
- <li><strong>分类管理: </strong> 收集任务支持分类管理</li>
33
- <li><strong>设置DDL(截止日期): </strong> 任务截止后不可再提交文件</li>
34
- <li><strong>限制提交人员: </strong> 非指定的人员(姓名),无法提交文件</li>
35
- <li><strong>设置模板文件: </strong> 提交者可直接在提交页面下载此文件</li>
36
- <li><strong>自动重命名: </strong> 提交的文件按填写表单信息进行自动重名(如:姓名-工号.后缀)</li>
37
- </ul>
38
- <h2>文件相关</h2>
39
- <ul>
40
- <li><strong>上传(提交): </strong>单个/多个</li>
41
- <li><strong>下载: </strong>单个/多个/按收集任务</li>
42
- <li><strong>撤回: </strong>用户可以撤回自己提交的文件</li>
43
- <li><strong>分享: </strong>用户可以将文件下载链接分享给朋友</li>
44
- <li><strong>模板下载: </strong> 下载任务发布者设置的模板文件</li>
45
- <li><strong>导出: </strong> 导出提交记录</li>
46
- </ul>
47
- </div>
48
- <div class="panel">
49
- <h1>相关链接</h1>
50
- <h2>应用链接相关</h2>
51
- <ul>
52
- <li><a href="https://docs.ep.sugarat.top" target="_blank" rel="noopener noreferrer">私有化部署</a></li>
53
- <li><a target="_blank" href="https://ep.sugarat.top">Easypicker1.0</a></li>
54
- <li><a target="_blank" href="https://ep2.sugarat.top">Easypicker2.0</a></li>
55
- </ul>
56
- <h2>应用源代码 <span style="color:grey;font-size:0.8rem;">(开发者需要的)</span></h2>
57
- <ul>
58
- <li><a target="_blank" href="https://github.com/ATQQ/EasyPicker-webpack">Easypicker1.0-客户端</a></li>
59
- <li><a target="_blank" href="https://github.com/ATQQ/easypicker-server">Easypicker1.0-服务端</a></li>
60
- </ul>
61
- <ul>
62
- <li><a target="_blank" href="https://github.com/ATQQ/easypicker2-client">Easypicker2.0-客户端</a></li>
63
- <li><a target="_blank" href="https://github.com/ATQQ/easypicker2-server">Easypicker2.0-服务端</a></li>
64
- </ul>
65
- <ul>
66
- <li><a target="_blank" href="https://github.com/ATQQ/vite-vue3-template">Easypicker2.0-客户端模板仓库</a></li>
67
- <li><a target="_blank" href="https://github.com/ATQQ/node-server">Easypicker2.0-服务端模板仓库</a></li>
68
- </ul>
69
- <h2>作者 <span style="color:grey;font-size:0.8rem;">(夹带私货)</span></h2>
70
- <ul>
71
- <li><a target="_blank" href="https://sugarat.top">博客</a></li>
72
- <li><a target="_blank" href="https://github.com/ATQQ">GitHub</a></li>
73
- <li><a target="_blank" href="https://juejin.cn/user/1028798615918983">掘金</a></li>
74
- </ul>
75
- </div>
76
- <!-- <div class="panel">
77
- <h1>开发计划</h1>
78
- <h2>...未完待续</h2>
79
- </div>
80
- <div class="panel">
81
- <h1>涉及技术</h1>
82
- <h2>...未完待续</h2>
83
- </div> -->
84
- </main>
85
- </div>
86
- </template>
87
- <script lang="ts">
88
- import { defineComponent } from 'vue'
89
-
90
- export default defineComponent({
91
- setup() {
92
- return {
93
-
94
- }
95
- },
96
- })
97
- </script>
98
- <style lang="scss" scoped>
99
- h1,
100
- h2,
101
- h3,
102
- h4 {
103
- font-weight: 500;
104
- }
105
- .about {
106
- background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
107
- min-height: 100vh;
108
- }
109
- main {
110
- max-width: 860px;
111
- margin: 0 auto;
112
- padding: 20px;
113
- .panel {
114
- position: relative;
115
- margin: 0 auto 10px;
116
- padding: 16px 20px;
117
- width: 100%;
118
- overflow: hidden;
119
- border-radius: 0.25rem;
120
- box-shadow: #eee;
121
- box-sizing: border-box;
122
- transition: all 0.3s;
123
- background-color: #fff;
124
- }
125
- .logo{
126
- width: 100%;
127
- max-width: 520px;
128
- margin: 0 auto;
129
- display: block;
130
- }
131
- h1 {
132
- font-size: 1.6rem;
133
- margin-bottom: 10px;
134
- }
135
- h2{
136
- font-size: 1.3rem;
137
- margin-bottom: 12px;
138
- }
139
- ul,ol{
140
- margin-left: 20px;
141
- font-size: 15px;
142
- margin-bottom: 1em;
143
- }
144
- p{
145
- font-size: 15px;
146
- margin-bottom: 1em;
147
- }
148
- a{
149
- color: #409eff;
150
- }
151
- }
152
- </style>
@@ -1,155 +0,0 @@
1
- <template>
2
- <div class="callme">
3
- <main>
4
- <div class="panel">
5
- <h1>联系作者</h1>
6
- <!-- 基本信息 -->
7
- <div class="baseinfo">
8
- <span v-for="(info, idx) in baseInfo" :key="idx" class="info-item">
9
- <el-icon>
10
- <component :is="info.icon" />
11
- </el-icon>
12
- <i :class="info.icon"></i>
13
- <a target="_blank" :href="info.href">{{ info.text }}</a>
14
- </span>
15
- </div>
16
- <hr />
17
- <!-- 一堆二维码 -->
18
- <div class="qq-wechat">
19
- <ul>
20
- <li v-for="(qrcode, idx) in qrCOdes" :key="idx">
21
- <div class="title">{{ qrcode.text }}</div>
22
- <div class="content">
23
- <img :src="qrcode.img" />
24
- </div>
25
- </li>
26
- </ul>
27
- </div>
28
- <div class="description">
29
- <p>如遇无法解决的账号/使用问题,欢迎小窗联系我</p>
30
- </div>
31
- <div class="links">
32
- <router-link to="/">回到首页</router-link>
33
- </div>
34
- </div>
35
- </main>
36
- </div>
37
- </template>
38
- <script lang="ts" setup>
39
- import { UserFilled, Promotion } from '@element-plus/icons-vue'
40
-
41
- const baseInfo = [
42
- {
43
- icon: UserFilled,
44
- text: '粥里有勺糖',
45
- href: 'https://sugarat.top',
46
- },
47
- {
48
- icon: Promotion,
49
- text: 'engineerzjl@foxmail.com',
50
- href: 'mailto:engineerzjl@foxmail.com',
51
- },
52
- ]
53
-
54
- const qrCOdes = [
55
- {
56
- text: '微信',
57
- img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTk3MTkyNA==619155971925',
58
- },
59
- {
60
- text: '公众号',
61
- img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NTYwNzQ5MQ==619155607491',
62
- },
63
- {
64
- text: 'QQ',
65
- img: 'https://img.cdn.sugarat.top/mdImg/MTYxOTE1NjQ5ODczOQ==619156498739',
66
- },
67
- {
68
- text: '交流群',
69
- img: 'https://img.cdn.sugarat.top/mdImg/MTY0Nzc2MTE2MTE2NA==ep-group.png',
70
- },
71
- ]
72
-
73
- </script>
74
- <style lang="scss" scoped>
75
- h1,
76
- h2,
77
- h3,
78
- h4 {
79
- font-weight: 500;
80
- }
81
- .callme {
82
- background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
83
- min-height: 100vh;
84
- }
85
- main {
86
- max-width: 860px;
87
- margin: 0 auto;
88
- padding: 20px;
89
- .panel {
90
- position: relative;
91
- margin: 0 auto 20px;
92
- padding: 16px 20px;
93
- width: 100%;
94
- overflow: hidden;
95
- border-radius: 0.25rem;
96
- box-shadow: #eee;
97
- box-sizing: border-box;
98
- transition: all 0.3s;
99
- background-color: #fff;
100
- }
101
- h1 {
102
- font-size: 1.6rem;
103
- font-weight: 500;
104
- margin-bottom: 10px;
105
- }
106
- .baseinfo {
107
- color: #7f7f7f;
108
- font-size: 1rem;
109
- display: flex;
110
- flex-wrap: wrap;
111
- a {
112
- color: #7f7f7f;
113
- font-size: 1rem;
114
- margin-left: 10px;
115
- }
116
- .info-item {
117
- margin-right: 20px;
118
- }
119
- margin-bottom: 10px;
120
- }
121
- hr {
122
- margin-bottom: 10px;
123
- }
124
- .qq-wechat ul {
125
- list-style: none;
126
- display: flex;
127
- flex-wrap: wrap;
128
- margin-bottom: 10px;
129
- li {
130
- text-align: center;
131
- .title {
132
- font-weight: 600;
133
- }
134
- .content {
135
- padding: 0.5em;
136
- }
137
- img {
138
- width: 150px;
139
- }
140
- }
141
- }
142
- .description {
143
- color: #242424;
144
- font-size: 15px;
145
- margin-bottom: 10px;
146
- text-align: center;
147
- }
148
- .links {
149
- text-align: center;
150
- a {
151
- color: #409eff;
152
- }
153
- }
154
- }
155
- </style>
@@ -1,304 +0,0 @@
1
- <template>
2
- <div class="user">
3
- <div class="panel">
4
- <!-- 服务概况 -->
5
- <div>
6
- <h1>
7
- <span>服务概况</span>
8
- <el-icon
9
- :class="{
10
- loading
11
- }"
12
- @click="refreshStatus"
13
- style="cursor: pointer; margin-left: 10px"
14
- >
15
- <Refresh />
16
- </el-icon>
17
- <span v-show="loading">数据加载中...</span>
18
- </h1>
19
- <Tip>查看各个服务的运行情况</Tip>
20
- <div class="service-list">
21
- <div
22
- v-for="service in serviceList"
23
- :key="service.key"
24
- class="service-item"
25
- >
26
- <img :src="service.logo" :alt="service.name" />
27
- <!-- <p>{{ service.name }}</p> -->
28
- <p>
29
- <Tip>{{ service.des }}</Tip>
30
- </p>
31
- <el-button
32
- v-if="service.status"
33
- type="success"
34
- size="small"
35
- :icon="Select"
36
- circle
37
- />
38
- <el-button
39
- v-else
40
- type="danger"
41
- size="small"
42
- :icon="CloseBold"
43
- circle
44
- />
45
- <p v-if="!service.status && service.error">
46
- <Tip>{{ service.error }}</Tip>
47
- </p>
48
- </div>
49
- </div>
50
- </div>
51
- <div v-show="showErrorList.length" class="error-panel">
52
- <h1>错误信息</h1>
53
- <p v-for="err in showErrorList" :key="err.key">
54
- <strong>{{ err.name }}:</strong>
55
- <span class="error">{{ err.errMsg }}</span>
56
- </p>
57
- </div>
58
- <div>
59
- <h1>服务相关配置</h1>
60
- <Tip>
61
- 在此面板,配置服务器运行相关参数
62
- <a
63
- href="https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE"
64
- >
65
- <el-button type="primary" link>配置手册?</el-button></a
66
- >
67
- </Tip>
68
- </div>
69
- <div class="config-container">
70
- <div
71
- class="config-panel"
72
- v-for="serverItem in serverConfig"
73
- :key="serverItem.title"
74
- >
75
- <h2>
76
- {{ serverItem.title }}
77
- </h2>
78
- <el-form
79
- :label-position="'right'"
80
- label-width="100px"
81
- style="max-width: 400px; margin: 0 auto"
82
- >
83
- <el-form-item
84
- :label-width="'auto'"
85
- v-for="cfgItem in serverItem.data"
86
- :label="cfgItem.label || cfgItem.key"
87
- :key="cfgItem.key"
88
- >
89
- <div class="flex" style="flex: 1">
90
- <el-input
91
- :disabled="cfgItem.disabled"
92
- v-model="cfgItem.value"
93
- />
94
- <el-button
95
- v-if="cfgItem.disabled"
96
- @click="cfgItem.disabled = false"
97
- type="primary"
98
- text
99
- >更新</el-button
100
- >
101
- <el-button
102
- v-else
103
- @click="updateCfg(cfgItem)"
104
- type="success"
105
- text
106
- >完成</el-button
107
- >
108
- </div>
109
- </el-form-item>
110
- </el-form>
111
- </div>
112
- </div>
113
- </div>
114
- </div>
115
- </template>
116
- <script lang="ts" setup>
117
- import { ElMessage } from 'element-plus'
118
- import { computed, onMounted, reactive, ref } from 'vue'
119
- import { useStore } from 'vuex'
120
- import { Select, CloseBold, Refresh } from '@element-plus/icons-vue'
121
- import { ConfigServiceAPI } from '@/apis'
122
- import Tip from '../tasks/components/infoPanel/tip.vue'
123
-
124
- const serviceList = reactive([
125
- {
126
- name: 'MySQL',
127
- key: 'mysql',
128
- logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204',
129
- status: false,
130
- des: '存储用户数据',
131
- errMsg: ''
132
- },
133
- {
134
- name: '七牛云',
135
- key: 'qiniu',
136
- logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342',
137
- status: false,
138
- des: '文件存储'
139
- },
140
- {
141
- name: 'MongoDB',
142
- key: 'mongodb',
143
- logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777',
144
- status: false,
145
- des: '用户数据与日志'
146
- },
147
- {
148
- name: 'Redis',
149
- key: 'redis',
150
- logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350',
151
- status: false,
152
- des: '持久化缓存数据',
153
- error: '确保安装redis,且监听端口6379'
154
- },
155
- {
156
- name: '腾讯云',
157
- key: 'tx',
158
- logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439',
159
- status: false,
160
- des: '短信服务'
161
- }
162
- ])
163
- const $store = useStore()
164
- const loading = ref(false)
165
- const showErrorList = computed(() => serviceList.filter((item) => item.errMsg))
166
- const refreshStatus = () => {
167
- if (loading.value) return
168
- loading.value = true
169
- ConfigServiceAPI.getServiceOverview().then((v) => {
170
- const { data } = v
171
- serviceList.forEach((item) => {
172
- const { status, errMsg } = data[item.key]
173
- item.status = status
174
- item.errMsg = errMsg
175
- })
176
- ElMessage.success('服务状态刷新完成')
177
- loading.value = false
178
- })
179
- }
180
-
181
- const serverConfig = ref([])
182
- const getServiceConfig = () => {
183
- ConfigServiceAPI.getServiceConfig().then((v) => {
184
- // console.log(v.data)
185
- v.data.forEach((v) => {
186
- v.data.forEach((v) => {
187
- v.disabled = true
188
- })
189
- })
190
- serverConfig.value = v.data
191
- })
192
- }
193
- const updateCfg = (item: ConfigServiceAPITypes.ServiceConfigItem) => {
194
- ConfigServiceAPI.updateCfg(item).then(() => {
195
- item.disabled = true
196
- ElMessage.success('更新成功')
197
- refreshStatus()
198
- })
199
- }
200
- onMounted(() => {
201
- refreshStatus()
202
- getServiceConfig()
203
- })
204
- const isMobile = computed(() => $store.getters['public/isMobile'])
205
- </script>
206
-
207
- <style scoped lang="scss">
208
- @media screen and (max-width: 700px) {
209
- .user {
210
- margin-top: 40px !important;
211
- }
212
- }
213
-
214
- .user {
215
- margin: 0 auto;
216
- }
217
-
218
- .panel {
219
- max-width: 1256px;
220
- padding: 1em;
221
- background-color: #fff;
222
- margin: 10px auto;
223
- box-sizing: border-box;
224
- box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
225
- border-radius: 4px;
226
- }
227
-
228
- h1 {
229
- margin: 0;
230
- padding: 10px 0;
231
- font-size: 20px;
232
- font-weight: bold;
233
- text-align: center;
234
- display: flex;
235
- justify-content: center;
236
- align-items: center;
237
- }
238
-
239
- .service-list {
240
- display: flex;
241
- flex-wrap: wrap;
242
- justify-content: space-around;
243
- }
244
-
245
- .service-item {
246
- display: flex;
247
- flex-direction: column;
248
- justify-content: center;
249
- align-items: center;
250
- margin: 10px;
251
- min-width: 120px;
252
-
253
- img {
254
- width: 80px;
255
- }
256
-
257
- p {
258
- text-align: center;
259
- padding-top: 10px;
260
- font-size: 14px;
261
- }
262
- }
263
-
264
- @keyframes rotate {
265
- 0% {
266
- transform: rotate(0deg);
267
- }
268
-
269
- 100% {
270
- transform: rotate(360deg);
271
- }
272
- }
273
-
274
- .loading {
275
- margin-left: 10px;
276
- animation: rotate 1s linear infinite;
277
- }
278
-
279
- .error-panel {
280
- padding: 0 20px;
281
-
282
- p {
283
- .error {
284
- color: red;
285
- }
286
-
287
- margin-bottom: 10px;
288
- }
289
- }
290
-
291
- .config-container {
292
- display: flex;
293
- justify-content: space-around;
294
- flex-wrap: wrap;
295
- }
296
-
297
- .config-panel {
298
- h2 {
299
- text-align: center;
300
- font-size: 16px;
301
- margin-bottom: 10px;
302
- }
303
- }
304
- </style>