@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,610 @@
1
+ ---
2
+ outline: [2,3]
3
+ ---
4
+ # 线上部署 - 使用宝塔面板
5
+
6
+ :::danger !!!推荐使用`Linux`系服务器!!!
7
+ 下面的所有操作,均在 `Linux` 上进行,如果机器是装的`windows server` 部分操作可能需要远程桌面进行
8
+
9
+ 👉🏻 **[宝塔面板官方安装教程](https://www.bt.cn/)** 👈🏻
10
+ :::
11
+
12
+
13
+ ## 1 配置机器环境
14
+
15
+ ### 1.1 安装宝塔面板
16
+
17
+ 详见 👉🏻 **[宝塔面板官方安装教程](https://www.bt.cn/)** 👈🏻
18
+
19
+ ### 1.2 安装必要的软件
20
+ 通过宝塔面板一顿点点点旧安装完成了
21
+
22
+ :::details 查看必备的**7**个软件列表
23
+ * Nginx
24
+ * PM2
25
+ * 数据库
26
+ * redis
27
+ * mysql
28
+ * MongoDB
29
+ * phpMyAdmin
30
+ * PHP
31
+ :::
32
+
33
+ 通过宝塔面板提供的软件商店进行安装
34
+
35
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzQ4MzMwMzg2OQ==647483303869)
36
+
37
+ 安装完后,可以把常用的加至首页
38
+
39
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzQ4MzM3ODE4Mw==647483378183)
40
+
41
+ ### 1.3 安装Node
42
+
43
+ 使用PM2面板安装`Node`
44
+
45
+ :::tip 温馨提示
46
+ 建议安装大于等于`14.19`版本的
47
+ :::
48
+
49
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzQ4MzQ0MjUzMg==647483442532)
50
+
51
+ :::tip 温馨提示
52
+ 本文的所有`shell`指令无特殊说明,都是在宝塔面板的终端工具中运行
53
+ :::
54
+
55
+ 测试是否正常安装`Node.js`,终端工具运行如下指令
56
+ ```sh
57
+ node -v
58
+ ```
59
+ 有如下显示表明安装成功
60
+
61
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzYxMjU3OTk2NA==647612579964)
62
+
63
+ ### 1.4 安装辅助CLI工具
64
+ 执行如下指令安装
65
+ ```sh
66
+ npm i -g @sugarat/cli --registry=https://registry.npmmirror.com
67
+ ```
68
+ 安装完后你将得到一个 `q` 指令,执行 `q --version` 即可查询版本情况
69
+ ```sh
70
+ q --version
71
+ ```
72
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MTIwODU5Ng==676791208596)
73
+
74
+ 紧接着通过`q`指令安装 `@sugarat/cli-plugin-ep` 插件
75
+
76
+ **后续大部分部署工作由此插件提供支持**
77
+ ```sh
78
+ q add ep
79
+ ```
80
+ 后续更新插件只需要执行
81
+ ```sh
82
+ q update
83
+ ```
84
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MTQyNjExOQ==676791426119)
85
+
86
+ ### 1.5 初始化Node相关环境
87
+
88
+ :::tip 温馨提示
89
+ 可重复执行,用于检查环境,不会重复安装已有库
90
+
91
+ 下述方式选择其一即可
92
+ :::
93
+ ::: code-group
94
+
95
+ ```shell [使用CLI工具]
96
+ q ep --check
97
+ ```
98
+
99
+ ```shell [使用shell脚本]
100
+ curl https://script.sugarat.top/shell/ep/init-env.sh | bash
101
+ ```
102
+ :::
103
+
104
+ 自动完成`zx`,`node`,`nrm`,`镜像源配置`,`pnpm`等等等安装与环境检查
105
+
106
+ 下面分别是2种方法的执行结果
107
+
108
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MTg1NTY2Mg==676791855662)
109
+
110
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NjMzMDIyNTg5MA==656330225890)
111
+
112
+ :::details 我相知道,这些库是干嘛的?
113
+ * [zx](https://github.com/google/zx): 谷歌出品的一个使用`JavaScript`,编写复杂`Shell`脚本的工具
114
+ * [node](https://nodejs.org/zh-cn/): `JavaScript` 服务端运行时
115
+ * [nrm](https://github.com/Pana/nrm): `npm` 镜像源切换工具
116
+ * [pnpm](https://pnpm.io/zh/): 快速的,节省磁盘空间的包管理工具
117
+ :::
118
+
119
+
120
+ ## 2 创建网站
121
+ ### 2.1 创建站点和数据库
122
+ 点击`添加站点`
123
+
124
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzYxMzAzMTExMg==647613031112)
125
+
126
+ **① 输入要绑定的域名 ② 创建数据库 ③ 自定义数据库账号 ④ 选择纯静态**
127
+
128
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjE4MzgyNg==676792183826)
129
+
130
+ 数据填写完毕,点击提交即可,然后会自动帮助创建网站相关目录,并告知关联数据库账号和密码
131
+
132
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjQyMDM5Mg==676792420392)
133
+
134
+ **记得复制保存一下,后面会用上!!**
135
+
136
+ **记得复制保存一下,后面会用上!!**
137
+
138
+ :::tip 我没有域名怎么办?
139
+ 没有域名可以 [联系我](./../author.md),给你绑定个`sugarat.top`下的3||4级域名
140
+ * 例如:https://ep.test.sugarat.top
141
+ * 例如:https://ep.dev.sugarat.top
142
+ :::
143
+
144
+ :::details 我想用ip+端口访问,查看这里
145
+
146
+ **如果直接使用IP访问**,域名处就输入`你的机器IP加一个端口号`
147
+
148
+ 格式`ip:port`,例如`39.156.66.18:3333`
149
+
150
+ :::warning 使用IP+端口注意事项
151
+ 需在自己服务器的`防火墙`中开放使用的端口
152
+
153
+ 例如`笔者`的腾讯云
154
+
155
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5Mjk1NDI4OA==647692954288)
156
+
157
+ 不开放对应端口的话,是无法通过外网进行访问的
158
+
159
+ :::
160
+
161
+ ### 2.2 一键部署前端
162
+
163
+ 定位到网站所在目录,然后点击终端
164
+
165
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjUxNzc0NA==676792517744)
166
+
167
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjYwNzcyMA==676792607720)
168
+
169
+ 执行下述指令
170
+
171
+ ::: code-group
172
+ ```sh [部署最新稳定版]
173
+ q ep client --deploy
174
+ ```
175
+
176
+ ```sh [部署最新预览版]
177
+ q ep client --deploy beta
178
+ ```
179
+
180
+ ```sh [部署指定版本]
181
+ q ep client --deploy 2.3.4
182
+ # 更多可用版本见 > 更新日志(>=v2.3.4):https://docs.ep.sugarat.top/plan/log.html
183
+ ```
184
+
185
+ ```sh [拉源码构建部署]
186
+ # 此方式适合,需要对网站内容做调整的场景
187
+ # Github
188
+ curl https://script.sugarat.top/shell/ep/deploy-client.sh | bash -s github
189
+
190
+ # Gitee
191
+ curl https://script.sugarat.top/shell/ep/deploy-client.sh | bash -s gitee
192
+ ```
193
+ :::
194
+
195
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NjA3NTY1NQ==676796075655)
196
+
197
+ 演示视频如下(无声,可放心观看)
198
+
199
+ <video src="https://img.cdn.sugarat.top/mdImg/MTY3Njc5MzMzOTY2Ng==ep2-client.mp4" preload controls="controls">
200
+ 您的浏览器不支持 video 标签。
201
+ </video>
202
+
203
+
204
+ :::details 我的脚本执行失败,怎么解决?
205
+ * 如果由于目录冲突,导致脚本执行失败,请手动删除`dist`目录
206
+ * 其它问题,[加反馈群](./../author.md)或者[联系作者](./../author.md)沟通
207
+ :::
208
+
209
+ ### 2.3 修改网站访问目录
210
+ 按照图示,修改访问目录为 `dist`
211
+
212
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MzU3Mjg4OA==676793572888)
213
+
214
+ 访问 http://ep.demo.sugarat.top 测试,就看到咱们的前端应用了
215
+
216
+ 此时访问可以看到,页面会有一个报错提示
217
+
218
+ 那是因为我们还没有配置后端服务,后面会有配置的流程
219
+
220
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MzY0MjgwMw==676793642803)
221
+
222
+ ### 2.4 添加配置防止页面404
223
+ 在对应网站设置面板,点击`配置文件`,加入以下配置
224
+
225
+ ```sh
226
+ # vue-router
227
+ location / {
228
+ try_files $uri $uri/ /index.html;
229
+ }
230
+ ```
231
+
232
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5MzExMDgyMw==647693110823)
233
+
234
+ ### 2.5 开启HTTPS
235
+ 为网站添加`SSL`证书
236
+
237
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5Mzg1OTM0Mw==676793859343)
238
+
239
+ :::tip 温馨提示
240
+ 宝塔提供了免费SSL证书点击申请即可,收集的信息自己一顿瞎填就行
241
+
242
+ 申请完然后点击对应证书的部署按钮即可
243
+
244
+ 部署完成后,可以点击右上角开启`强制HTTPS`,访问`HTTP`将会强制跳转到`HTTPS`
245
+ :::
246
+
247
+ ::: danger 一些叮嘱
248
+ 推荐给自己网站配上 `强制HTTPS` 保证网站的安全性
249
+
250
+ 优先推荐使用`测试证书`,有效期更长(到期在申请即可,有数量限制)
251
+
252
+ `Let's Encrypt`,没什么限制,不用填资料,可以做到自动化,只是时间短一点 90天有效 需要频繁更换
253
+
254
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NDI5Mjk3Mw==676794292973)
255
+
256
+ 当然一般腾讯云/阿里云服务器也有提供免费的SSL证书,详见各厂商文档
257
+ :::
258
+
259
+ ### 2.6 导入数据库表数据
260
+ 咱们前面在创建站点的时候已经创建了数据库,这一步只需要做表数据的导入
261
+
262
+ ::: details 前面忘了创建数据库咋办?如何进行手动创建?
263
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NjM4MTUzNDExMA==656381534110)
264
+
265
+ 在数据库面板,点击添加数据库
266
+
267
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY1MjU0MDYwNg==647652540606)
268
+
269
+ :::danger 注意事项!!!
270
+ * **密码推荐使用随机的,输入数据库名字即可(账号默认和数据库名一致)**
271
+ * **数据库名记得小写**
272
+ :::
273
+
274
+ 下属方式任选其一即可
275
+
276
+ ::: code-group
277
+
278
+ ```shell [使用CLI工具]
279
+ q ep --init-mysql 数据库名 账号 数据库密码
280
+ ```
281
+
282
+ ```shell [使用shell脚本]
283
+ curl https://script.sugarat.top/shell/ep/init-db.sh | bash -s 数据库名 账号 数据库密码
284
+ ```
285
+ :::
286
+
287
+ ::: details 我忘了数据库账号,密码等等?可以在哪看?
288
+ 在数据库面板里就能找到我们创建的数据库
289
+
290
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NDk3ODc1Mw==676794978753)
291
+
292
+ 点击小眼睛就能看见密码
293
+ :::
294
+
295
+ 下面分别是2种方式导入的截图示例
296
+
297
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NTA4MjYzMw==676795082633)
298
+
299
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NjQyOTI2NzI0OQ==656429267249)
300
+
301
+ 这样`6`张表,就直接初始化完成啦
302
+
303
+ ## 3. 部署后端服务
304
+
305
+ ### 3.1 使用CLI部署
306
+
307
+ 定位到网站所在目录,然后点击终端
308
+
309
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjUxNzc0NA==676792517744)
310
+
311
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5MjYwNzcyMA==676792607720)
312
+
313
+ 执行下述指令,自动完成服务的资源拉取和启动
314
+
315
+ :::details 如果已经使用旧版的教程部署过?
316
+ ① 先用 `pm2 ls` 查看应用的名称
317
+
318
+ ② 使用下面的指令部署时添加 `--name` 参数,指定当前应用的名称
319
+
320
+ 例如
321
+ ```sh
322
+ q ep server --deploy --name ep-server
323
+ ```
324
+ :::
325
+
326
+ ::: code-group
327
+ ```sh [部署最新稳定版]
328
+ q ep server --deploy
329
+ ```
330
+
331
+ ```sh [部署最新预览版]
332
+ q ep server --deploy beta
333
+ ```
334
+
335
+ ```sh [部署指定版本]
336
+ q ep server --deploy 2.3.4
337
+ # 更多可用版本见 > 更新日志(>=v2.3.4):https://docs.ep.sugarat.top/plan/log.html
338
+ ```
339
+ :::
340
+
341
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NjE5MDc1Nw==676796190757)
342
+
343
+ 演示视频如下(无声,可放心观看)
344
+
345
+ <video src="https://img.cdn.sugarat.top/mdImg/MTY3Njc5NTc4MzY0Ng==ep2-server.mp4" preload controls="controls">
346
+ 您的浏览器不支持 video 标签。
347
+ </video>
348
+
349
+ :::details 我的脚本执行失败,怎么解决?
350
+ * 如果由于目录冲突,导致脚本执行失败,请手动删除`easypicker2-server/dist`目录
351
+ * 其它问题,[加反馈群](./../author.md)或者[联系作者](./../author.md)沟通
352
+ :::
353
+
354
+ ### 3.2 获取端口和管理面板账号
355
+
356
+ 通过查询运行日志可以得到此信息
357
+
358
+ ```sh
359
+ q ep server --log
360
+ ```
361
+
362
+ 在服务日志里,可以看到服务监听的端口,和运行打印的log日志情况,当然还有管理面板的账号密码
363
+
364
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5NjUwNzU4OA==676796507588)
365
+
366
+ :::danger 拿小本本记下这个账号密码后面会用到!!!
367
+ :::
368
+
369
+ 如果后续忘了,可以通过如下**2种方式获取**
370
+
371
+ ::: code-group
372
+
373
+
374
+ ```sh [使用CLI]
375
+ q ep server --config server
376
+ ```
377
+
378
+ ```sh [重启服务]
379
+ q ep server --restart
380
+ q ep server --log
381
+ ```
382
+
383
+ ```sh [使用Shell脚本获取]
384
+ # 进入 easypicker2-server 目录
385
+ cd easypicker2-server
386
+
387
+ # 执行
388
+ curl https://script.sugarat.top/js/ep/user-config.js | node - server
389
+ ```
390
+ :::
391
+
392
+ 下面分别是3种方式的执行结果
393
+
394
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3NjgwMDQ0NzE1MA==676800447150)
395
+
396
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3NjgwMDAzNjUwNg==676800036506)
397
+
398
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3NjgwMDczMDU2Mw==676800730563)
399
+ ## 4 配置反向代理
400
+ 任选下面任意一个方案即可,推荐使用方式1 简单利索
401
+
402
+ ### 4.1 方式1(推荐)
403
+
404
+ 在对应网站设置面板,点击`配置文件`,加入以下 `反向代理配置`,其中端口号根据自己的实际情况指定即可
405
+
406
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5Nzc2NzUxOQ==676797767519)
407
+
408
+ :::details 点击查看配置文件内容
409
+ ```sh
410
+ #PROXY-START/api
411
+
412
+ location ^~ /api/
413
+ {
414
+ # 此处的服务端口改成你的服务地址,可能3000也可能是3001
415
+ # 此处的服务端口改成你的服务地址,通过 pm2 logs指令 查看服务启动监听的端口
416
+ # 此处的服务端口改成你的服务地址
417
+ proxy_pass http://127.0.0.1:3000/;
418
+ proxy_set_header Host 127.0.0.1;
419
+ proxy_set_header X-Real-IP $remote_addr;
420
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
421
+ proxy_set_header REMOTE-HOST $remote_addr;
422
+
423
+ add_header X-Cache $upstream_cache_status;
424
+
425
+ #Set Nginx Cache
426
+
427
+ #proxy_set_header Accept-Encoding "";
428
+ sub_filter "/api" "";
429
+ sub_filter_once off;
430
+
431
+
432
+ set $static_file6DkW7ygY 0;
433
+ if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
434
+ {
435
+ set $static_file6DkW7ygY 1;
436
+ expires 12h;
437
+ }
438
+ if ( $static_file6DkW7ygY = 0 )
439
+ {
440
+ add_header Cache-Control no-cache;
441
+ }
442
+ }
443
+ #PROXY-END/api
444
+ ```
445
+ :::
446
+
447
+ ### 4.2 方式2
448
+ 打开网站的设置面板,点击添加反向代理,勾选`高级功能`
449
+
450
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY2Njc0Nzg4Mw==647666747883)
451
+
452
+
453
+ :::danger 重要提示
454
+ 代理名称随便填
455
+ * 代理目录`/api/`
456
+ * 目标URL填`自己的后端服务地址`
457
+ * 内容替换`/api`,第二个留空
458
+ :::
459
+
460
+ ::: details 如果提示XX已存在,无法添加,请戳这里查看解法
461
+
462
+ 进入此目录找到反向代理的配置文件
463
+ ```sh
464
+ /www/server/panel/vhost/nginx/proxy/你的域名
465
+ ```
466
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1NjM4MjE4Mzc1Mw==656382183753)
467
+
468
+ 示例配置
469
+ ```sh
470
+ #PROXY-START/api
471
+
472
+ location ^~ /api/
473
+ {
474
+ # 此处的服务端口改成你的服务地址,可能3000也可能是3001
475
+ # 此处的服务端口改成你的服务地址,通过 pm2 logs指令 查看服务启动监听的端口
476
+ # 此处的服务端口改成你的服务地址
477
+ proxy_pass http://127.0.0.1:3000/;
478
+ proxy_set_header Host 127.0.0.1;
479
+ proxy_set_header X-Real-IP $remote_addr;
480
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
481
+ proxy_set_header REMOTE-HOST $remote_addr;
482
+
483
+ add_header X-Cache $upstream_cache_status;
484
+
485
+ #Set Nginx Cache
486
+
487
+ #proxy_set_header Accept-Encoding "";
488
+ sub_filter "/api" "";
489
+ sub_filter_once off;
490
+
491
+
492
+ set $static_file6DkW7ygY 0;
493
+ if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
494
+ {
495
+ set $static_file6DkW7ygY 1;
496
+ expires 12h;
497
+ }
498
+ if ( $static_file6DkW7ygY = 0 )
499
+ {
500
+ add_header Cache-Control no-cache;
501
+ }
502
+ }
503
+ #PROXY-END/api
504
+ ```
505
+ :::
506
+
507
+ 完成反向代理的配置后,我们就可以用上面提供的管理账号和密码进行服务相关配置的更新了
508
+
509
+ ## 5. 最后更新配置
510
+ 1. 访问我们的网站进行登录
511
+ 2. 输入上面拿到的账号密码
512
+ 3. 在新面板中进行相应配置更新
513
+
514
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1OTkzOTEzNzg1Ng==659939137856)
515
+
516
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5OTQwNTY2Nw==676799405667)
517
+
518
+ :::details 标红的为必要更新的字段
519
+ * MySQL
520
+ * 数据库名
521
+ * 用户名
522
+ * 密码
523
+ * MongoDB
524
+ * 数据库名:例如 ep-prod,ep-test,ep-log
525
+ * 七牛云
526
+ * AccessKey
527
+ * SecretKey
528
+ * 存储空间名
529
+ * 绑定的域名
530
+ * 存储区域
531
+ :::
532
+
533
+ :::danger 从哪获取这些变量?
534
+ #### MySQL 相关
535
+
536
+ MySQL 的账号密码在数据库面板获取,即前面创建的数据库账号密码
537
+
538
+ #### MongoDB
539
+ 这里只需要填入数据库名,格式 `小写+连字符`
540
+
541
+ 例如 `ep-prod`, `ep-test`, `ep-log`
542
+ #### 七牛云相关配置
543
+
544
+ 参考[七牛云OSS服务创建](./qiniu.md)文章,获取七牛云相关的几个环境变量
545
+
546
+ #### 腾讯云相关配置(可选)
547
+ 不接入短信登录可以不配
548
+ :::
549
+
550
+ ![](https://img.cdn.sugarat.top/mdImg/MTY1OTkzOTAyNDM2OA==659939024368)
551
+
552
+ 更新完立马生效
553
+
554
+ 当然,为预防一些意外情况,可以在都配置完后,通过如下指令重启一下服务
555
+ ```sh
556
+ q ep server --restart
557
+ ```
558
+
559
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3NjgwMDAzNjUwNg==676800036506)
560
+
561
+ 到此所有的配置都搞定了,ღ( ´・ᴗ・` )比心。感谢赖心阅读
562
+ ## 99. 其余功能
563
+ ### 开启内容压缩
564
+ 在之前添加的反向代理配置里
565
+
566
+ 添加`#`注释或者删掉 `proxy_set_header Accept-Encoding "";`
567
+
568
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5Nzk5MzUwMw==676797993503)
569
+
570
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5MzM2MDI3OQ==647693360279)
571
+
572
+ 这样返回的内容会进行压缩,响应速度会有所提升
573
+
574
+ ![](https://img.cdn.sugarat.top/mdImg/MTY3Njc5ODAzNDkxMw==676798034913)
575
+
576
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5Mzg3MDc2NA==647693870764)
577
+
578
+ ### 配置管理员权限
579
+
580
+ 账号加了管理员权限后,就能看到后台管理的入口
581
+ * 查看访问日志
582
+ * 管理用户账号
583
+
584
+
585
+ | 添加前 | 添加后 |
586
+ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
587
+ | ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDAzOTMxNg==647694039316) | ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDMxMDE1OA==647694310158) |
588
+
589
+
590
+ 打开对应的数据库
591
+
592
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDE5NTQyMA==647694195420)
593
+
594
+ 选择`user`表
595
+
596
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDI0NjM5Ng==647694246396)
597
+
598
+ 修改账号的`power`字段值为`0`
599
+
600
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDE1NTczMg==647694155732)
601
+
602
+ 然后重新登录账号,就能看到入口了
603
+
604
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0NzY5NDMxMDE1OA==647694310158)
605
+
606
+ 大功告成
607
+
608
+ 有其它问题可以小群交流,方便可以加入及时交流沟通问题: 685446473
609
+
610
+ ![](https://img.cdn.sugarat.top/mdImg/MTY0Nzc1MjI3MzUwMw==647752273503)