@@ -2,7 +2,7 @@ import { URL } from 'node:url'
22
33import jwt from 'jsonwebtoken'
44
5- import { isNotAccessTokeMsg , NotProxyAddressMsg } from '@/common'
5+ import { isNotAccessTokeMsg , NotProxyAddressMsg , RateLimitMsg } from '@/common'
66import { ApiBaseUrl , BaseUrl } from '@/models/base/common'
77import Request from '@/models/base/request'
88import { App } from '@/models/platform/github/app'
@@ -295,13 +295,20 @@ export class Base {
295295 * @returns 请求结果
296296 */
297297 public async get ( path : string , parms ?: any , customHeaders ?: Record < string , string > ) : Promise < ApiResponseType > {
298- const request = this . createRequest ( )
299- const req = await request . get ( path , parms , customHeaders )
300- return {
301- status : req . success ? 'ok' : 'error' ,
302- statusCode : req . statusCode ,
303- msg : req . msg ,
304- data : req . data
298+ try {
299+ const request = this . createRequest ( )
300+ const req = await request . get ( path , parms , customHeaders )
301+ if ( req . statusCode === 403 && req . data . message . includes ( 'API rate limit exceeded' ) ) {
302+ throw new Error ( RateLimitMsg )
303+ }
304+ return {
305+ status : req . success ? 'ok' : 'error' ,
306+ statusCode : req . statusCode ,
307+ msg : req . msg ,
308+ data : req . data
309+ }
310+ } catch ( error ) {
311+ throw new Error ( `GET 请求${ path } 失败: ${ ( error as Error ) . message } ` )
305312 }
306313 }
307314
@@ -313,13 +320,20 @@ export class Base {
313320 * @returns 请求结果
314321 */
315322 public async post ( path : string , data : any , customHeaders ?: Record < string , string > ) : Promise < ApiResponseType > {
316- const request = this . createRequest ( )
317- const req = await request . post ( path , data , customHeaders )
318- return {
319- status : req . success ? 'ok' : 'error' ,
320- statusCode : req . statusCode ,
321- msg : req . msg ,
322- data : req . data
323+ try {
324+ const request = this . createRequest ( )
325+ const req = await request . post ( path , data , customHeaders )
326+ if ( req . statusCode === 403 && req . data . message . includes ( 'API rate limit exceeded' ) ) {
327+ throw new Error ( RateLimitMsg )
328+ }
329+ return {
330+ status : req . success ? 'ok' : 'error' ,
331+ statusCode : req . statusCode ,
332+ msg : req . msg ,
333+ data : req . data
334+ }
335+ } catch ( error ) {
336+ throw new Error ( `POST 请求${ path } 失败: ${ ( error as Error ) . message } ` )
323337 }
324338 }
325339}
0 commit comments