SuperAPI AI 工具集

b24jssdk-core

编程与开发

查看项目

更新于 10-15 20:06

技能介绍

b24jssdk 核心模块提供三种入口,都通过 $b24.actions.v{2,3}.* 暴露相同的 REST 接口,按运行位置选择:B24Hook 用于 Node.js、脚本或无服务器环境,凭据是入站 webhook URL(/rest/<userId>/<secret>),只能服务端使用;B24Frame 用于 Bitrix24 放置位置的 iframe 内,通过 postMessage 与父窗口握手鉴权;B24OAuth 用于 OAuth 安装应用的服务端,使用安装事件里的 accessToken 与 refreshToken。初始化后可针对抽象类型 TypeB24 编写代码,使同一逻辑在三种入口运行。

主要能力:统一调用 REST API(v2/v3),返回 AjaxResult;REST 级失败抛 AjaxError,SDK 级失败抛 SdkError;支持分页 getNext/fetchNext(仅 v2);可配置限制管理器(hardErrorCodes、softErrorCodes、maxRetries、retryDelay、retryOnNetworkError 等),并按状态码与错误类别区分硬软错误;日志提供 LoggerFactory.createForBrowser 与 Node 下 ConsoleV2Handler 两种方式;AjaxError 会自动脱敏 requestInfo 中的 token、secret 等字段;可读取时间块但官方测量提示 duration/processing 不可用于计时。

使用方式:B24Hook 用 B24Hook.fromWebhookUrl(process.env.B24_HOOK!) 或 new B24Hook({b24Url,userId,secret});B24Frame 用 await initializeB24Frame(),并发调用会去重,安装模式需调用 installFinish(),卸载时调用 destroy();B24OAuth 用 new B24OAuth(b24OAuthParams, {clientId, clientSecret}) 并注册 setCallbackRefreshAuth 持久化刷新后的凭据。可调用 setRestrictionManagerParams 或 getRestrictionManagerParams 调整与查看策略,也可经 getHttpClient(...).ajaxClient.defaults.timeout 修改超时,或在构造时传 httpOptions(adapter、timeout 等)。

适用场景:服务端脚本、无服务器函数、iframe 应用、OAuth 安装应用的 REST 集成。限制:Node.js 需 >=22(3.0.0 起不再支持 EOL 的 Node 20);B24Hook 含长期密钥,严禁放入浏览器;OAuth 卸载安全仍应校验 application_token;setRestrictionManagerParams 影响该实例后续所有调用,浅合并且部分限流块不接受,需用独立实例处理非幂等写入。其他平台、价格与效果资料暂未提供。