@@ -85,6 +85,51 @@ export function generateCookie(refreshToken: string) {
8585 ] . join ( "; " ) ;
8686}
8787
88+ /**
89+ * 获取积分信息
90+ *
91+ * @param refreshToken 用于刷新access_token的refresh_token
92+ */
93+ export async function getCredit ( refreshToken : string ) {
94+ const {
95+ credit : { gift_credit, purchase_credit, vip_credit }
96+ } = await request ( "POST" , "/commerce/v1/benefits/user_credit" , refreshToken , {
97+ data : { } ,
98+ headers : {
99+ // Cookie: 'x-web-secsdk-uid=ef44bd0d-0cf6-448c-b517-fd1b5a7267ba; s_v_web_id=verify_m4b1lhlu_DI8qKRlD_7mJJ_4eqx_9shQ_s8eS2QLAbc4n; passport_csrf_token=86f3619c0c4a9c13f24117f71dc18524; passport_csrf_token_default=86f3619c0c4a9c13f24117f71dc18524; n_mh=9-mIeuD4wZnlYrrOvfzG3MuT6aQmCUtmr8FxV8Kl8xY; sid_guard=a7eb745aec44bb3186dbc2083ea9e1a6%7C1733386629%7C5184000%7CMon%2C+03-Feb-2025+08%3A17%3A09+GMT; uid_tt=59a46c7d3f34bda9588b93590cca2e12; uid_tt_ss=59a46c7d3f34bda9588b93590cca2e12; sid_tt=a7eb745aec44bb3186dbc2083ea9e1a6; sessionid=a7eb745aec44bb3186dbc2083ea9e1a6; sessionid_ss=a7eb745aec44bb3186dbc2083ea9e1a6; is_staff_user=false; sid_ucp_v1=1.0.0-KGRiOGY2ODQyNWU1OTk3NzRhYTE2ZmZhYmFjNjdmYjY3NzRmZGRiZTgKHgjToPCw0cwbEIXDxboGGJ-tHyAMMITDxboGOAhAJhoCaGwiIGE3ZWI3NDVhZWM0NGJiMzE4NmRiYzIwODNlYTllMWE2; ssid_ucp_v1=1.0.0-KGRiOGY2ODQyNWU1OTk3NzRhYTE2ZmZhYmFjNjdmYjY3NzRmZGRiZTgKHgjToPCw0cwbEIXDxboGGJ-tHyAMMITDxboGOAhAJhoCaGwiIGE3ZWI3NDVhZWM0NGJiMzE4NmRiYzIwODNlYTllMWE2; store-region=cn-gd; store-region-src=uid; user_spaces_idc={"7444764277623653426":"lf"}; ttwid=1|cxHJViEev1mfkjntdMziir8SwbU8uPNVSaeh9QpEUs8|1733966961|d8d52f5f56607427691be4ac44253f7870a34d25dd05a01b4d89b8a7c5ea82ad; _tea_web_id=7444838473275573797; fpk1=fa6c6a4d9ba074b90003896f36b6960066521c1faec6a60bdcb69ec8ddf85e8360b4c0704412848ec582b2abca73d57a; odin_tt=efe9dc150207879b88509e651a1c4af4e7ffb4cfcb522425a75bd72fbf894eda570bbf7ffb551c8b1de0aa2bfa0bd1be6c4157411ecdcf4464fcaf8dd6657d66',
100+ Referer : "https://jimeng.jianying.com/ai-tool/image/generate" ,
101+ // "Device-Time": 1733966964,
102+ // Sign: "f3dbb824b378abea7c03cbb152b3a365"
103+ }
104+ } ) ;
105+ logger . info ( `\n积分信息: \n赠送积分: ${ gift_credit } , 购买积分: ${ purchase_credit } , VIP积分: ${ vip_credit } ` ) ;
106+ return {
107+ giftCredit : gift_credit ,
108+ purchaseCredit : purchase_credit ,
109+ vipCredit : vip_credit ,
110+ totalCredit : gift_credit + purchase_credit + vip_credit
111+ }
112+ }
113+
114+ /**
115+ * 接收今日积分
116+ *
117+ * @param refreshToken 用于刷新access_token的refresh_token
118+ */
119+ export async function receiveCredit ( refreshToken : string ) {
120+ logger . info ( "正在收取今日积分..." )
121+ const { cur_total_credits, receive_quota } = await request ( "POST" , "/commerce/v1/benefits/credit_receive" , refreshToken , {
122+ data : {
123+ time_zone : "Asia/Shanghai"
124+ } ,
125+ headers : {
126+ Referer : "https://jimeng.jianying.com/ai-tool/image/generate"
127+ }
128+ } ) ;
129+ logger . info ( `\n今日${ receive_quota } 积分收取成功\n剩余积分: ${ cur_total_credits } ` ) ;
130+ return cur_total_credits ;
131+ }
132+
88133/**
89134 * 请求jimeng
90135 *
@@ -102,7 +147,7 @@ export async function request(
102147 const token = await acquireToken ( refreshToken ) ;
103148 const deviceTime = util . unixTimestamp ( ) ;
104149 const sign = util . md5 (
105- `9e2c|_config |${ PLATFORM_CODE } |${ VERSION_CODE } |${ deviceTime } |11ac`
150+ `9e2c|${ uri . slice ( - 7 ) } |${ PLATFORM_CODE } |${ VERSION_CODE } |${ deviceTime } | |11ac`
106151 ) ;
107152 const response = await axios . request ( {
108153 method,
@@ -205,10 +250,11 @@ export async function uploadFile(
205250 * @param result 结果
206251 */
207252export function checkResult ( result : AxiosResponse ) {
208- if ( ! result . data ) return null ;
209253 const { ret, errmsg, data } = result . data ;
210254 if ( ! _ . isFinite ( Number ( ret ) ) ) return result . data ;
211- if ( ret === "0" ) return data ;
255+ if ( ret === '0' ) return data ;
256+ if ( ret === '5000' )
257+ throw new APIException ( EX . API_IMAGE_GENERATION_INSUFFICIENT_POINTS , `[无法生成图像]: 即梦积分可能不足,${ errmsg } ` ) ;
212258 throw new APIException ( EX . API_REQUEST_FAILED , `[请求jimeng失败]: ${ errmsg } ` ) ;
213259}
214260
0 commit comments