@@ -43,7 +43,7 @@ class ZeroCatAPI {
4343
4444 this . log ( '正在获取用户信息...' ) ;
4545 const response = await this . api . get ( '/user/me' ) ;
46-
46+
4747 if ( response . data . status === 'success' ) {
4848 this . config . userInfo = response . data . data ;
4949 this . config . username = response . data . data . username ;
@@ -71,7 +71,7 @@ class ZeroCatAPI {
7171 try {
7272 await this . ensureInitialized ( ) ;
7373 const targetUsername = username || this . config . username ;
74-
74+
7575 const response = await this . api . get ( `/project/namespace/${ targetUsername } /${ projectName } ` ) ;
7676 return {
7777 exists : true ,
@@ -91,7 +91,7 @@ class ZeroCatAPI {
9191 async createProject ( options = { } ) {
9292 try {
9393 await this . ensureInitialized ( ) ;
94-
94+
9595 const {
9696 extId,
9797 name,
@@ -105,16 +105,16 @@ class ZeroCatAPI {
105105
106106 // 构建项目名称
107107 const finalProjectName = projectName || `40code-${ extId } ` ;
108-
108+
109109 // 构建标题
110110 const finalTitle = title || `${ name } (40code ${ ext . author } )` ;
111-
111+
112112 // 构建描述
113- const finalDescription = description ||
113+ const finalDescription = description ||
114114 `从 40code 镜像的 ${ name } 扩展\n原作者:40code [${ ext . author } ](https://www.40code.com/#page=user&id=${ ext . author_id } )\n\n${ ext . description } ` ;
115115
116116 this . log ( `正在创建项目: ${ finalProjectName } ` ) ;
117-
117+
118118 const response = await this . api . post ( '/project' , {
119119 name : finalProjectName ,
120120 title : finalTitle ,
@@ -254,8 +254,8 @@ class ZeroCatAPI {
254254 async uploadThumbnail ( projectId , formData ) {
255255 try {
256256 this . log ( `正在上传作品封面: ${ projectId } ` ) ;
257-
258- const response = await this . api . post ( `/scratch/thumbnail/ ${ projectId } ` , formData , {
257+
258+ const response = await this . api . post ( `/assets/upload ` , formData , {
259259 headers : {
260260 ...formData . getHeaders ( )
261261 }
@@ -268,6 +268,68 @@ class ZeroCatAPI {
268268 throw error ;
269269 }
270270 }
271+
272+ // 获取我的所有扩展信息
273+ async getMyExtensions ( ) {
274+ try {
275+ this . log ( '正在获取我的扩展信息...' ) ;
276+ const response = await this . api . get ( '/extensions/manager/my' ) ;
277+
278+ if ( response . data . status === 'success' ) {
279+ this . log ( `获取扩展信息成功,共 ${ response . data . data . length } 个扩展` , 'success' ) ;
280+ return response . data . data ;
281+ } else {
282+ throw new Error ( `获取扩展信息失败: ${ response . data . message || '未知错误' } ` ) ;
283+ }
284+ } catch ( error ) {
285+ this . log ( `获取扩展信息失败: ${ error . message } ` , 'error' ) ;
286+ throw error ;
287+ }
288+ }
289+
290+ // 上传资产文件
291+ async uploadAsset ( formData ) {
292+ try {
293+ this . log ( '正在上传资产文件...' ) ;
294+
295+ const response = await this . api . post ( '/assets/upload' , formData , {
296+ headers : {
297+ ...formData . getHeaders ( )
298+ }
299+ } ) ;
300+
301+ if ( response . data . status === 'success' ) {
302+ this . log ( '资产文件上传成功' , 'success' ) ;
303+ return response . data ;
304+ } else {
305+ console . log ( response . data )
306+ this . log ( `上传资产文件失败: ${ response . data . message || '未知错误' } ` ) ;
307+ return response . data
308+ }
309+ } catch ( error ) {
310+ this . log ( `上传资产文件失败: ${ error . message } ` , 'error' ) ;
311+ throw error ;
312+ }
313+ }
314+
315+ // 更新扩展信息
316+ async updateExtension ( extensionId , updateData ) {
317+ try {
318+ this . log ( `正在更新扩展信息: ${ extensionId } ` ) ;
319+
320+ const response = await this . api . put ( `/extensions/manager/edit/${ extensionId } ` , updateData ) ;
321+
322+ if ( response . data . status === 'success' ) {
323+ this . log ( `扩展信息更新成功: ${ extensionId } ` , 'success' ) ;
324+ return response . data ;
325+ } else {
326+ throw new Error ( `更新扩展信息失败: ${ response . data . message || '未知错误' } ` ) ;
327+ }
328+ } catch ( error ) {
329+ this . log ( `更新扩展信息失败 ${ extensionId } : ${ error . message } ` , 'error' ) ;
330+ throw error ;
331+ }
332+ }
271333}
272334
273335export default ZeroCatAPI ;
0 commit comments