Skip to content

Commit 3b5c96d

Browse files
authored
feat:对象存储支持配置Cloudflare R2 (#1849)
1 parent c3c049b commit 3b5c96d

File tree

1 file changed

+73
-50
lines changed

1 file changed

+73
-50
lines changed

web/src/view/systemTools/system/system.vue

Lines changed: 73 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,39 @@
11
<template>
22
<div class="system">
33
<el-form
4-
ref="form"
5-
:model="config"
6-
label-width="240px"
4+
ref="form"
5+
:model="config"
6+
label-width="240px"
77
>
88
<!-- System start -->
99
<el-collapse v-model="activeNames">
1010
<el-collapse-item
11-
title="系统配置"
12-
name="1"
11+
title="系统配置"
12+
name="1"
1313
>
1414
<el-form-item label="端口值">
1515
<el-input v-model.number="config.system.addr" />
1616
</el-form-item>
1717
<el-form-item label="数据库类型">
1818
<el-select
19-
v-model="config.system['db-type']"
20-
style="width:100%"
19+
v-model="config.system['db-type']"
20+
style="width:100%"
2121
>
2222
<el-option value="mysql" />
2323
<el-option value="pgsql" />
2424
</el-select>
2525
</el-form-item>
2626
<el-form-item label="Oss类型">
2727
<el-select
28-
v-model="config.system['oss-type']"
29-
style="width:100%"
28+
v-model="config.system['oss-type']"
29+
style="width:100%"
3030
>
3131
<el-option value="local" />
3232
<el-option value="qiniu" />
3333
<el-option value="tencent-cos" />
3434
<el-option value="aliyun-oss" />
3535
<el-option value="huawei-obs" />
36+
<el-option value="cloudflare-r2" />
3637
</el-select>
3738
</el-form-item>
3839
<el-form-item label="多点登录拦截">
@@ -48,17 +49,17 @@
4849
<el-input-number v-model.number="config.system['iplimit-time']" />
4950
</el-form-item>
5051
<el-tooltip
51-
content="请修改完成后,注意一并修改前端env环境下的VITE_BASE_PATH"
52-
placement="top-start"
52+
content="请修改完成后,注意一并修改前端env环境下的VITE_BASE_PATH"
53+
placement="top-start"
5354
>
5455
<el-form-item label="全局路由前缀">
5556
<el-input v-model="config.system['router-prefix']" />
5657
</el-form-item>
5758
</el-tooltip>
5859
</el-collapse-item>
5960
<el-collapse-item
60-
title="jwt签名"
61-
name="2"
61+
title="jwt签名"
62+
name="2"
6263
>
6364
<el-form-item label="jwt签名">
6465
<el-input v-model="config.jwt['signing-key']" />
@@ -74,8 +75,8 @@
7475
</el-form-item>
7576
</el-collapse-item>
7677
<el-collapse-item
77-
title="Zap日志配置"
78-
name="3"
78+
title="Zap日志配置"
79+
name="3"
7980
>
8081
<el-form-item label="级别">
8182
<el-input v-model.number="config.zap.level" />
@@ -106,8 +107,8 @@
106107
</el-form-item>
107108
</el-collapse-item>
108109
<el-collapse-item
109-
title="Redis admin数据库配置"
110-
name="4"
110+
title="Redis admin数据库配置"
111+
name="4"
111112
>
112113
<el-form-item label="">
113114
<el-input v-model.number="config.redis.db" />
@@ -121,8 +122,8 @@
121122
</el-collapse-item>
122123

123124
<el-collapse-item
124-
title="Mongo 数据库配置"
125-
name="14"
125+
title="Mongo 数据库配置"
126+
name="14"
126127
>
127128
<el-form-item label="collection name(表名,一般不写)">
128129
<el-input v-model="config.mongo.coll" />
@@ -156,29 +157,29 @@
156157
</el-form-item>
157158
<el-form-item label="hosts">
158159
<template v-for="(item,k) in config.mongo.hosts">
159-
<div
160-
v-for="(_,k2) in item"
161-
:key="k2"
162-
>
163-
<el-form-item
164-
:key="k+k2"
165-
:label="k2"
160+
<div
161+
v-for="(_,k2) in item"
162+
:key="k2"
166163
>
167-
<el-input v-model="item[k2]" />
168-
</el-form-item>
169-
</div>
170-
</template>
164+
<el-form-item
165+
:key="k+k2"
166+
:label="k2"
167+
>
168+
<el-input v-model="item[k2]" />
169+
</el-form-item>
170+
</div>
171+
</template>
171172
</el-form-item>
172173
</el-collapse-item>
173174

174175
<el-collapse-item
175-
title="邮箱配置"
176-
name="5"
176+
title="邮箱配置"
177+
name="5"
177178
>
178179
<el-form-item label="接收者邮箱">
179180
<el-input
180-
v-model="config.email.to"
181-
placeholder="可多个,以逗号分隔"
181+
v-model="config.email.to"
182+
placeholder="可多个,以逗号分隔"
182183
/>
183184
</el-form-item>
184185
<el-form-item label="端口">
@@ -201,8 +202,8 @@
201202
</el-form-item>
202203
</el-collapse-item>
203204
<el-collapse-item
204-
title="验证码配置"
205-
name="7"
205+
title="验证码配置"
206+
name="7"
206207
>
207208
<el-form-item label="字符长度">
208209
<el-input v-model.number="config.captcha['key-long']" />
@@ -215,8 +216,8 @@
215216
</el-form-item>
216217
</el-collapse-item>
217218
<el-collapse-item
218-
title="数据库配置"
219-
name="9"
219+
title="数据库配置"
220+
name="9"
220221
>
221222
<template v-if="config.system['db-type'] === 'mysql'">
222223
<el-form-item label="用户名">
@@ -291,8 +292,8 @@
291292
</el-collapse-item>
292293

293294
<el-collapse-item
294-
title="oss配置"
295-
name="10"
295+
title="oss配置"
296+
name="10"
296297
>
297298
<template v-if="config.system['oss-type'] === 'local'">
298299
<h2>本地文件配置</h2>
@@ -384,29 +385,50 @@
384385
<el-input v-model="config['hua-wei-obs']['secret-key']" />
385386
</el-form-item>
386387
</template>
388+
<template v-if="config.system['oss-type'] === 'cloudflare-r2'">
389+
<h2>Cloudflare R2上传配置</h2>
390+
<el-form-item label="路径">
391+
<el-input v-model="config['cloudflare-r2'].path" />
392+
</el-form-item>
393+
<el-form-item label="存储桶名称">
394+
<el-input v-model="config['cloudflare-r2'].bucket" />
395+
</el-form-item>
396+
<el-form-item label="Base URL">
397+
<el-input v-model="config['cloudflare-r2']['base-url']" />
398+
</el-form-item>
399+
<el-form-item label="Account ID">
400+
<el-input v-model="config['cloudflare-r2']['account-id']" />
401+
</el-form-item>
402+
<el-form-item label="Access Key ID">
403+
<el-input v-model="config['cloudflare-r2']['access-key-id']" />
404+
</el-form-item>
405+
<el-form-item label="Secret Access Key">
406+
<el-input v-model="config['cloudflare-r2']['secret-access-key']" />
407+
</el-form-item>
408+
</template>
387409

388410
</el-collapse-item>
389411

390412
<el-collapse-item
391-
title="Excel上传配置"
392-
name="11"
413+
title="Excel上传配置"
414+
name="11"
393415
>
394416
<el-form-item label="合成目标地址">
395417
<el-input v-model="config.excel.dir" />
396418
</el-form-item>
397419
</el-collapse-item>
398420

399421
<el-collapse-item
400-
title="自动化代码配置"
401-
name="12"
422+
title="自动化代码配置"
423+
name="12"
402424
>
403425
<el-form-item label="是否自动重启(linux)">
404426
<el-checkbox v-model="config.autocode['transfer-restart']" />
405427
</el-form-item>
406428
<el-form-item label="root(项目根路径)">
407429
<el-input
408-
v-model="config.autocode.root"
409-
disabled
430+
v-model="config.autocode.root"
431+
disabled
410432
/>
411433
</el-form-item>
412434
<el-form-item label="Server(后端代码地址)">
@@ -447,12 +469,12 @@
447469
</el-form>
448470
<div class="mt-4">
449471
<el-button
450-
type="primary"
451-
@click="update"
472+
type="primary"
473+
@click="update"
452474
>立即更新</el-button>
453475
<el-button
454-
type="primary"
455-
@click="reload"
476+
type="primary"
477+
@click="reload"
456478
>重启服务(开发中)</el-button>
457479
</div>
458480
</div>
@@ -502,6 +524,7 @@ const config = ref({
502524
'tencent-cos': {},
503525
'aliyun-oss': {},
504526
'hua-wei-obs': {},
527+
'cloudflare-r2': {},
505528
captcha: {},
506529
zap: {},
507530
local: {},

0 commit comments

Comments
 (0)