Feature: support short url now

This commit is contained in:
萌萌哒赫萝
2023-04-17 17:26:49 +08:00
parent ef917ce26e
commit d55458197a
20 changed files with 151 additions and 75 deletions

View File

@@ -2,6 +2,7 @@ export const SHOW_INPUT_BOX = 'SHOW_INPUT_BOX'
export const SHOW_INPUT_BOX_RESPONSE = 'SHOW_INPUT_BOX_RESPONSE'
export const TOGGLE_SHORTKEY_MODIFIED_MODE = 'TOGGLE_SHORTKEY_MODIFIED_MODE'
export const TALKING_DATA_APPID = 'B743C16E2989419A9B02EDE9D1E6A530'
export const C1N = 'WjJoeFdWWklhVTlXYVRKTU5EUmFOVkEwUlVRPQ=='
export const TALKING_DATA_EVENT = 'TALKING_DATA_EVENT'
export const SHOW_PRIVACY_MESSAGE = 'SHOW_PRIVACY_MESSAGE'
export const PICGO_SAVE_CONFIG = 'PICGO_SAVE_CONFIG'

View File

@@ -106,6 +106,8 @@ interface ILocales {
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_LEFT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_BOTTOM_RIGHT: string
UPLOAD_PAGE_IMAGE_PROCESS_POSITION_CENTER: string
UPLOAD_SHORT_URL: string
UPLOAD_NORMAL_URL: string
SETTINGS: string
SETTINGS_OPEN_CONFIG_FILE: string
SETTINGS_MIGRATE_FROM_PICGO: string
@@ -190,6 +192,7 @@ interface ILocales {
SETTINGS_ISHIDEDOCK_TIPS: string
SETTINGS_ENCODE_OUTPUT_URL: string
SETTINGS_WATCH_CLIPBOARD: string
SETTINGS_SHORT_URL: string
SHORTCUT_NAME: string
SHORTCUT_BIND: string
SHORTCUT_STATUS: string

View File

@@ -17,7 +17,8 @@ interface ISettingForm {
customMiniIcon: string,
isHideDock: boolean,
encodeOutputURL: boolean,
isAutoListenClipboard: boolean
isAutoListenClipboard: boolean,
useShortUrl: boolean
}
interface IShortKeyMap {

View File

@@ -1,3 +1,7 @@
import axios from 'axios'
import FormData from 'form-data'
import { C1 } from './static'
export const isUrl = (url: string): boolean => {
try {
return Boolean(new URL(url))
@@ -58,3 +62,24 @@ export const trimValues = (obj: IStringKeyMap) => {
})
return newObj
}
const c1nApi = 'https://c1n.cn/link/short'
export const generateShortUrl = async (url: string) => {
const form = new FormData()
form.append('url', url)
const C = Buffer.from(C1, 'base64').toString()
try {
const res = await axios.post(c1nApi, form, {
headers: {
token: C
}
})
if (res.status >= 200 && res.status < 300 && res.data?.code === 0) {
return res.data.data
}
} catch (e: any) {
console.log(e)
}
return url
}

View File

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