@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.
- package/.env +6 -0
- package/.env.production +3 -0
- package/.env.test +4 -0
- package/.eslintignore +0 -0
- package/.eslintrc.json +57 -0
- package/.github/workflows/main.yml +61 -0
- package/.prettierrc.js +9 -0
- package/LICENSE +21 -0
- package/README.md +86 -0
- package/auto-imports.d.ts +6 -0
- package/components.d.ts +56 -0
- package/docker/ep_backup/easypicker2.sql +214 -0
- package/docker/ep_backup/mongodb/easypicker2/action.bson +0 -0
- package/docker/ep_backup/mongodb/easypicker2/action.metadata.json +1 -0
- package/docker/ep_backup/mongodb/easypicker2/log.bson +0 -0
- package/docker/ep_backup/mongodb/easypicker2/log.metadata.json +1 -0
- package/docker/ep_backup/user-config.json +176 -0
- package/docs/.env +1 -0
- package/docs/.env.production +2 -0
- package/docs/.vitepress/config.ts +204 -0
- package/docs/.vitepress/theme/bg.png +0 -0
- package/docs/.vitepress/theme/index.scss +41 -0
- package/docs/.vitepress/theme/index.ts +5 -0
- package/docs/author.md +24 -0
- package/docs/auto-imports.d.ts +6 -0
- package/docs/components.d.ts +17 -0
- package/docs/deploy/design/api.md +3 -0
- package/docs/deploy/design/db.md +3 -0
- package/docs/deploy/design/index.md +3 -0
- package/docs/deploy/design/shell.md +9 -0
- package/docs/deploy/faq.md +86 -0
- package/docs/deploy/index.md +9 -0
- package/docs/deploy/local.md +275 -0
- package/docs/deploy/online-new.md +610 -0
- package/docs/deploy/online.md +683 -0
- package/docs/deploy/qiniu.md +183 -0
- package/docs/index.md +40 -0
- package/docs/introduction/about/code.md +26 -0
- package/docs/introduction/about/index.md +33 -0
- package/docs/introduction/feature/index.md +3 -0
- package/docs/plan/log.md +333 -0
- package/docs/plan/todo.md +127 -0
- package/docs/plan/wish.md +29 -0
- package/docs/praise/index.md +45 -0
- package/docs/public/favicon.ico +0 -0
- package/docs/public/logo.png +0 -0
- package/docs/public/robots.txt +2 -0
- package/docs/src/apis/ajax.ts +66 -0
- package/docs/src/apis/index.ts +1 -0
- package/docs/src/apis/modules/wish.ts +20 -0
- package/docs/src/components/Avatar.vue +60 -0
- package/docs/src/components/Home.vue +85 -0
- package/docs/src/components/Picture.vue +13 -0
- package/docs/src/components/Praise.vue +52 -0
- package/docs/src/components/WishBtn.vue +98 -0
- package/docs/src/components/WishPanel.vue +170 -0
- package/docs/src/components/callme/index.vue +72 -0
- package/docs/vite.config.ts +42 -0
- package/index.html +127 -0
- package/package.json +52 -0
- package/public/favicon.ico +0 -0
- package/public/logo.png +0 -0
- package/scripts/deploy/docs.mjs +24 -0
- package/scripts/deploy/prod.mjs +24 -0
- package/scripts/deploy/test.mjs +26 -0
- package/src/@types/ajax.d.ts +5 -0
- package/src/@types/api.d.ts +305 -0
- package/src/@types/lib.d.ts +26 -0
- package/src/@types/page.d.ts +18 -0
- package/src/App.vue +36 -0
- package/src/apis/ajax.ts +70 -0
- package/src/apis/index.ts +20 -0
- package/src/apis/modules/action.ts +17 -0
- package/src/apis/modules/category.ts +20 -0
- package/src/apis/modules/config.ts +19 -0
- package/src/apis/modules/file.ts +150 -0
- package/src/apis/modules/people.ts +81 -0
- package/src/apis/modules/public.ts +49 -0
- package/src/apis/modules/super/overview.ts +56 -0
- package/src/apis/modules/super/user.ts +62 -0
- package/src/apis/modules/task.ts +67 -0
- package/src/apis/modules/user.ts +56 -0
- package/src/apis/modules/wish.ts +31 -0
- package/src/assets/i/EasyPicker.png +0 -0
- package/src/assets/logo.png +0 -0
- package/src/assets/styles/app.css +69 -0
- package/src/components/HomeFooter/index.vue +134 -0
- package/src/components/HomeHeader/index.vue +156 -0
- package/src/components/InfosForm/index.vue +73 -0
- package/src/components/MessageList/index.vue +155 -0
- package/src/components/MessagePanel/index.vue +42 -0
- package/src/components/Praise/index.vue +102 -0
- package/src/components/QrCode.vue +44 -0
- package/src/components/linkDialog.vue +104 -0
- package/src/components/loginPanel.vue +92 -0
- package/src/constants/index.ts +83 -0
- package/src/env.d.ts +8 -0
- package/src/main.ts +19 -0
- package/src/pages/404/index.vue +59 -0
- package/src/pages/about/index.vue +152 -0
- package/src/pages/callme/index.vue +155 -0
- package/src/pages/dashboard/config/index.vue +264 -0
- package/src/pages/dashboard/files/index.vue +1152 -0
- package/src/pages/dashboard/index.vue +335 -0
- package/src/pages/dashboard/manage/config/index.vue +97 -0
- package/src/pages/dashboard/manage/index.vue +105 -0
- package/src/pages/dashboard/manage/overview/index.vue +488 -0
- package/src/pages/dashboard/manage/user/index.vue +679 -0
- package/src/pages/dashboard/manage/wish/index.vue +257 -0
- package/src/pages/dashboard/tasks/components/CategoryPanel.vue +208 -0
- package/src/pages/dashboard/tasks/components/CreateTask.vue +93 -0
- package/src/pages/dashboard/tasks/components/TaskInfo.vue +129 -0
- package/src/pages/dashboard/tasks/components/infoPanel/ddl.vue +96 -0
- package/src/pages/dashboard/tasks/components/infoPanel/file.vue +175 -0
- package/src/pages/dashboard/tasks/components/infoPanel/info.vue +477 -0
- package/src/pages/dashboard/tasks/components/infoPanel/people.vue +567 -0
- package/src/pages/dashboard/tasks/components/infoPanel/template.vue +146 -0
- package/src/pages/dashboard/tasks/components/infoPanel/tip.vue +55 -0
- package/src/pages/dashboard/tasks/components/infoPanel/tipInfo.vue +196 -0
- package/src/pages/dashboard/tasks/index.vue +302 -0
- package/src/pages/dashboard/tasks/public.ts +32 -0
- package/src/pages/disabled/index.vue +47 -0
- package/src/pages/feedback/index.vue +5 -0
- package/src/pages/home/index.vue +72 -0
- package/src/pages/login/index.vue +270 -0
- package/src/pages/register/index.vue +211 -0
- package/src/pages/reset/index.vue +186 -0
- package/src/pages/task/index.vue +897 -0
- package/src/pages/wish/index.vue +152 -0
- package/src/router/Interceptor/index.ts +112 -0
- package/src/router/index.ts +13 -0
- package/src/router/routes/index.ts +197 -0
- package/src/shims-vue.d.ts +6 -0
- package/src/store/index.ts +17 -0
- package/src/store/modules/category.ts +44 -0
- package/src/store/modules/public.ts +27 -0
- package/src/store/modules/task.ts +55 -0
- package/src/store/modules/user.ts +57 -0
- package/src/utils/elementUI.ts +8 -0
- package/src/utils/networkUtil.ts +236 -0
- package/src/utils/other.ts +25 -0
- package/src/utils/regExp.ts +11 -0
- package/src/utils/stringUtil.ts +242 -0
- package/tsconfig.json +24 -0
- package/vite.config.ts +55 -0
|
@@ -0,0 +1,683 @@
|
|
|
1
|
+
# 线上部署 - 使用宝塔面板(旧)
|
|
2
|
+
|
|
3
|
+
:::danger 此为旧版操作文档,供老朋友做一下使用参考
|
|
4
|
+
**此为旧版操作文档,供老朋友做一下使用参考**
|
|
5
|
+
:::
|
|
6
|
+
|
|
7
|
+
:::tip 推荐阅读
|
|
8
|
+
新的部署文档:[线上部署(New)](./online-new.md),步骤更加简洁,更新更方便
|
|
9
|
+
:::
|
|
10
|
+
|
|
11
|
+
:::danger !!!推荐使用`Linux`系服务器!!!
|
|
12
|
+
下面的所有操作,均在 `Linux` 上进行,如果机器是装的`windows server` 部分操作可能需要远程桌面进行
|
|
13
|
+
:::
|
|
14
|
+
|
|
15
|
+
**[宝塔面板官网](https://www.bt.cn/)**
|
|
16
|
+
|
|
17
|
+
## 1. 安装宝塔面板
|
|
18
|
+
宝塔面板介绍安装教程:https://www.bt.cn/
|
|
19
|
+
|
|
20
|
+
### 通过面板安装必要的软件
|
|
21
|
+
:::details 查看必备的**7**个软件列表
|
|
22
|
+
* Nginx
|
|
23
|
+
* PM2
|
|
24
|
+
* 数据库
|
|
25
|
+
* redis
|
|
26
|
+
* mysql
|
|
27
|
+
* MongoDB
|
|
28
|
+
* phpMyAdmin
|
|
29
|
+
* PHP
|
|
30
|
+
:::
|
|
31
|
+
|
|
32
|
+
通过宝塔面板提供的软件商店进行安装
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
安装完后,可以把常用的加至首页
|
|
37
|
+
|
|
38
|
+

|
|
39
|
+
|
|
40
|
+
## 2. 初始化运行环境
|
|
41
|
+
### 安装Node
|
|
42
|
+
|
|
43
|
+
使用PM2面板安装`Node`
|
|
44
|
+
|
|
45
|
+
:::tip 温馨提示
|
|
46
|
+
建议安装大于等于`14.19`版本的
|
|
47
|
+
:::
|
|
48
|
+
|
|
49
|
+

|
|
50
|
+
|
|
51
|
+
:::tip 温馨提示
|
|
52
|
+
此部分的`shell`指令无特殊说明,都是在宝塔面板的终端工具中运行
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
测试是否正常安装`Node.js`,终端工具运行如下指令
|
|
56
|
+
```sh
|
|
57
|
+
node -v
|
|
58
|
+
```
|
|
59
|
+
有如下显示表明安装成功
|
|
60
|
+
|
|
61
|
+

|
|
62
|
+
|
|
63
|
+
### 执行环境初始化脚本
|
|
64
|
+
|
|
65
|
+
:::tip 温馨提示
|
|
66
|
+
可重复执行,用于检查环境,不会重复安装已有库
|
|
67
|
+
:::
|
|
68
|
+
|
|
69
|
+
```shell
|
|
70
|
+
curl https://script.sugarat.top/shell/ep/init-env.sh | bash
|
|
71
|
+
```
|
|
72
|
+
自动完成`zx`,`node`,`nrm`,`镜像源配置`,`pnpm`等等等安装与环境检查
|
|
73
|
+
|
|
74
|
+

|
|
75
|
+
|
|
76
|
+
:::details 告诉我,这些库是干嘛的?
|
|
77
|
+
* [zx](https://github.com/google/zx): 谷歌出品的一个使用`JavaScript`,编写复杂`Shell`脚本的工具
|
|
78
|
+
* [node](https://nodejs.org/zh-cn/): `JavaScript` 服务端运行时
|
|
79
|
+
* [nrm](https://github.com/Pana/nrm): `npm` 镜像源切换工具
|
|
80
|
+
* [pnpm](https://pnpm.io/zh/): 快速的,节省磁盘空间的包管理工具
|
|
81
|
+
:::
|
|
82
|
+
|
|
83
|
+
:::details 我想自己一步步配置(不推荐)
|
|
84
|
+
### 设置镜像源
|
|
85
|
+
|
|
86
|
+
其中`npm`是随Node一起安装的包管理工具,通过切换到国内的镜像源,有助于加快安装速度
|
|
87
|
+
|
|
88
|
+
安装`nrm`(切换镜像源工具)
|
|
89
|
+
```shell
|
|
90
|
+
npm i -g nrm --registry=https://registry.npmmirror.com
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
查看可用源列表
|
|
94
|
+
```shell
|
|
95
|
+
nrm ls
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
切换`淘宝源`
|
|
99
|
+
```shell
|
|
100
|
+
nrm use taobao
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
验证是否切换成功
|
|
104
|
+
```shell
|
|
105
|
+
npm config get registry
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
结果是上述淘宝源即可
|
|
109
|
+
|
|
110
|
+
### 安装PNPM
|
|
111
|
+
#### 方式1
|
|
112
|
+
使用 `npm` 安装
|
|
113
|
+
|
|
114
|
+
```shell
|
|
115
|
+
npm install -g pnpm
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### 其它方式
|
|
119
|
+
参看 [pnpm官方中文文档](https://pnpm.io/zh/installation)
|
|
120
|
+
|
|
121
|
+
#### 验证是否安装成功
|
|
122
|
+
|
|
123
|
+
```shell
|
|
124
|
+
pnpm -v
|
|
125
|
+
```
|
|
126
|
+
:::
|
|
127
|
+
|
|
128
|
+
## 3. 创建网站
|
|
129
|
+
### 添加站点
|
|
130
|
+
点击`添加站点`
|
|
131
|
+
|
|
132
|
+

|
|
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
|
+

|
|
156
|
+
|
|
157
|
+
不开放对应端口的话,是无法通过外网进行访问的
|
|
158
|
+
|
|
159
|
+
:::
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### 执行自动化部署脚本
|
|
163
|
+
定位到网站所在目录,然后点击终端
|
|
164
|
+
|
|
165
|
+

|
|
166
|
+
|
|
167
|
+

|
|
168
|
+
|
|
169
|
+
执行下述指令
|
|
170
|
+
|
|
171
|
+
:::details 我要体验最新beta版
|
|
172
|
+
|
|
173
|
+
```shell
|
|
174
|
+
curl https://script.sugarat.top/shell/ep/deploy-client.sh | bash -s github release/beta
|
|
175
|
+
```
|
|
176
|
+
:::
|
|
177
|
+
:::tip
|
|
178
|
+
此后应用版本有新版本,更新操作也可使用此脚本进行自动更新
|
|
179
|
+
|
|
180
|
+
由于网络问题,如遇卡顿,可结束,重新执行
|
|
181
|
+
:::
|
|
182
|
+
|
|
183
|
+
```shell
|
|
184
|
+
curl https://script.sugarat.top/shell/ep/deploy-client.sh | bash -s github
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
:::tip
|
|
188
|
+
如果很长时间卡在Git,请换用下面的脚本,从`gitee`拉取代码
|
|
189
|
+
```shell
|
|
190
|
+
curl https://script.sugarat.top/shell/ep/deploy-client.sh | bash -s gitee
|
|
191
|
+
```
|
|
192
|
+
:::
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
演示视频如下
|
|
196
|
+
|
|
197
|
+
<video src="https://img.cdn.sugarat.top/mdImg/MTY1NjM0MDcwMjIyNA==deploy-client.mp4" preload controls="controls">
|
|
198
|
+
您的浏览器不支持 video 标签。
|
|
199
|
+
</video>
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
:::details 我的脚本执行失败,怎么解决?
|
|
203
|
+
* 如果由于目录冲突,导致脚本执行失败,请手动删除`dist`与`easypicker2-client` 目录
|
|
204
|
+
* 其它问题,[加反馈群](./../author.md)或者[联系作者](./../author.md)沟通
|
|
205
|
+
:::
|
|
206
|
+
|
|
207
|
+
:::details 我想手动一步步配置(不推荐)
|
|
208
|
+
|
|
209
|
+
### 构建产物
|
|
210
|
+
参考[本地部署-启动客户端](./local.md#_3-启动客户端)
|
|
211
|
+
|
|
212
|
+
在完成依赖安装后,执行`build`,构建产物
|
|
213
|
+
|
|
214
|
+
```shell
|
|
215
|
+
pnpm build
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+

|
|
219
|
+
|
|
220
|
+
此时构建产物,都在项目的`dist`目录中
|
|
221
|
+
|
|
222
|
+

|
|
223
|
+
|
|
224
|
+
### 上传产物
|
|
225
|
+
点击前往创建的目录
|
|
226
|
+
|
|
227
|
+

|
|
228
|
+
|
|
229
|
+
点击上传,将我们刚才构建生成的`dist`目录拖到上传面板
|
|
230
|
+
|
|
231
|
+

|
|
232
|
+
|
|
233
|
+
上传完成
|
|
234
|
+
|
|
235
|
+

|
|
236
|
+
|
|
237
|
+
:::
|
|
238
|
+
|
|
239
|
+
### 修改网站访问目录
|
|
240
|
+
修改访问目录为 `dist`
|
|
241
|
+
|
|
242
|
+

|
|
243
|
+
|
|
244
|
+
访问 https://ep.test.sugarat.top 测试,就看到咱们的前端应用了
|
|
245
|
+
|
|
246
|
+
此时访问可以看到,页面会有一个报错提示
|
|
247
|
+
|
|
248
|
+
那是因为我们还没有配置后端服务,后面会有配置的流程
|
|
249
|
+
|
|
250
|
+

|
|
251
|
+
|
|
252
|
+
### 添加配置防止路由404
|
|
253
|
+
在对应网站设置面板,点击`配置文件`,加入以下配置
|
|
254
|
+
|
|
255
|
+
```sh
|
|
256
|
+
# vue-router
|
|
257
|
+
location / {
|
|
258
|
+
try_files $uri $uri/ /index.html;
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+

|
|
263
|
+
|
|
264
|
+
### 开启HTTPS(可选)
|
|
265
|
+
为网站添加`SSL`证书
|
|
266
|
+
|
|
267
|
+

|
|
268
|
+
|
|
269
|
+
:::tip 温馨提示
|
|
270
|
+
宝塔提供了免费SSL证书点击申请即可,收集的信息自己一顿瞎填就行
|
|
271
|
+
|
|
272
|
+
申请完然后点击对应证书的部署按钮即可
|
|
273
|
+
|
|
274
|
+
部署完成后,可以点击右上角开启`强制HTTPS`,访问`HTTP`将会强制跳转到`HTTPS`
|
|
275
|
+
:::
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
## 4. 创建MySQL数据库
|
|
279
|
+
### 新增数据库
|
|
280
|
+

|
|
281
|
+
|
|
282
|
+
在数据库面板,点击添加数据库
|
|
283
|
+
|
|
284
|
+

|
|
285
|
+
|
|
286
|
+
:::warning 注意事项!!!
|
|
287
|
+
* **密码推荐使用随机的,输入数据库名字即可(账号默认和数据库名一致)**
|
|
288
|
+
* **数据库名记得小写**
|
|
289
|
+
:::
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
### 自动创建表数据
|
|
293
|
+
执行如下脚本
|
|
294
|
+
```sh
|
|
295
|
+
curl https://script.sugarat.top/shell/ep/init-db.sh | bash -s 数据库名 账号 数据库密码
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
例如下图中示例
|
|
299
|
+
```sh
|
|
300
|
+
curl https://script.sugarat.top/shell/ep/init-db.sh | bash -s ep-shell-test ep-shell-test ep-shell-test
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+

|
|
304
|
+
|
|
305
|
+
这样`6`张表,就直接初始化完成,比手动执行方便得多
|
|
306
|
+
|
|
307
|
+
:::details 我想手动创建(不推荐)
|
|
308
|
+
|
|
309
|
+
### 导入表结构
|
|
310
|
+
|
|
311
|
+
管理创建的数据库
|
|
312
|
+
|
|
313
|
+

|
|
314
|
+
|
|
315
|
+
跳转到`phpMyAdmin`面板,选择导入
|
|
316
|
+
|
|
317
|
+

|
|
318
|
+
|
|
319
|
+
选择服务端项目中 [docs/sql/auto_create.sql](https://github.com/ATQQ/easypicker2-server/blob/master/docs/sql/auto_create.sql) 进行上传
|
|
320
|
+
|
|
321
|
+

|
|
322
|
+
|
|
323
|
+
选择文件后点击执行
|
|
324
|
+
|
|
325
|
+

|
|
326
|
+
|
|
327
|
+
再次来到结构面板,即可看到完成了 6 张表的创建
|
|
328
|
+
|
|
329
|
+

|
|
330
|
+
|
|
331
|
+
:::
|
|
332
|
+
|
|
333
|
+
## 5. 部署后端服务
|
|
334
|
+
|
|
335
|
+
### 代码部署
|
|
336
|
+
定位到网站所在目录,然后点击终端,执行下述指令
|
|
337
|
+
|
|
338
|
+

|
|
339
|
+
|
|
340
|
+
:::details 我要体验最新beta版
|
|
341
|
+
|
|
342
|
+
```shell
|
|
343
|
+
curl https://script.sugarat.top/shell/ep/deploy-server.sh | bash -s github release/beta
|
|
344
|
+
```
|
|
345
|
+
:::
|
|
346
|
+
:::tip
|
|
347
|
+
此后应用版本有新版本,更新操作也可使用此脚本进行自动更新
|
|
348
|
+
:::
|
|
349
|
+
|
|
350
|
+
```shell
|
|
351
|
+
curl https://script.sugarat.top/shell/ep/deploy-server.sh | bash -s github
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
:::tip
|
|
355
|
+
如果很长时间卡在Git,请换用下面的脚本,从`gitee`拉取代码
|
|
356
|
+
```shell
|
|
357
|
+
curl https://script.sugarat.top/shell/ep/deploy-server.sh | bash -s gitee
|
|
358
|
+
```
|
|
359
|
+
:::
|
|
360
|
+
|
|
361
|
+
演示视频如下
|
|
362
|
+
|
|
363
|
+
<video src="https://img.cdn.sugarat.top/mdImg/MTY1NjM5NDEzNDQ1MQ==deploy-serveer.mp4" preload controls="controls">
|
|
364
|
+
您的浏览器不支持 video 标签。
|
|
365
|
+
</video>
|
|
366
|
+
|
|
367
|
+
:::warning
|
|
368
|
+
如果由于目录冲突,导致脚本执行失败,请手动删除`easypicker2-server` 目录后重试
|
|
369
|
+
:::
|
|
370
|
+
|
|
371
|
+
:::tip 应用版本 ≥ v2.1.9 可直接跳过本节后续内容,直接快进到`启动服务`步骤
|
|
372
|
+
:::
|
|
373
|
+
|
|
374
|
+
:::details 如果应用版本 < v2.1.9,需要手动修改.env.local配置文件
|
|
375
|
+
进入`easypicker2-server`目录双击 `.env.local` 文件进行修改
|
|
376
|
+
|
|
377
|
+
如果不存在,手动创建`.env.local`文件即可,内容格式同`.env`文件
|
|
378
|
+
|
|
379
|
+

|
|
380
|
+
|
|
381
|
+
:::tip 温馨提示
|
|
382
|
+
每个变量的释义参看源码中的 [src/types/env.d.ts](https://github.com/ATQQ/easypicker2-server/blob/master/src/types/env.d.ts)
|
|
383
|
+
:::
|
|
384
|
+
|
|
385
|
+
:::details 手动修改 .env.local 我需要关心的几个变量
|
|
386
|
+
* 服务相关
|
|
387
|
+
* SERVER_PORT: 服务启动的端口,默认3000,无特殊需求可以不修改
|
|
388
|
+
* MySql相关
|
|
389
|
+
* MYSQL_DB_NAME: 数据库名
|
|
390
|
+
* MYSQL_DB_USER: 账号
|
|
391
|
+
* MYSQL_DB_PWD: 密码
|
|
392
|
+
* MongoDB相关
|
|
393
|
+
* MONGO_DB_NAME: 数据库名(随便使用小写字母组合)
|
|
394
|
+
* 例如:`ep-prod`,`my-ep-db`
|
|
395
|
+
* 七牛云相关:OSS - 文件存储,上传/下载文件依赖其提供服务
|
|
396
|
+
* 腾讯云相关:短信服务,不接入短信不用配
|
|
397
|
+
:::
|
|
398
|
+
|
|
399
|
+
:::details 从哪获取这些变量?
|
|
400
|
+
#### MySQL 相关
|
|
401
|
+
|
|
402
|
+
MySQL 的账号密码在数据库面板获取,即前面创建的数据库账号密码
|
|
403
|
+
|
|
404
|
+
#### 服务占用端口
|
|
405
|
+
|
|
406
|
+
默认启动监听端口为3000,如与其它服务有冲突可以修改`SERVER_PORT`为其它值(推荐 3000 => 65535),服务启动会自动避免冲突,如`3000`已经占用,则会使用`3001`,以此类推
|
|
407
|
+
|
|
408
|
+
#### 七牛云相关配置
|
|
409
|
+
|
|
410
|
+
参考[七牛云OSS服务创建](./qiniu.md)文章,获取七牛云相关的几个环境变量
|
|
411
|
+
:::
|
|
412
|
+
|
|
413
|
+
到此准备工作算完成了,接下来启动我们的后端服务即可
|
|
414
|
+
|
|
415
|
+
### 启动服务
|
|
416
|
+
进入`easypicker2-server` 目录执行如下脚本即可
|
|
417
|
+
|
|
418
|
+
```sh
|
|
419
|
+
curl https://script.sugarat.top/shell/ep/run-server.sh | bash -s ep-server
|
|
420
|
+
```
|
|
421
|
+
其中 `ep-server`,可以换成自己的服务名(主要用于服务的管理)
|
|
422
|
+
|
|
423
|
+

|
|
424
|
+
|
|
425
|
+
### 查看服务日志
|
|
426
|
+
```sh
|
|
427
|
+
pm2 logs ep-server
|
|
428
|
+
```
|
|
429
|
+
在服务日志里,可以看到服务监听的端口,和运行打印的log日志情况
|
|
430
|
+
|
|
431
|
+

|
|
432
|
+
|
|
433
|
+
在应用版本 `> v2.1.8`,还可以看到一个服务管理面板的账号与密码,用于后续随时修改服务的配置信息
|
|
434
|
+
|
|
435
|
+
:::warning 拿小本本记下这个账号密码后面会用到!!!
|
|
436
|
+
拿小本本记下这个账号密码后面会用到 !!!
|
|
437
|
+
|
|
438
|
+
拿小本本记下这个账号密码后面会用到 !!!
|
|
439
|
+
:::
|
|
440
|
+
|
|
441
|
+

|
|
442
|
+
|
|
443
|
+
后续也可以在`easypicker2-server`目录下执行如下脚本获取
|
|
444
|
+
```sh
|
|
445
|
+
curl https://script.sugarat.top/js/ep/user-config.js | node - server
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+

|
|
449
|
+
|
|
450
|
+
:::tip 温馨提示
|
|
451
|
+
后续 如果代码有更新,只需要重新进行`代码部署`和`启动服务`这个步骤即可,即执行**2**行脚本
|
|
452
|
+
:::
|
|
453
|
+
|
|
454
|
+
:::details 我想手动一步步配置(不推荐)
|
|
455
|
+
### 本地构建源码
|
|
456
|
+
参照[本地启动-后端服务](./local.md#_5-启动后端服务),进行依赖安装和构建
|
|
457
|
+
|
|
458
|
+
此部分是在本地项目中进行
|
|
459
|
+
```shell
|
|
460
|
+
pnpm install
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
```shell
|
|
464
|
+
pnpm build
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+

|
|
468
|
+
|
|
469
|
+
### 上传构建产物
|
|
470
|
+
咱们再上面创建网站的目录下,创建一个`server`目录
|
|
471
|
+
|
|
472
|
+

|
|
473
|
+
|
|
474
|
+
进入这个目录,上传我们的产物以及一些配置文件(共4个文件)
|
|
475
|
+
|
|
476
|
+

|
|
477
|
+
|
|
478
|
+
### 安装依赖
|
|
479
|
+
在当前目录下打开宝塔终端工具执行
|
|
480
|
+
|
|
481
|
+

|
|
482
|
+
```shell
|
|
483
|
+
pnpm install
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
### 修改环境变量
|
|
487
|
+
双击 `.env` 文件进行修改
|
|
488
|
+
|
|
489
|
+

|
|
490
|
+
|
|
491
|
+
每个变量的释义参看源码中的 [src/types/env.d.ts](https://github.com/ATQQ/easypicker2-server/blob/master/src/types/env.d.ts)
|
|
492
|
+
|
|
493
|
+
通常情况下只需要关心一下
|
|
494
|
+
* 服务相关
|
|
495
|
+
* SERVER_PORT: 服务启动的端口,默认3000,无特殊需求可以不修改
|
|
496
|
+
* MySql相关
|
|
497
|
+
* MYSQL_DB_NAME: 数据库名
|
|
498
|
+
* MYSQL_DB_USER: 账号
|
|
499
|
+
* MYSQL_DB_PWD: 密码
|
|
500
|
+
* 七牛云相关:OSS - 文件存储,上传/下载文件依赖其提供服务
|
|
501
|
+
* 腾讯云相关:短信服务,不接入短信不用配
|
|
502
|
+
|
|
503
|
+
#### MySQL 相关
|
|
504
|
+
MySQL 的账号密码在数据库面板获取,即前面创建的数据库账号密码
|
|
505
|
+
|
|
506
|
+
#### 监听端口
|
|
507
|
+
默认启动监听端口为3000,如与其它服务有冲突可以修改`SERVER_PORT`为其它值(推荐 3000 => 65535)
|
|
508
|
+
|
|
509
|
+
#### 七牛云
|
|
510
|
+
参考[七牛云OSS服务创建](./qiniu.md)部分的文章,获取七牛云相关的几个环境变量
|
|
511
|
+
|
|
512
|
+
到此准备工作算完成了,接下来启动我们的后端服务即可
|
|
513
|
+
|
|
514
|
+
### 启动服务
|
|
515
|
+
|
|
516
|
+
在PM2面板点击添加项目
|
|
517
|
+
|
|
518
|
+

|
|
519
|
+
|
|
520
|
+
* 启动文件输入 `npm`
|
|
521
|
+
* 运行目录选择 前面创建的 `server`所在目录
|
|
522
|
+
* 项目名称随意,自己能辨别即可
|
|
523
|
+
|
|
524
|
+
然后点击启动即可
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
### 查看运行日志
|
|
528
|
+
点击对应服务的 运行/错误 查看相关日志,从面板能看到最终服务启动所在的端口
|
|
529
|
+
|
|
530
|
+

|
|
531
|
+
|
|
532
|
+
到此服务端启动算完成了
|
|
533
|
+
|
|
534
|
+
只差最后一步了
|
|
535
|
+
|
|
536
|
+
:::
|
|
537
|
+
## 6. 配置反向代理
|
|
538
|
+
|
|
539
|
+
打开网站的设置面板,点击添加反向代理,勾选`高级功能`
|
|
540
|
+
|
|
541
|
+

|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
:::danger 重要提示
|
|
545
|
+
代理名称随便填
|
|
546
|
+
* 代理目录`/api/`
|
|
547
|
+
* 目标URL填`自己的后端服务地址`
|
|
548
|
+
* 内容替换`/api`,第二个留空
|
|
549
|
+
:::
|
|
550
|
+
|
|
551
|
+
::: details 如果提示XX已存在,无法添加,请戳这里查看解法
|
|
552
|
+
|
|
553
|
+
进入此目录找到反向代理的配置文件
|
|
554
|
+
```sh
|
|
555
|
+
/www/server/panel/vhost/nginx/proxy/你的域名
|
|
556
|
+
```
|
|
557
|
+

|
|
558
|
+
|
|
559
|
+
示例配置
|
|
560
|
+
```sh
|
|
561
|
+
#PROXY-START/api
|
|
562
|
+
|
|
563
|
+
location ^~ /api/
|
|
564
|
+
{
|
|
565
|
+
# 此处的服务端口改成你的服务地址,可能3000也可能是3001
|
|
566
|
+
# 此处的服务端口改成你的服务地址,通过 pm2 logs指令 查看服务启动监听的端口
|
|
567
|
+
# 此处的服务端口改成你的服务地址
|
|
568
|
+
proxy_pass http://localhost:3000/;
|
|
569
|
+
proxy_set_header Host localhost;
|
|
570
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
571
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
572
|
+
proxy_set_header REMOTE-HOST $remote_addr;
|
|
573
|
+
|
|
574
|
+
add_header X-Cache $upstream_cache_status;
|
|
575
|
+
|
|
576
|
+
#Set Nginx Cache
|
|
577
|
+
|
|
578
|
+
#proxy_set_header Accept-Encoding "";
|
|
579
|
+
sub_filter "/api" "";
|
|
580
|
+
sub_filter_once off;
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
set $static_file6DkW7ygY 0;
|
|
584
|
+
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
|
|
585
|
+
{
|
|
586
|
+
set $static_file6DkW7ygY 1;
|
|
587
|
+
expires 12h;
|
|
588
|
+
}
|
|
589
|
+
if ( $static_file6DkW7ygY = 0 )
|
|
590
|
+
{
|
|
591
|
+
add_header Cache-Control no-cache;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
#PROXY-END/api
|
|
595
|
+
```
|
|
596
|
+
:::
|
|
597
|
+
|
|
598
|
+
完成反向代理的配置后,我们就可以用上面提供的管理账号和密码进行服务相关配置的更新了
|
|
599
|
+
|
|
600
|
+
## 7. 最后更新配置
|
|
601
|
+
1. 访问我们的网站进行登录
|
|
602
|
+
2. 输入上面拿到的账号密码
|
|
603
|
+
3. 在新面板中进行相应配置更新
|
|
604
|
+
|
|
605
|
+

|
|
606
|
+
|
|
607
|
+
:::details 标红的为必要更新的字段
|
|
608
|
+
* MySQL
|
|
609
|
+
* 数据库名
|
|
610
|
+
* 用户名
|
|
611
|
+
* 密码
|
|
612
|
+
* MongoDB
|
|
613
|
+
* 数据库名:例如 ep-prod,ep-test,ep-log
|
|
614
|
+
* 七牛云
|
|
615
|
+
* AccessKey
|
|
616
|
+
* SecretKey
|
|
617
|
+
* 存储空间名
|
|
618
|
+
* 绑定的域名
|
|
619
|
+
* 存储区域
|
|
620
|
+
:::
|
|
621
|
+
|
|
622
|
+
:::details 从哪获取这些变量?
|
|
623
|
+
#### MySQL 相关
|
|
624
|
+
|
|
625
|
+
MySQL 的账号密码在数据库面板获取,即前面创建的数据库账号密码
|
|
626
|
+
|
|
627
|
+
#### MongoDB
|
|
628
|
+
这里只需要填入数据库名,格式 `小写+连字符`
|
|
629
|
+
|
|
630
|
+
例如 `ep-prod`, `ep-test`, `ep-log`
|
|
631
|
+
#### 七牛云相关配置
|
|
632
|
+
|
|
633
|
+
参考[七牛云OSS服务创建](./qiniu.md)文章,获取七牛云相关的几个环境变量
|
|
634
|
+
:::
|
|
635
|
+
|
|
636
|
+

|
|
637
|
+
|
|
638
|
+
更新完立马生效,不需要再重新启动后端服务了
|
|
639
|
+
## 99. 其余功能
|
|
640
|
+
### 开启内容压缩
|
|
641
|
+
在网站设置面板,点击反向代理,配置文件
|
|
642
|
+
|
|
643
|
+
添加`#`注释或者删掉 `proxy_set_header Accept-Encoding "";`
|
|
644
|
+
|
|
645
|
+

|
|
646
|
+
|
|
647
|
+
这样返回的内容会进行压缩,响应速度会有所提升
|
|
648
|
+
|
|
649
|
+

|
|
650
|
+
|
|
651
|
+
### 配置管理员权限
|
|
652
|
+
|
|
653
|
+
账号加了管理员权限后,就能看到后台管理的入口
|
|
654
|
+
* 查看访问日志
|
|
655
|
+
* 管理用户账号
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
| 添加前 | 添加后 |
|
|
659
|
+
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
|
660
|
+
|  |  |
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
打开对应的数据库
|
|
664
|
+
|
|
665
|
+

|
|
666
|
+
|
|
667
|
+
选择`user`表
|
|
668
|
+
|
|
669
|
+

|
|
670
|
+
|
|
671
|
+
修改账号的`power`字段值为`0`
|
|
672
|
+
|
|
673
|
+

|
|
674
|
+
|
|
675
|
+
然后重新登录账号,就能看到入口了
|
|
676
|
+
|
|
677
|
+

|
|
678
|
+
|
|
679
|
+
大功告成
|
|
680
|
+
|
|
681
|
+
有其它问题可以小群交流,方便可以加入及时交流沟通问题: 685446473
|
|
682
|
+
|
|
683
|
+

|