@@ -52,25 +52,28 @@ function getDateFilename(filename) {
5252
5353async function ghFileUpload ( content , filename ) {
5454 const useDefault = localStorage . getItem ( "imgHost" ) === "default" ;
55- const config = getConfig ( useDefault , "github" ) ;
55+ const { username, repo, branch, accessToken } = getConfig (
56+ useDefault ,
57+ "github"
58+ ) ;
5659 const dir = getDir ( ) ;
57- const url = `https://api.github.com/repos/${ config . username } /${ config . repo } /contents/${ dir } /` ;
60+ const url = `https://api.github.com/repos/${ username } /${ repo } /contents/${ dir } /` ;
5861 const dateFilename = getDateFilename ( filename ) ;
5962 const res = await fetch ( {
6063 url : url + dateFilename ,
6164 method : "put" ,
6265 headers : {
63- Authorization : `token ${ config . accessToken } ` ,
66+ Authorization : `token ${ accessToken } ` ,
6467 } ,
6568 data : {
66- branch : config . branch ,
69+ content,
70+ branch,
6771 message : `Upload by ${ window . location . href } ` ,
68- content : content ,
6972 } ,
7073 } ) ;
7174
72- const githubResourceUrl = `raw.githubusercontent.com/${ config . username } /${ config . repo } /${ config . branch } /` ;
73- const cdnResourceUrl = `cdn.jsdelivr.net/gh/${ config . username } /${ config . repo } @${ config . branch } /` ;
75+ const githubResourceUrl = `raw.githubusercontent.com/${ username } /${ repo } /${ branch } /` ;
76+ const cdnResourceUrl = `cdn.jsdelivr.net/gh/${ username } /${ repo } @${ branch } /` ;
7477 return useDefault
7578 ? res . content . download_url . replace ( githubResourceUrl , cdnResourceUrl )
7679 : res . content . download_url ;
@@ -81,20 +84,21 @@ async function ghFileUpload(content, filename) {
8184//-----------------------------------------------------------------------
8285
8386async function giteeUpload ( content , filename ) {
84- const useDefault = JSON . parse (
85- localStorage . getItem ( "imgHost" ) === "default"
87+ const useDefault = localStorage . getItem ( "imgHost" ) === "default" ;
88+ const { username, repo, branch, accessToken } = getConfig (
89+ useDefault ,
90+ "gitee"
8691 ) ;
87- const config = getConfig ( useDefault , "gitee" ) ;
8892 const dir = getDir ( ) ;
8993 const dateFilename = getDateFilename ( filename ) ;
90- const url = `https://gitee.com/api/v5/repos/${ config . username } /${ config . repo } /contents/${ dir } /${ dateFilename } ` ;
94+ const url = `https://gitee.com/api/v5/repos/${ username } /${ repo } /contents/${ dir } /${ dateFilename } ` ;
9195 const res = await fetch ( {
9296 url,
9397 method : "POST" ,
9498 data : {
95- access_token : config . accessToken ,
96- branch : config . branch ,
97- content : content ,
99+ content ,
100+ branch,
101+ access_token : accessToken ,
98102 message : `Upload by ${ window . location . href } ` ,
99103 } ,
100104 } ) ;
@@ -114,20 +118,17 @@ function getQiniuToken(accessKey, secretKey, putPolicy) {
114118}
115119
116120async function qiniuUpload ( file ) {
117- const qiniuConfig = JSON . parse ( localStorage . getItem ( "qiniuConfig" ) ) ;
118- const putPolicy = {
119- scope : qiniuConfig . bucket ,
120- deadline : Math . trunc ( new Date ( ) . getTime ( ) / 1000 ) + 3600 ,
121- } ;
122- const token = getQiniuToken (
123- qiniuConfig . accessKey ,
124- qiniuConfig . secretKey ,
125- putPolicy
121+ const { accessKey, secretKey, bucket, region, path, domain } = JSON . parse (
122+ localStorage . getItem ( "qiniuConfig" )
126123 ) ;
127- const dir = qiniuConfig . path ? qiniuConfig . path + "/" : "" ;
124+ const token = getQiniuToken ( accessKey , secretKey , {
125+ scope : bucket ,
126+ deadline : Math . trunc ( new Date ( ) . getTime ( ) / 1000 ) + 3600 ,
127+ } ) ;
128+ const dir = path ? `${ path } /` : "" ;
128129 const dateFilename = dir + getDateFilename ( file . name ) ;
129130 const config = {
130- region : qiniuConfig . region ,
131+ region,
131132 } ;
132133 const observable = qiniu . upload ( file , dateFilename , token , { } , config ) ;
133134 return new Promise ( ( resolve , reject ) => {
@@ -139,7 +140,7 @@ async function qiniuUpload(file) {
139140 reject ( err . message ) ;
140141 } ,
141142 complete : ( result ) => {
142- resolve ( `${ qiniuConfig . domain } /${ result . key } ` ) ;
143+ resolve ( `${ domain } /${ result . key } ` ) ;
143144 } ,
144145 } ) ;
145146 } ) ;
@@ -151,22 +152,27 @@ async function qiniuUpload(file) {
151152
152153async function aliOSSFileUpload ( content , filename ) {
153154 const dateFilename = getDateFilename ( filename ) ;
154- const aliOSSConfig = JSON . parse ( localStorage . getItem ( "aliOSSConfig" ) ) ;
155+ const {
156+ region,
157+ bucket,
158+ accessKeyId,
159+ accessKeySecret,
160+ cdnHost,
161+ path,
162+ } = JSON . parse ( localStorage . getItem ( "aliOSSConfig" ) ) ;
155163 const buffer = Buffer ( content , "base64" ) ;
156164 try {
157- const dir = `${ aliOSSConfig . path } /${ dateFilename } ` ;
165+ const dir = `${ path } /${ dateFilename } ` ;
158166 const client = new OSS ( {
159- region : aliOSSConfig . region ,
160- bucket : aliOSSConfig . bucket ,
161- accessKeyId : aliOSSConfig . accessKeyId ,
162- accessKeySecret : aliOSSConfig . accessKeySecret ,
167+ region,
168+ bucket,
169+ accessKeyId,
170+ accessKeySecret,
163171 } ) ;
164172 const res = await client . put ( dir , buffer ) ;
165- return aliOSSConfig . cdnHost == ""
173+ return cdnHost == ""
166174 ? res . url
167- : `${ aliOSSConfig . cdnHost } /${
168- aliOSSConfig . path == "" ? dateFilename : dir
169- } `;
175+ : `${ cdnHost } /${ path == "" ? dateFilename : dir } ` ;
170176 } catch ( e ) {
171177 return Promise . reject ( e ) ;
172178 }
@@ -178,27 +184,29 @@ async function aliOSSFileUpload(content, filename) {
178184
179185async function txCOSFileUpload ( file ) {
180186 const dateFilename = getDateFilename ( file . name ) ;
181- const txCOSConfig = JSON . parse ( localStorage . getItem ( "txCOSConfig" ) ) ;
187+ const { secretId, secretKey, bucket, region, path, cdnHost } = JSON . parse (
188+ localStorage . getItem ( "txCOSConfig" )
189+ ) ;
182190 const cos = new COS ( {
183- SecretId : txCOSConfig . secretId ,
184- SecretKey : txCOSConfig . secretKey ,
191+ SecretId : secretId ,
192+ SecretKey : secretKey ,
185193 } ) ;
186194 return new Promise ( ( resolve , reject ) => {
187195 cos . putObject (
188196 {
189- Bucket : txCOSConfig . bucket ,
190- Region : txCOSConfig . region ,
191- Key : `${ txCOSConfig . path } /${ dateFilename } ` ,
197+ Bucket : bucket ,
198+ Region : region ,
199+ Key : `${ path } /${ dateFilename } ` ,
192200 Body : file ,
193201 } ,
194202 function ( err , data ) {
195203 if ( err ) {
196204 reject ( err ) ;
197- } else if ( txCOSConfig . cdnHost ) {
205+ } else if ( cdnHost ) {
198206 resolve (
199- txCOSConfig . path ! = ""
200- ? `${ txCOSConfig . cdnHost } / ${ txCOSConfig . path } /${ dateFilename } `
201- : `${ txCOSConfig . cdnHost } /${ dateFilename } `
207+ path = = ""
208+ ? `${ cdnHost } /${ dateFilename } `
209+ : `${ cdnHost } / ${ path } /${ dateFilename } `
202210 ) ;
203211 } else {
204212 resolve ( `https://${ data . Location } ` ) ;
0 commit comments