@sugarat/easypicker2-client 2.4.1

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 (145) hide show
  1. package/.env +6 -0
  2. package/.env.production +3 -0
  3. package/.env.test +4 -0
  4. package/.eslintignore +0 -0
  5. package/.eslintrc.json +57 -0
  6. package/.github/workflows/main.yml +61 -0
  7. package/.prettierrc.js +9 -0
  8. package/LICENSE +21 -0
  9. package/README.md +86 -0
  10. package/auto-imports.d.ts +6 -0
  11. package/components.d.ts +56 -0
  12. package/docker/ep_backup/easypicker2.sql +214 -0
  13. package/docker/ep_backup/mongodb/easypicker2/action.bson +0 -0
  14. package/docker/ep_backup/mongodb/easypicker2/action.metadata.json +1 -0
  15. package/docker/ep_backup/mongodb/easypicker2/log.bson +0 -0
  16. package/docker/ep_backup/mongodb/easypicker2/log.metadata.json +1 -0
  17. package/docker/ep_backup/user-config.json +176 -0
  18. package/docs/.env +1 -0
  19. package/docs/.env.production +2 -0
  20. package/docs/.vitepress/config.ts +204 -0
  21. package/docs/.vitepress/theme/bg.png +0 -0
  22. package/docs/.vitepress/theme/index.scss +41 -0
  23. package/docs/.vitepress/theme/index.ts +5 -0
  24. package/docs/author.md +24 -0
  25. package/docs/auto-imports.d.ts +6 -0
  26. package/docs/components.d.ts +17 -0
  27. package/docs/deploy/design/api.md +3 -0
  28. package/docs/deploy/design/db.md +3 -0
  29. package/docs/deploy/design/index.md +3 -0
  30. package/docs/deploy/design/shell.md +9 -0
  31. package/docs/deploy/faq.md +86 -0
  32. package/docs/deploy/index.md +9 -0
  33. package/docs/deploy/local.md +275 -0
  34. package/docs/deploy/online-new.md +610 -0
  35. package/docs/deploy/online.md +683 -0
  36. package/docs/deploy/qiniu.md +183 -0
  37. package/docs/index.md +40 -0
  38. package/docs/introduction/about/code.md +26 -0
  39. package/docs/introduction/about/index.md +33 -0
  40. package/docs/introduction/feature/index.md +3 -0
  41. package/docs/plan/log.md +333 -0
  42. package/docs/plan/todo.md +127 -0
  43. package/docs/plan/wish.md +29 -0
  44. package/docs/praise/index.md +45 -0
  45. package/docs/public/favicon.ico +0 -0
  46. package/docs/public/logo.png +0 -0
  47. package/docs/public/robots.txt +2 -0
  48. package/docs/src/apis/ajax.ts +66 -0
  49. package/docs/src/apis/index.ts +1 -0
  50. package/docs/src/apis/modules/wish.ts +20 -0
  51. package/docs/src/components/Avatar.vue +60 -0
  52. package/docs/src/components/Home.vue +85 -0
  53. package/docs/src/components/Picture.vue +13 -0
  54. package/docs/src/components/Praise.vue +52 -0
  55. package/docs/src/components/WishBtn.vue +98 -0
  56. package/docs/src/components/WishPanel.vue +170 -0
  57. package/docs/src/components/callme/index.vue +72 -0
  58. package/docs/vite.config.ts +42 -0
  59. package/index.html +127 -0
  60. package/package.json +52 -0
  61. package/public/favicon.ico +0 -0
  62. package/public/logo.png +0 -0
  63. package/scripts/deploy/docs.mjs +24 -0
  64. package/scripts/deploy/prod.mjs +24 -0
  65. package/scripts/deploy/test.mjs +26 -0
  66. package/src/@types/ajax.d.ts +5 -0
  67. package/src/@types/api.d.ts +305 -0
  68. package/src/@types/lib.d.ts +26 -0
  69. package/src/@types/page.d.ts +18 -0
  70. package/src/App.vue +36 -0
  71. package/src/apis/ajax.ts +70 -0
  72. package/src/apis/index.ts +20 -0
  73. package/src/apis/modules/action.ts +17 -0
  74. package/src/apis/modules/category.ts +20 -0
  75. package/src/apis/modules/config.ts +19 -0
  76. package/src/apis/modules/file.ts +150 -0
  77. package/src/apis/modules/people.ts +81 -0
  78. package/src/apis/modules/public.ts +49 -0
  79. package/src/apis/modules/super/overview.ts +56 -0
  80. package/src/apis/modules/super/user.ts +62 -0
  81. package/src/apis/modules/task.ts +67 -0
  82. package/src/apis/modules/user.ts +56 -0
  83. package/src/apis/modules/wish.ts +31 -0
  84. package/src/assets/i/EasyPicker.png +0 -0
  85. package/src/assets/logo.png +0 -0
  86. package/src/assets/styles/app.css +69 -0
  87. package/src/components/HomeFooter/index.vue +134 -0
  88. package/src/components/HomeHeader/index.vue +156 -0
  89. package/src/components/InfosForm/index.vue +73 -0
  90. package/src/components/MessageList/index.vue +155 -0
  91. package/src/components/MessagePanel/index.vue +42 -0
  92. package/src/components/Praise/index.vue +102 -0
  93. package/src/components/QrCode.vue +44 -0
  94. package/src/components/linkDialog.vue +104 -0
  95. package/src/components/loginPanel.vue +92 -0
  96. package/src/constants/index.ts +83 -0
  97. package/src/env.d.ts +8 -0
  98. package/src/main.ts +19 -0
  99. package/src/pages/404/index.vue +59 -0
  100. package/src/pages/about/index.vue +152 -0
  101. package/src/pages/callme/index.vue +155 -0
  102. package/src/pages/dashboard/config/index.vue +264 -0
  103. package/src/pages/dashboard/files/index.vue +1152 -0
  104. package/src/pages/dashboard/index.vue +335 -0
  105. package/src/pages/dashboard/manage/config/index.vue +97 -0
  106. package/src/pages/dashboard/manage/index.vue +105 -0
  107. package/src/pages/dashboard/manage/overview/index.vue +488 -0
  108. package/src/pages/dashboard/manage/user/index.vue +679 -0
  109. package/src/pages/dashboard/manage/wish/index.vue +257 -0
  110. package/src/pages/dashboard/tasks/components/CategoryPanel.vue +208 -0
  111. package/src/pages/dashboard/tasks/components/CreateTask.vue +93 -0
  112. package/src/pages/dashboard/tasks/components/TaskInfo.vue +129 -0
  113. package/src/pages/dashboard/tasks/components/infoPanel/ddl.vue +96 -0
  114. package/src/pages/dashboard/tasks/components/infoPanel/file.vue +175 -0
  115. package/src/pages/dashboard/tasks/components/infoPanel/info.vue +477 -0
  116. package/src/pages/dashboard/tasks/components/infoPanel/people.vue +567 -0
  117. package/src/pages/dashboard/tasks/components/infoPanel/template.vue +146 -0
  118. package/src/pages/dashboard/tasks/components/infoPanel/tip.vue +55 -0
  119. package/src/pages/dashboard/tasks/components/infoPanel/tipInfo.vue +196 -0
  120. package/src/pages/dashboard/tasks/index.vue +302 -0
  121. package/src/pages/dashboard/tasks/public.ts +32 -0
  122. package/src/pages/disabled/index.vue +47 -0
  123. package/src/pages/feedback/index.vue +5 -0
  124. package/src/pages/home/index.vue +72 -0
  125. package/src/pages/login/index.vue +270 -0
  126. package/src/pages/register/index.vue +211 -0
  127. package/src/pages/reset/index.vue +186 -0
  128. package/src/pages/task/index.vue +897 -0
  129. package/src/pages/wish/index.vue +152 -0
  130. package/src/router/Interceptor/index.ts +112 -0
  131. package/src/router/index.ts +13 -0
  132. package/src/router/routes/index.ts +197 -0
  133. package/src/shims-vue.d.ts +6 -0
  134. package/src/store/index.ts +17 -0
  135. package/src/store/modules/category.ts +44 -0
  136. package/src/store/modules/public.ts +27 -0
  137. package/src/store/modules/task.ts +55 -0
  138. package/src/store/modules/user.ts +57 -0
  139. package/src/utils/elementUI.ts +8 -0
  140. package/src/utils/networkUtil.ts +236 -0
  141. package/src/utils/other.ts +25 -0
  142. package/src/utils/regExp.ts +11 -0
  143. package/src/utils/stringUtil.ts +242 -0
  144. package/tsconfig.json +24 -0
  145. package/vite.config.ts +55 -0
