Skip to content

Commit 49e7890

Browse files
committed
update server setting
1 parent bf4aafc commit 49e7890

2 files changed

Lines changed: 57 additions & 13 deletions

File tree

src/assets/locales.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const message = {
5353
faviconSetting: '网页图标',
5454
avatarSetting: '头像配置',
5555
domain: '域 名',
56-
repository: '仓 库',
56+
repository: '仓库名称',
5757
branch: '分 支',
5858
username: '仓库用户名',
5959
email: '邮 箱',
@@ -108,9 +108,9 @@ const message = {
108108
words: '字 数',
109109
readingTime: '阅读时间',
110110
version: '版本',
111-
token: '令牌',
111+
token: '令 牌',
112112
tokenUsername: '令牌用户名',
113-
platform: '平台',
113+
platform: '平 台',
114114
},
115115
zh_TW: {
116116
preview: '預 覽',
@@ -167,7 +167,7 @@ const message = {
167167
faviconSetting: '網頁圖標',
168168
avatarSetting: '頭像配置',
169169
domain: '域 名',
170-
repository: '倉 庫',
170+
repository: '倉庫名稱',
171171
branch: '分 支',
172172
username: '倉庫用戶名',
173173
email: '郵 箱',
@@ -222,9 +222,9 @@ const message = {
222222
words: '字 數',
223223
readingTime: '閱讀時間',
224224
version: '版本',
225-
token: '令牌',
225+
token: '令 牌',
226226
tokenUsername: '令牌用户名',
227-
platform: '平臺',
227+
platform: '平 臺',
228228
},
229229
en: {
230230
preview: 'Preview',
@@ -280,7 +280,7 @@ const message = {
280280
faviconSetting: 'Favicon Setting',
281281
avatarSetting: 'Avatar Setting',
282282
domain: 'Domain',
283-
repository: 'Repository',
283+
repository: 'Repository Name',
284284
branch: 'Branch',
285285
username: 'Branch Username',
286286
email: 'Email',

src/views/setting/includes/BasicSetting.vue

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@
99
</a-radio-group>
1010
</a-form-item>
1111
<a-form-item :label="$t('domain')" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
12-
<a-input v-model="form.domain" placeholder="http(s)://" />
12+
<a-input-group compact>
13+
<a-select v-model="protocol" style="width: 96px">
14+
<a-select-option value="https://">https://</a-select-option>
15+
<a-select-option value="http://">http://</a-select-option>
16+
</a-select>
17+
<a-input v-model="form.domain" placeholder="mydomain.com" style="width: calc(100% - 96px);" />
18+
</a-input-group>
1319
</a-form-item>
1420
<template v-if="['github', 'coding'].includes(form.platform)">
1521
<a-form-item :label="$t('repository')" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
@@ -46,12 +52,18 @@
4652
<a-form-item label="Username" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
4753
<a-input v-model="form.username" />
4854
</a-form-item>
49-
<a-form-item label="Password" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
55+
<a-form-item label="Connect Type" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false">
56+
<a-radio-group name="remoteType" v-model="remoteType">
57+
<a-radio value="password">Password</a-radio>
58+
<a-radio value="key">SSH Key</a-radio>
59+
</a-radio-group>
60+
</a-form-item>
61+
<a-form-item label="Password" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false" v-if="remoteType === 'password'">
5062
<a-input v-model="form.password" :type="passVisible ? '' : 'password'">
5163
<a-icon class="icon" slot="addonAfter" :type="passVisible ? 'eye-invisible' : 'eye'" @click="passVisible = !passVisible" />
5264
</a-input>
5365
</a-form-item>
54-
<a-form-item label="Private Key" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false" :help="$t('privateKeyTip')">
66+
<a-form-item label="Private Key Path" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false" :help="$t('privateKeyTip')" v-else>
5567
<a-input v-model="form.privateKey" />
5668
</a-form-item>
5769
<a-form-item label="Remote Path" :labelCol="formLayout.label" :wrapperCol="formLayout.wrapper" :colon="false" :help="$t('remotePathTip')">
@@ -93,6 +105,8 @@ export default class BasicSetting extends Vue {
93105
wrapper: { span: 12 },
94106
}
95107
108+
protocol = 'https://'
109+
96110
form: ISetting = {
97111
platform: 'github',
98112
domain: '',
@@ -110,6 +124,8 @@ export default class BasicSetting extends Vue {
110124
remotePath: '',
111125
}
112126
127+
remoteType = 'password'
128+
113129
get canSubmit() {
114130
const { form } = this
115131
const baseValid = form.domain
@@ -133,8 +149,20 @@ export default class BasicSetting extends Vue {
133149
const { form, site: { setting } } = this
134150
console.log('setting', setting)
135151
Object.keys(form).forEach((key: string) => {
136-
form[key] = setting[key]
152+
if (key === 'domain') {
153+
const protocolEndIndex = setting[key].indexOf('://')
154+
if (protocolEndIndex !== -1) {
155+
form[key] = setting[key].substring(protocolEndIndex + 3)
156+
this.protocol = setting[key].substring(0, protocolEndIndex + 3)
157+
}
158+
} else {
159+
form[key] = setting[key]
160+
}
137161
})
162+
163+
if (form.privateKey) {
164+
this.remoteType = 'key'
165+
}
138166
}
139167
140168
/**
@@ -153,7 +181,18 @@ export default class BasicSetting extends Vue {
153181
const formValid = this.checkFormValid()
154182
if (!formValid) { return false }
155183
156-
ipcRenderer.send('setting-save', this.form)
184+
const form = {
185+
...this.form,
186+
domain: `${this.protocol}${this.form.domain}`,
187+
}
188+
189+
if (this.remoteType === 'password') {
190+
form.privateKey = ''
191+
} else {
192+
form.password = ''
193+
}
194+
195+
ipcRenderer.send('setting-save', form)
157196
ipcRenderer.once('setting-saved', (event: IpcRendererEvent, result: any) => {
158197
this.$bus.$emit('site-reload')
159198
this.$message.success(this.$t('basicSettingSuccess'))
@@ -163,7 +202,12 @@ export default class BasicSetting extends Vue {
163202
}
164203
165204
async remoteDetect() {
166-
ipcRenderer.send('setting-save', this.form)
205+
const form = {
206+
...this.form,
207+
domain: `${this.protocol}${this.form.domain}`,
208+
}
209+
210+
ipcRenderer.send('setting-save', form)
167211
ipcRenderer.once('setting-saved', () => {
168212
ipcRenderer.send('app-site-reload')
169213
ipcRenderer.once('app-site-loaded', () => {

0 commit comments

Comments
 (0)