Feature(custom): add c1n token setting

This commit is contained in:
Kuingsmile 2024-03-01 15:02:34 +08:00
parent 2373c64ba6
commit 1fdc8fc79d
9 changed files with 31 additions and 9 deletions

View File

@ -245,6 +245,7 @@ SETTINGS_ENCODE_OUTPUT_URL: Encode Output(or Copyed) URL
SETTINGS_WATCH_CLIPBOARD: Watch clipboard when software start SETTINGS_WATCH_CLIPBOARD: Watch clipboard when software start
SETTINGS_SHORT_URL: Use short url SETTINGS_SHORT_URL: Use short url
SETTINGS_SHORT_URL_SERVER: Short url server SETTINGS_SHORT_URL_SERVER: Short url server
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS domain SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS domain
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: Delete local file after upload SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: Delete local file after upload

View File

@ -248,6 +248,7 @@ SETTINGS_ENCODE_OUTPUT_URL: 输出(复制) URL 时进行转义
SETTINGS_WATCH_CLIPBOARD: 软件启动时自动监听剪贴板上传 SETTINGS_WATCH_CLIPBOARD: 软件启动时自动监听剪贴板上传
SETTINGS_SHORT_URL: 使用短链接 SETTINGS_SHORT_URL: 使用短链接
SETTINGS_SHORT_URL_SERVER: 短链接服务 SETTINGS_SHORT_URL_SERVER: 短链接服务
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名 SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上传后删除本地文件 SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上传后删除本地文件

View File

@ -246,6 +246,7 @@ SETTINGS_ENCODE_OUTPUT_URL: 輸出(複製) URL 時進行轉義
SETTINGS_WATCH_CLIPBOARD: 軟體啟動時自動監聽剪貼簿上傳 SETTINGS_WATCH_CLIPBOARD: 軟體啟動時自動監聽剪貼簿上傳
SETTINGS_SHORT_URL: 使用短網址 SETTINGS_SHORT_URL: 使用短網址
SETTINGS_SHORT_URL_SERVER: 短網址服務 SETTINGS_SHORT_URL_SERVER: 短網址服務
SETTINGS_SHORT_URL_C1N_TOKEN: C1N Token
SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名 SETTINGS_SHORT_URL_YOURLS_DOMAIN: YOURLS域名
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature SETTINGS_SHORT_URL_YOURLS_SIGNATURE: YOURLS signature
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上傳後刪除本地檔案 SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: 上傳後刪除本地檔案

View File