@@ -0,0 +1,176 @@
1
+ [
2
+ {
3
+ "type": "server",
4
+ "key": "USER",
5
+ "value": "epa3c8d7",
6
+ "isSecret": true
7
+ },
8
+ {
9
+ "type": "server",
10
+ "key": "PWD",
11
+ "value": "ee60010f",
12
+ "isSecret": true
13
+ },
14
+ {
15
+ "type": "mysql",
16
+ "key": "host",
17
+ "value": "127.0.0.1",
18
+ "isSecret": false
19
+ },
20
+ {
21
+ "type": "mysql",
22
+ "key": "port",
23
+ "value": 3306,
24
+ "isSecret": false
25
+ },
26
+ {
27
+ "type": "mysql",
28
+ "key": "database",
29
+ "value": "easypicker2",
30
+ "isSecret": false
31
+ },
32
+ {
33
+ "type": "mysql",
34
+ "key": "user",
35
+ "value": "root",
36
+ "isSecret": false
37
+ },
38
+ {
39
+ "type": "mysql",
40
+ "key": "password",
41
+ "value": "easypicker2",
42
+ "isSecret": true
43
+ },
44
+ {
45
+ "type": "mongo",
46
+ "key": "host",
47
+ "value": "127.0.0.1",
48
+ "isSecret": false
49
+ },
50
+ {
51
+ "type": "mongo",
52
+ "key": "port",
53
+ "value": 27017,
54
+ "isSecret": false
55
+ },
56
+ {
57
+ "type": "mongo",
58
+ "key": "database",
59
+ "value": "easypicker2",
60
+ "isSecret": false
61
+ },
62
+ {
63
+ "type": "mongo",
64
+ "key": "user",
65
+ "value": "easypicker2",
66
+ "isSecret": false
67
+ },
68
+ {
69
+ "type": "mongo",
70
+ "key": "password",
71
+ "value": "easypicker2",
72
+ "isSecret": true
73
+ },
74
+ {
75
+ "type": "mongo",
76
+ "key": "auth",
77
+ "value": false,
78
+ "isSecret": false
79
+ },
80
+ {
81
+ "type": "redis",
82
+ "key": "host",
83
+ "value": "127.0.0.1",
84
+ "isSecret": false
85
+ },
86
+ {
87
+ "type": "redis",
88
+ "key": "port",
89
+ "value": 6379,
90
+ "isSecret": false
91
+ },
92
+ {
93
+ "type": "redis",
94
+ "key": "password",
95
+ "value": "easypicker2",
96
+ "isSecret": true
97
+ },
98
+ {
99
+ "type": "redis",
100
+ "key": "auth",
101
+ "value": false,
102
+ "isSecret": false
103
+ },
104
+ {
105
+ "type": "qiniu",
106
+ "key": "accessKey",
107
+ "value": "17iBaqCDcWUjh-6fUN4KWy3hm7HydYm5Fc1ruakj",
108
+ "isSecret": false
109
+ },
110
+ {
111
+ "type": "qiniu",
112
+ "key": "secretKey",
113
+ "value": "ZL47z-CJBO_TS-uMKYzTQ-Pszu5bi328fDKm4ocZ",
114
+ "isSecret": true
115
+ },
116
+ {
117
+ "type": "qiniu",
118
+ "key": "bucketName",
119
+ "value": "easypicker-test",
120
+ "isSecret": false
121
+ },
122
+ {
123
+ "type": "qiniu",
124
+ "key": "bucketDomain",
125
+ "value": "https://easypicker.test.file.sugarat.top",
126
+ "isSecret": false
127
+ },
128
+ {
129
+ "type": "qiniu",
130
+ "key": "imageCoverStyle",
131
+ "value": "~imageCover",
132
+ "isSecret": false
133
+ },
134
+ {
135
+ "type": "qiniu",
136
+ "key": "imagePreviewStyle",
137
+ "value": "~imagePreview",
138
+ "isSecret": false
139
+ },
140
+ {
141
+ "type": "qiniu",
142
+ "key": "bucketZone",
143
+ "value": "huanan",
144
+ "isSecret": false
145
+ },
146
+ {
147
+ "type": "tx",
148
+ "key": "secretId",
149
+ "value": "test",
150
+ "isSecret": false
151
+ },
152
+ {
153
+ "type": "tx",
154
+ "key": "secretKey",
155
+ "value": "test",
156
+ "isSecret": true
157
+ },
158
+ {
159
+ "type": "tx",
160
+ "key": "templateId",
161
+ "value": "12345",
162
+ "isSecret": false
163
+ },
164
+ {
165
+ "type": "tx",
166
+ "key": "smsSdkAppid",
167
+ "value": "12345",
168
+ "isSecret": false
169
+ },
170
+ {
171
+ "type": "tx",
172
+ "key": "signName",
173
+ "value": "粥里有勺糖",
174
+ "isSecret": false
175
+ }
176
+ ]
package/docs/.env ADDED
@@ -0,0 +1 @@
1
+ VITE_APP_AXIOS_BASE_URL=/api/
@@ -0,0 +1,2 @@
1
+ # .env.production
2
+ VITE_APP_AXIOS_BASE_URL=https://ep.sugarat.top/api/
@@ -0,0 +1,204 @@
1
+ import Pkg from './../../package.json'
2
+ import { getThemeConfig, defineConfig } from '@sugarat/theme/node'
3
+
4
+ const blogTheme = getThemeConfig({
5
+ search: false,
6
+ blog: false,
7
+ author:'粥里有勺糖',
8
+ comment: {
9
+ repo: 'atqq/easypicker2-client',
10
+ repoId: 'MDEwOlJlcG9zaXRvcnkzNTQxNzc0NjA=',
11
+ category: 'Announcements',
12
+ categoryId: 'DIC_kwDOFRxRtM4CUThN'
13
+ }
14
+ })
15
+
16
+ export default defineConfig({
17
+ title: 'EasyPicker | 轻取',
18
+ description: '在线文件收集平台',
19
+ head: [
20
+ ['meta', { name: 'theme-color', content: '#ffffff' }],
21
+ ['link', { rel: 'icon', href: '/favicon.ico', type: 'image/png' }],
22
+ ['link', { rel: 'alternate icon', href: '/favicon.ico', type: 'image/png', sizes: '16x16' }],
23
+ ['meta', { name: 'author', content: '粥里有勺糖' }],
24
+ ['link', { rel: 'mask-icon', href: '/favicon.ico', color: '#ffffff' }],
25
+ ['link', { rel: 'apple-touch-icon', href: '/favicon.ico', sizes: '180x180' }],
26
+ ['script', { charset: 'UTF-8', id: 'LA_COLLECT', src: '//sdk.51.la/js-sdk-pro.min.js' }],
27
+ ['script', {}, 'LA.init({id: "JiqK2jS5HmnB4s8G",ck: "JiqK2jS5HmnB4s8G",hashMode:true})'],
28
+ ],
29
+ vite: {
30
+ optimizeDeps: {
31
+ include: ['element-plus'],
32
+ exclude: ['@sugarat/theme']
33
+ },
34
+ server: {
35
+ port: 4000,
36
+ host: '0.0.0.0'
37
+ }
38
+ },
39
+ lastUpdated: true,
40
+ themeConfig: {
41
+ ...blogTheme,
42
+ algolia: {
43
+ appId: 'GPX84VDH91',
44
+ apiKey: '150dda0b943087c4e6a04d54af1d7391',
45
+ indexName: 'sugarat',
46
+ placeholder: '请输入要搜索的内容...',
47
+ },
48
+ lastUpdatedText: '上次更新于',
49
+ footer: {
50
+ message: `MIT Licensed | <a href="https://theme.sugarat.top">Docs Power By @sugarat/theme</a>`,
51
+ copyright: '<a href="https://sugarat.top">Copyright © 2019-PRESENT 粥里有勺糖</a>'
52
+ },
53
+ logo: '/logo.png',
54
+ editLink: {
55
+ pattern: "https://github.com/ATQQ/easypicker2-client/edit/main/docs/:path",
56
+ text: '去 GitHub 上编辑内容'
57
+ },
58
+ nav: [
59
+ {
60
+ text: '私有化部署',
61
+ items: [
62
+ {
63
+ text: '本地启动',
64
+ link: '/deploy/local',
65
+ },
66
+ {
67
+ text: '线上部署',
68
+ link: '/deploy/online',
69
+ },
70
+ {
71
+ text: '接入七牛云OSS',
72
+ link: '/deploy/qiniu',
73
+ },
74
+ {
75
+ text: '常见问题❓',
76
+ link: '/deploy/faq',
77
+ },
78
+ {
79
+ text: '相关设计',
80
+ link: '/deploy/design/index',
81
+ }
82
+ ],
83
+ activeMatch: '/deploy/'
84
+ },
85
+ {
86
+ text: `v${Pkg.version}`,
87
+ items: [
88
+ { text: '⭐️ 需求墙', link: '/plan/wish' },
89
+ { text: '🥔 近期规划', link: '/plan/todo' },
90
+ { text: '📅 更新日志', link: '/plan/log' },
91
+ ],
92
+ activeMatch: '/plan/'
93
+ },
94
+ {
95
+ text: '作者信息', link: '/author',
96
+ },
97
+ {
98
+ text: '打赏', link: '/praise/index',
99
+ },
100
+ { text: '⭐️ 需求墙', link: '/plan/wish' },
101
+ ],
102
+ sidebar: {
103
+ 'deploy': [
104
+ {
105
+ text: '私有化部署',
106
+ items: [
107
+ {
108
+ text: 'Getting Started',
109
+ link: '/deploy/',
110
+ },
111
+ {
112
+ text: '本地启动',
113
+ link: '/deploy/local',
114
+ },
115
+ {
116
+ text: '线上部署(New)',
117
+ link: '/deploy/online-new',
118
+ },
119
+ {
120
+ text: '线上部署(旧)',
121
+ link: '/deploy/online',
122
+ },
123
+ {
124
+ text: '接入七牛云OSS服务',
125
+ link: '/deploy/qiniu',
126
+ },
127
+ {
128
+ text: '常见问题❓',
129
+ link: '/deploy/faq',
130
+ }
131
+ ],
132
+ },
133
+ {
134
+ text: '相关设计',
135
+ items: [
136
+ {
137
+ text: '自动部署脚本',
138
+ link: '/deploy/design/shell',
139
+ },
140
+ {
141
+ text: '概述',
142
+ link: '/deploy/design/index',
143
+ },
144
+ {
145
+ text: '数据库设计',
146
+ link: '/deploy/design/db',
147
+ },
148
+ {
149
+ text: '接口设计',
150
+ link: '/deploy/design/api',
151
+ },
152
+ ],
153
+ }
154
+ ],
155
+ 'plan': [
156
+ {
157
+ text: '应用动态',
158
+ items: [
159
+ {
160
+ text: '⭐️ 需求墙',
161
+ link: '/plan/wish',
162
+ },
163
+ {
164
+ text: '🥔 TODO-LIST',
165
+ link: '/plan/todo',
166
+ },
167
+ {
168
+ text: '更新日志',
169
+ link: '/plan/log',
170
+ }
171
+ ],
172
+ },
173
+ ],
174
+ 'introduction': [
175
+ {
176
+ text: '关于',
177
+ items: [
178
+ {
179
+ text: '应用介绍',
180
+ link: '/introduction/about/index',
181
+ },
182
+ {
183
+ text: '相关源码',
184
+ link: '/introduction/about/code',
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ text: '功能',
190
+ items: [
191
+ {
192
+ text: '现有功能',
193
+ link: '/introduction/feature/index',
194
+ }
195
+ ]
196
+ }
197
+ ]
198
+ },
199
+ socialLinks: [
200
+ { icon: 'github', link: 'https://github.com/ATQQ/easypicker2-client' },
201
+ ]
202
+ },
203
+
204
+ })
Binary file
@@ -0,0 +1,41 @@
1
+ .VPHome {
2
+ .VPHero {
3
+ --vp-home-hero-image-background-image: linear-gradient( -45deg, #a0cfff73 30%, #35495e80 );
4
+ --vp-home-hero-image-filter: blur(100px);
5
+ .container {
6
+ .main {
7
+ span.clip {
8
+ background: -webkit-linear-gradient(
9
+ 315deg,
10
+ #42d392 25%,
11
+ #647eff
12
+ );
13
+ background-clip: text;
14
+ -webkit-background-clip: text;
15
+ -webkit-text-fill-color: transparent;
16
+ }
17
+ .VPButton.docs {
18
+ border-color: rgb(
19
+ 160,
20
+ 207,
21
+ 255
22
+ );
23
+ color: rgb(64, 158, 255);
24
+ background-color: rgb(
25
+ 236,
26
+ 245,
27
+ 255
28
+ );
29
+ }
30
+ .VPButton.docs:hover {
31
+ color: rgb(236, 245, 255);
32
+ background-color: rgb(
33
+ 64,
34
+ 158,
35
+ 255
36
+ );
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,5 @@
1
+ import './index.scss'
2
+
3
+ import BlogTheme from '@sugarat/theme'
4
+
5
+ export default BlogTheme
package/docs/author.md ADDED
@@ -0,0 +1,24 @@
1
+ # 关于我
2
+
3
+ 99年出生,标准的理工男一枚,毕业于 **[西南石油大学](https://www.swpu.edu.cn/)** ,热爱开源与知识分享
4
+
5
+ 目前就职于 🛵美团🛵(Base 北京到店餐饮),有兴趣成为同事的话,可以小窗私我了解岗位详情
6
+
7
+ ![](https://img.cdn.sugarat.top/mdImg/MTYwNDcyMTQ4NTMyOA==604721485328)
8
+
9
+ ## 联系作者
10
+ <callme/>
11
+
12
+ ## 相关站点
13
+ * [个人博客](https://sugarat.top)
14
+ * [掘金](https://juejin.cn/user/1028798615918983/posts)
15
+ * [GitHub](https://github.com/ATQQ)
16
+ * [博客园](https://www.cnblogs.com/roseAT/)
17
+
18
+
19
+ ## 其它作品
20
+ * [个人图床](https://imgbed.sugarat.top)
21
+ * [考勤小程序](https://hdkq.sugarat.top/)
22
+ * [时光恋人](https://lover.sugarat.top)
23
+ * [在线简历生成](https://resume.sugarat.top/)
24
+ * 。。。
@@ -0,0 +1,6 @@
1
+ // Generated by 'unplugin-auto-import'
2
+ // We suggest you to commit this file into source control
3
+ declare global {
4
+
5
+ }
6
+ export {}
@@ -0,0 +1,17 @@
1
+ // generated by unplugin-vue-components
2
+ // We suggest you to commit this file into source control
3
+ // Read more: https://github.com/vuejs/vue-next/pull/3399
4
+
5
+ declare module 'vue' {
6
+ export interface GlobalComponents {
7
+ Avatar: typeof import('./src/components/Avatar.vue')['default']
8
+ Callme: typeof import('./src/components/callme/index.vue')['default']
9
+ Home: typeof import('./src/components/Home.vue')['default']
10
+ Picture: typeof import('./src/components/Picture.vue')['default']
11
+ Praise: typeof import('./src/components/Praise.vue')['default']
12
+ WishBtn: typeof import('./src/components/WishBtn.vue')['default']
13
+ WishPanel: typeof import('./src/components/WishPanel.vue')['default']
14
+ }
15
+ }
16
+
17
+ export { }
@@ -0,0 +1,3 @@
1
+ # 接口设计
2
+
3
+ 未完待续
@@ -0,0 +1,3 @@
1
+ # 数据库设计
2
+
3
+ 未完待续
@@ -0,0 +1,3 @@
1
+ # 应用设计
2
+
3
+ 未完待续
@@ -0,0 +1,9 @@
1
+ # 自动部署脚本
2
+
3
+ ## Shell脚本源码
4
+ * [GitHub](https://github.com/ATQQ/easypicker2-server/tree/master/scripts/ep)
5
+ * [Gitee](https://gitee.com/sugarjl/easypicker2-server/tree/master/scripts/ep)
6
+
7
+ ## CLI工具源码
8
+ * [Github: @sugarat/cli](https://github.com/ATQQ/tools/tree/main/packages/cli/dynamic-cli/core)
9
+ * [Github: @sugarat/cli-plugin-ep](https://github.com/ATQQ/tools/tree/main/packages/cli/dynamic-cli/plugins/cli-plugin-ep)
@@ -0,0 +1,86 @@
1
+ # 常见问题
2
+ 协助自助排查`部署问题`
3
+
4
+ ## Q1:PM2/后端服务启动失败,如何手动启动后端服务
5
+ 查看 `pm2` 应用列表
6
+ ```shell
7
+ pm2 ls
8
+ ```
9
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0NTI1MDEzOQ==655345250139)
10
+
11
+ 观察服务重启次数是否一直在增加
12
+
13
+ 查看服务日志
14
+
15
+ ```sh
16
+ # 所有日志
17
+ pm2 log
18
+ # 指定应用日志,如ep-dev
19
+ pm2 log ep-dev
20
+ ```
21
+
22
+ 如有报错,将报错信息贴至交流群,协助开发者排查
23
+
24
+ 如果pm2启动失败,尝试更新 `pm2`
25
+
26
+ ```sh
27
+ npm i -g pm2
28
+ ```
29
+
30
+ 完成升级后,手动启动服务
31
+ 1. 先确保当前执行目录在服务目录下
32
+
33
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0NTYzMzk0Nw==655345633947)
34
+
35
+ 2. 删除旧的服务
36
+
37
+ ```sh
38
+ # 查看服务列表
39
+ pm2 ls
40
+ # 删除指定服务,如ep-dev
41
+ pm2 del ep-dev
42
+ ```
43
+
44
+ 3. 启动服务
45
+
46
+ ```sh
47
+ pm2 start npm --name 自定义服务名 -- run start
48
+ # 例如
49
+ pm2 start npm --name my-ep2-server -- run start
50
+ ```
51
+
52
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0NTg4MTQzNw==655345881437)
53
+
54
+ 4. 查看服务情况
55
+
56
+ ```sh
57
+ pm2 log my-ep2-server
58
+ ```
59
+
60
+ :::warning 如有报错红色的信息
61
+ 执行指令停止服务
62
+ ```sh
63
+ pm2 stop my-ep2-server
64
+ ```
65
+
66
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0NjEwODI3Nw==655346108277)
67
+ :::
68
+
69
+ 没有错误就完事大吉
70
+
71
+ ## Q2:批量下载出错,能上传
72
+
73
+ 这种情况一般是七牛云的存储空间区域没有配置对
74
+
75
+ 查看服务版本
76
+
77
+ ### <= v2.1.7
78
+
79
+ 修改代码`src/utils/qiniuUtil.ts`第`251`行,Zone的值为对应区域的值
80
+
81
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0Njg4NDIxNQ==655346884215)
82
+
83
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NTM0Njk0NTY2Mw==655346945663)
84
+
85
+ ### > v2.1.7
86
+ 见最新 [接入七牛云OSS服务](./qiniu.md#创建存储空间) 文档,修改 `.env` 中 `QINIU_BUCKET_ZONE` 的值
@@ -0,0 +1,9 @@
1
+ # 私有化部署
2
+
3
+ 此部分将介绍本地启动&线上的部署方法
4
+
5
+ ## 目录
6
+ * [本地启动](./local.md)
7
+ * [线上部署 - 宝塔面板](./online-new.md)
8
+ * [七牛云OSS服务创建 - 七牛云相关配置](./qiniu.md)
9
+ * [FAQ&常见问题](./faq.md)