mirror of
https://github.com/Kuingsmile/PicList.git
synced 2026-06-09 09:39:47 +08:00
✨ Feature: add authoration key for built-in server
This commit is contained in:
@@ -32,6 +32,18 @@ router.post('/upload', async ({
|
||||
}): Promise<void> => {
|
||||
try {
|
||||
const picbed = urlparams?.get('picbed')
|
||||
const passedKey = urlparams?.get('key')
|
||||
const serverKey = picgo.getConfig('settings.serverKey') || ''
|
||||
if (serverKey && passedKey !== serverKey) {
|
||||
handleResponse({
|
||||
response,
|
||||
body: {
|
||||
success: false,
|
||||
message: 'server key is not correct'
|
||||
}
|
||||
})
|
||||
return
|
||||
}
|
||||
let currentPicBedType = ''
|
||||
let currentPicBedConfig = {} as IStringKeyMap
|
||||
let currentPicBedConfigId = ''
|
||||
|
||||
@@ -1055,6 +1055,16 @@
|
||||
:placeholder="$T('SETTINGS_TIP_PLACEHOLDER_PORT')"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$T('SETTINGS_SET_SERVER_KEY')"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.serverKey"
|
||||
type="input"
|
||||
:placeholder="$T('SETTINGS_TIP_PLACEHOLDER_KEY')"
|
||||
@change="handleServerKeyChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
@@ -1691,7 +1701,8 @@ const form = reactive<ISettingForm>({
|
||||
shortUrlServer: 'c1n',
|
||||
yourlsDomain: '',
|
||||
yourlsSignature: '',
|
||||
deleteLocalFile: false
|
||||
deleteLocalFile: false,
|
||||
serverKey: ''
|
||||
})
|
||||
|
||||
const languageList = i18nManager.languageList.map(item => ({
|
||||
@@ -1848,6 +1859,7 @@ async function initData () {
|
||||
form.yourlsDomain = settings.yourlsDomain || ''
|
||||
form.yourlsSignature = settings.yourlsSignature || ''
|
||||
form.deleteLocalFile = settings.deleteLocalFile || false
|
||||
form.serverKey = settings.serverKey || ''
|
||||
currentLanguage.value = settings.language ?? 'zh-CN'
|
||||
currentStartMode.value = settings.startMode || 'quiet'
|
||||
customLink.value = settings.customLink || ''
|
||||
@@ -2100,6 +2112,10 @@ function cancelCheckVersion () {
|
||||
checkUpdateVisible.value = false
|
||||
}
|
||||
|
||||
function handleServerKeyChange (val: string) {
|
||||
saveConfig('settings.serverKey', val)
|
||||
}
|
||||
|
||||
function handleUploadNotification (val: ICheckBoxValueType) {
|
||||
saveConfig({
|
||||
'settings.uploadNotification': val
|
||||
|
||||
2
src/universal/types/i18n.d.ts
vendored
2
src/universal/types/i18n.d.ts
vendored
@@ -195,8 +195,10 @@ interface ILocales {
|
||||
SETTINGS_ENABLE_SERVER: string
|
||||
SETTINGS_SET_SERVER_HOST: string
|
||||
SETTINGS_SET_SERVER_PORT: string
|
||||
SETTINGS_SET_SERVER_KEY: string
|
||||
SETTINGS_TIP_PLACEHOLDER_HOST: string
|
||||
SETTINGS_TIP_PLACEHOLDER_PORT: string
|
||||
SETTINGS_TIP_PLACEHOLDER_KEY: string
|
||||
SETTINGS_LOG_LEVEL_ALL: string
|
||||
SETTINGS_LOG_LEVEL_SUCCESS: string
|
||||
SETTINGS_LOG_LEVEL_ERROR: string
|
||||
|
||||
3
src/universal/types/view.d.ts
vendored
3
src/universal/types/view.d.ts
vendored
@@ -27,7 +27,8 @@ interface ISettingForm {
|
||||
shortUrlServer: string,
|
||||
yourlsDomain: string,
|
||||
yourlsSignature: string,
|
||||
deleteLocalFile: boolean
|
||||
deleteLocalFile: boolean,
|
||||
serverKey: string
|
||||
}
|
||||
|
||||
interface IShortKeyMap {
|
||||
|
||||
Reference in New Issue
Block a user