twikoo-func 1.6.43 → 1.6.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/utils/image.js +35 -4
- package/utils/index.js +3 -2
package/package.json
CHANGED
package/utils/image.js
CHANGED
|
@@ -19,8 +19,8 @@ const fn = {
|
|
|
19
19
|
// tip: qcloud 图床走前端上传,其他图床走后端上传
|
|
20
20
|
if (config.IMAGE_CDN === '7bu') {
|
|
21
21
|
await fn.uploadImageToLskyPro({ photo, fileName, config, res, imageCdn: 'https://7bu.top' })
|
|
22
|
-
} else if (config.IMAGE_CDN === '
|
|
23
|
-
await fn.
|
|
22
|
+
} else if (config.IMAGE_CDN === 'see') {
|
|
23
|
+
await fn.uploadImageToSee({ photo, fileName, config, res, imageCdn: 'https://s.ee/api/v1/file/upload' })
|
|
24
24
|
} else if (isUrl(config.IMAGE_CDN)) {
|
|
25
25
|
await fn.uploadImageToLskyPro({ photo, fileName, config, res, imageCdn: config.IMAGE_CDN })
|
|
26
26
|
} else if (config.IMAGE_CDN === 'lskypro') {
|
|
@@ -29,6 +29,8 @@ const fn = {
|
|
|
29
29
|
await fn.uploadImageToPicList({ photo, fileName, config, res, imageCdn: config.IMAGE_CDN_URL })
|
|
30
30
|
} else if (config.IMAGE_CDN === 'easyimage') {
|
|
31
31
|
await fn.uploadImageToEasyImage({ photo, fileName, config, res })
|
|
32
|
+
} else if (config.IMAGE_CDN === 'chevereto') {
|
|
33
|
+
await fn.uploadImageToChevereto({ photo, fileName, config, res })
|
|
32
34
|
} else {
|
|
33
35
|
throw new Error('不支持的图片上传服务')
|
|
34
36
|
}
|
|
@@ -39,8 +41,8 @@ const fn = {
|
|
|
39
41
|
}
|
|
40
42
|
return res
|
|
41
43
|
},
|
|
42
|
-
async
|
|
43
|
-
//
|
|
44
|
+
async uploadImageToSee ({ photo, fileName, config, res, imageCdn }) {
|
|
45
|
+
// S.EE 图床 https://s.ee (原 SM.MS)
|
|
44
46
|
const formData = new FormData()
|
|
45
47
|
formData.append('smfile', fn.base64UrlToReadStream(photo, fileName))
|
|
46
48
|
const uploadResult = await axios.post(imageCdn, formData, {
|
|
@@ -148,6 +150,35 @@ const fn = {
|
|
|
148
150
|
throw new Error(errorMsg)
|
|
149
151
|
}
|
|
150
152
|
},
|
|
153
|
+
async uploadImageToChevereto ({ photo, fileName, config, res }) {
|
|
154
|
+
if (!config.IMAGE_CDN_URL) {
|
|
155
|
+
throw new Error('未配置 Chevereto 站点地址 (IMAGE_CDN_URL)')
|
|
156
|
+
}
|
|
157
|
+
if (!config.IMAGE_CDN_TOKEN) {
|
|
158
|
+
throw new Error('未配置 Chevereto API Key (IMAGE_CDN_TOKEN)')
|
|
159
|
+
}
|
|
160
|
+
const formData = new FormData()
|
|
161
|
+
formData.append('key', config.IMAGE_CDN_TOKEN)
|
|
162
|
+
formData.append('source', fn.base64UrlToReadStream(photo, fileName))
|
|
163
|
+
formData.append('format', 'json')
|
|
164
|
+
const apiUrl = config.IMAGE_CDN_URL.replace(/\/$/, '') + '/api/1/upload'
|
|
165
|
+
const uploadResult = await axios.post(apiUrl, formData, {
|
|
166
|
+
headers: {
|
|
167
|
+
...formData.getHeaders()
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
const data = uploadResult.data
|
|
171
|
+
if (data.status_code === 200 && data.image && data.image.url) {
|
|
172
|
+
res.data = {
|
|
173
|
+
url: data.image.url,
|
|
174
|
+
thumb: data.image.thumb ? data.image.thumb.url : data.image.url,
|
|
175
|
+
del: data.image.delete_url
|
|
176
|
+
}
|
|
177
|
+
} else {
|
|
178
|
+
const errMsg = (data.error && data.error.message) || JSON.stringify(data)
|
|
179
|
+
throw new Error(`Chevereto 上传失败: ${errMsg}`)
|
|
180
|
+
}
|
|
181
|
+
},
|
|
151
182
|
base64UrlToReadStream (base64Url, fileName) {
|
|
152
183
|
const base64 = base64Url.split(';base64,').pop()
|
|
153
184
|
const writePath = path.resolve(os.tmpdir(), fileName)
|
package/utils/index.js
CHANGED
|
@@ -111,7 +111,8 @@ const fn = {
|
|
|
111
111
|
12: 'Monterey',
|
|
112
112
|
13: 'Ventura',
|
|
113
113
|
14: 'Sonoma',
|
|
114
|
-
15: 'Sequoia'
|
|
114
|
+
15: 'Sequoia',
|
|
115
|
+
16: 'Tahoe'
|
|
115
116
|
}[majorPlatformVersion]
|
|
116
117
|
} else if (os.name === 'Android') {
|
|
117
118
|
const majorPlatformVersion = os.version.split('.')[0]
|
|
@@ -214,7 +215,7 @@ const fn = {
|
|
|
214
215
|
return comment.avatar
|
|
215
216
|
} else {
|
|
216
217
|
const gravatarCdn = config.GRAVATAR_CDN || 'weavatar.com'
|
|
217
|
-
let defaultGravatar = `initials&name=${comment.nick
|
|
218
|
+
let defaultGravatar = `initials&name=${comment.nick}`
|
|
218
219
|
if (config.DEFAULT_GRAVATAR) {
|
|
219
220
|
defaultGravatar = config.DEFAULT_GRAVATAR
|
|
220
221
|
}
|