@ -4,7 +4,6 @@ import { clipboard, Notification, dialog } from 'electron'
import { handleUrlEncode } from '~/universal/utils/common' import { handleUrlEncode } from '~/universal/utils/common'
import axios from 'axios' import axios from 'axios'
import FormData from 'form-data' import FormData from 'form-data'
import { C1 } from '#/utils/static'
import logger from '../apis/core/picgo/logger' import logger from '../apis/core/picgo/logger'
export const handleCopyUrl = (str: string): void => { export const handleCopyUrl = (str: string): void => {
@ -132,18 +131,22 @@ export const generateShortUrl = async (url: string) => {
if (server === 'c1n') { if (server === 'c1n') {
const form = new FormData() const form = new FormData()
form.append('url', url) form.append('url', url)
const C = Buffer.from(C1, 'base64').toString() const c1nToken = db.get('settings.c1nToken') || ''
if (!c1nToken) {
logger.warn('c1n token is not set')
return url
}
try { try {
const res = await axios.post(c1nApi, form, { const res = await axios.post(c1nApi, form, {
headers: { headers: {
token: C token: c1nToken
} }
}) })
if (res.status >= 200 && res.status < 300 && res.data?.code === 0) { if (res.status >= 200 && res.status < 300 && res.data?.code === 0) {
return res.data.data return res.data.data
} }
} catch (e: any) { } catch (e: any) {
console.log(e) logger.error(e)
} }
} else if (server === 'yourls') { } else if (server === 'yourls') {
let domain = db.get('settings.yourlsDomain') || '' let domain = db.get('settings.yourlsDomain') || ''
@ -161,7 +164,7 @@ export const generateShortUrl = async (url: string) => {
if (e.response.data.message.indexOf('already exists in database') !== -1) { if (e.response.data.message.indexOf('already exists in database') !== -1) {
return e.response.data.shorturl return e.response.data.shorturl
} }
console.log(e) logger.error(e)
} }
} else { } else {
logger.warn('Yourls server or signature is not set') logger.warn('Yourls server or signature is not set')

View File

@ -485,6 +485,18 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item
v-if="form.useShortUrl && form.shortUrlServer === 'c1n'"
:label="$T('SETTINGS_SHORT_URL_C1N_TOKEN')"
>
<el-input
v-model="form.c1nToken"
size="small"
style="width: 50%"
:placeholder="$T('SETTINGS_SHORT_URL_C1N_TOKEN')"
@change="handleC1nTokenChange"
/>
</el-form-item>
<el-form-item <el-form-item
v-if="form.useShortUrl && form.shortUrlServer === 'yourls'" v-if="form.useShortUrl && form.shortUrlServer === 'yourls'"
:label="$T('SETTINGS_SHORT_URL_YOURLS_DOMAIN')" :label="$T('SETTINGS_SHORT_URL_YOURLS_DOMAIN')"
@ -1836,6 +1848,7 @@ const form = reactive<ISettingForm>({
isAutoListenClipboard: false, isAutoListenClipboard: false,
useShortUrl: false, useShortUrl: false,
shortUrlServer: 'c1n', shortUrlServer: 'c1n',
c1nToken: '',
yourlsDomain: '', yourlsDomain: '',
yourlsSignature: '', yourlsSignature: '',
deleteLocalFile: false, deleteLocalFile: false,
@ -2001,6 +2014,7 @@ async function initData () {
form.isHideDock = settings.isHideDock || false form.isHideDock = settings.isHideDock || false
form.useShortUrl = settings.useShortUrl || false form.useShortUrl = settings.useShortUrl || false
form.shortUrlServer = settings.shortUrlServer || 'c1n' form.shortUrlServer = settings.shortUrlServer || 'c1n'
form.c1nToken = settings.c1nToken || ''
form.yourlsDomain = settings.yourlsDomain || '' form.yourlsDomain = settings.yourlsDomain || ''
form.yourlsSignature = settings.yourlsSignature || '' form.yourlsSignature = settings.yourlsSignature || ''
form.deleteLocalFile = settings.deleteLocalFile || false form.deleteLocalFile = settings.deleteLocalFile || false
@ -2354,6 +2368,10 @@ function handleShortUrlServerChange (val: string) {
saveConfig('settings.shortUrlServer', val) saveConfig('settings.shortUrlServer', val)
} }
function handleC1nTokenChange (val: string) {
saveConfig('settings.c1nToken', val)
}
function handleYourlsDomainChange (val: string) { function handleYourlsDomainChange (val: string) {
saveConfig('settings.yourlsDomain', val) saveConfig('settings.yourlsDomain', val)
} }

View File

@ -3,7 +3,6 @@ export const SHOW_INPUT_BOX_RESPONSE = 'SHOW_INPUT_BOX_RESPONSE'
export const TOGGLE_SHORTKEY_MODIFIED_MODE = 'TOGGLE_SHORTKEY_MODIFIED_MODE' export const TOGGLE_SHORTKEY_MODIFIED_MODE = 'TOGGLE_SHORTKEY_MODIFIED_MODE'
export const TALKING_DATA_APPID = 'B743C16E2989419A9B02EDE9D1E6A530' export const TALKING_DATA_APPID = 'B743C16E2989419A9B02EDE9D1E6A530'
export const TALKING_DATA_EVENT = 'TALKING_DATA_EVENT' export const TALKING_DATA_EVENT = 'TALKING_DATA_EVENT'
export const C1N = 'WjJoeFdWWklhVTlXYVRKTU5EUmFOVkEwUlVRPQ=='
export const PICGO_SAVE_CONFIG = 'PICGO_SAVE_CONFIG' export const PICGO_SAVE_CONFIG = 'PICGO_SAVE_CONFIG'
export const PICGO_GET_CONFIG = 'PICGO_GET_CONFIG' export const PICGO_GET_CONFIG = 'PICGO_GET_CONFIG'
export const PICGO_GET_DB = 'PICGO_GET_DB' export const PICGO_GET_DB = 'PICGO_GET_DB'

View File

@ -241,6 +241,7 @@ interface ILocales {
SETTINGS_WATCH_CLIPBOARD: string SETTINGS_WATCH_CLIPBOARD: string
SETTINGS_SHORT_URL: string SETTINGS_SHORT_URL: string
SETTINGS_SHORT_URL_SERVER: string SETTINGS_SHORT_URL_SERVER: string
SETTINGS_SHORT_URL_C1N_TOKEN: string
SETTINGS_SHORT_URL_YOURLS_DOMAIN: string SETTINGS_SHORT_URL_YOURLS_DOMAIN: string
SETTINGS_SHORT_URL_YOURLS_SIGNATURE: string SETTINGS_SHORT_URL_YOURLS_SIGNATURE: string
SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: string SETTINGS_DELETE_LOCAL_FILE_AFTER_UPLOAD: string

View File

@ -24,6 +24,7 @@ interface ISettingForm {
encodeOutputURL: boolean, encodeOutputURL: boolean,
isAutoListenClipboard: boolean, isAutoListenClipboard: boolean,
useShortUrl: boolean, useShortUrl: boolean,
c1nToken: string,
shortUrlServer: string, shortUrlServer: string,
yourlsDomain: string, yourlsDomain: string,
yourlsSignature: string, yourlsSignature: string,

View File

@ -1,10 +1,7 @@
import { C1N } from '../events/constants'
export const CLIPBOARD_IMAGE_FOLDER = 'piclist-clipboard-images' export const CLIPBOARD_IMAGE_FOLDER = 'piclist-clipboard-images'
export const RELEASE_URL = 'https://api.github.com/repos/Kuingsmile/PicList/releases' export const RELEASE_URL = 'https://api.github.com/repos/Kuingsmile/PicList/releases'
export const RELEASE_URL_BACKUP = 'https://release.piclist.cn' export const RELEASE_URL_BACKUP = 'https://release.piclist.cn'
export const STABLE_RELEASE_URL = 'https://github.com/Kuingsmile/PicList/releases/latest' export const STABLE_RELEASE_URL = 'https://github.com/Kuingsmile/PicList/releases/latest'
export const C1 = Buffer.from(C1N, 'base64').toString()
export const picBedsCanbeDeleted = [ export const picBedsCanbeDeleted = [
'aliyun', 'aliyun',