开发者中心WF API
WF API
面向新小程序的原生 SDK。接口由 src/shared/wf-api.ts 的 TSDoc 自动生成,与客户端实现保持同源。
一套接口,两种调用方式
全局对象 wf 对齐微信小程序的调用习惯。异步方法接受对象入参;传回调就走回调,不传时返回 Promise。同步方法以 Sync 结尾。
全局对象 wf(对标微信 wx)。异步方法接受单个对象入参,含可选 success / fail / complete 回调;都不传时返回 Promise(wx 全兼容双模)。同步方法以 Sync 结尾。
wf.* 是可移植标准面;wf.bip.* 只承载用友 BIP 生态扩展。机器可读版见 /api/wf-api.json。
网络请求 1
数据存储 10
剪贴板 2
界面 7
系统 / 启动 5
wf.getLaunchOptionsSync同步获取当前运行实例首次创建时的启动参数。返回值在该实例生命周期内固定;面板标签与主侧边栏实例互不共享。wf.getEnterOptionsSync同步获取宿主最近一次进入当前运行实例的参数。首次创建时与 launch options 相同;后续 deeplink、
IM 或卡片再次进入会更新它。页内 Hash 导航不会改写本值,当前页面应读取 location.hash。wf.getSystemInfoSync同步获取宿主系统信息(平台、主题、版本、语言)。wf.openApp从磁贴或会话卡片打开小程序完整页面。第三方只能打开自己。wf.createAppLink为当前小程序生成可复制、可发送的标准深链。仅允许 manifest 中 shareable: true 的路由;
宿主会校验应用 id、路由和参数,不接受调用方自行指定其它应用。BIP 扩展 2
登录 1
原生能力面 8
wf.fireworks放烟花 🎆——在小程序自己页面上叠一层透明 canvas 放一束粒子动画,动画结束自动移除。
「页内 helper」:纯本地即时视觉、零 IPC、零权限,故是 §1.2 双模调用约定的合法例外——
就是个同步 void 调用,无回调、无 Promise。传 target 元素 / 事件则炸在其上,
不传任何定位则落在鼠标指针最近位置(无记录则视口中心)。wf.notify发一条通知(经宿主统一通知中心,受用户的通知偏好、来源开关与免打扰时段约束——
被拦下时静默不显)。需声明 notification,首次调用由宿主询问并记住选择。wf.schedule.createTodo新建一条待办 / 日程。需声明 schedule.write,每次调用都由宿主确认。wf.ocr.recognize识别图片中的文字与二维码,返回全文、逐行包围盒与二维码内容。wf.im.getChatContext读取当前会话上下文:标识、展示名、群成员(若有)与最近消息摘要。
须从 IM 入口打开(query 带 chatId)或显式传入 chatId。wf.im.getHistory分页读取会话历史(脱敏正文),供小程序本地筛选后再喂给 AI。wf.ai.complete一次文本补全;支持 onChunk 流式渲染。wf.ai.cancel取消进行中的 complete(按 requestId)。wf.login 可用
获取一次性登录 code。对齐 wx.login:小程序把 code 交给自己的服务端换取业务会话;
WorkFly 不向第三方暴露 yht_access_token 等宿主凭据。
需声明 identity.login,首次调用由宿主询问用户并记住选择。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | LoginResult & { errMsg } | 成功回调,errMsg 形如 login:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 login:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<LoginResult>(wx 全兼容双模)。
LoginResult| 字段 | 类型 | 说明 |
|---|---|---|
code | string | 第三方服务用来换取自身会话的一次性 code。 |
示例
wf.request 可用
发起 HTTP 请求(经主进程代理,绕 CORS、可直发任意头)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
url | string | 目标 URL。 |
method? | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | HTTP 方法,默认 GET。 |
header? | Record<string, string> | 请求头。 |
data? | string | Record<string, unknown> | 请求体;对象会自动 JSON 序列化并补 Content-Type: application/json。 |
dataType? | 'json' | 'text' | 响应体解析方式,默认 'json'(自动 JSON.parse)。 |
timeout? | number | 超时毫秒数。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | RequestResult & { errMsg } | 成功回调,errMsg 形如 request:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 request:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<RequestResult>(wx 全兼容双模)。
RequestResult| 字段 | 类型 | 说明 |
|---|---|---|
data | unknown | 响应体(dataType:'json' 时为解析后的对象)。 |
statusCode | number | HTTP 状态码。 |
header | Record<string, string> | 响应头。 |
示例
wf.setStorage 可用
写入本地存储。encrypt:true 时加密落盘(Vault)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
key | string | 键名。 |
data | unknown | 值,任意可 JSON 序列化的数据。 |
encrypt? | boolean | 为 true 时加密落盘(走宿主 Vault),需声明 vault 权限。默认 false(明文)。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 setStorage:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 setStorage:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.getStorage 可用
读取本地存储。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
key | string | 键名。 |
encrypt? | boolean | 与写入时一致:true 从加密存储读。默认 false。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | { data: unknown } & { errMsg } | 成功回调,errMsg 形如 getStorage:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 getStorage:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<{ data: unknown }>(wx 全兼容双模)。
示例
wf.removeStorage 可用
删除指定键。
签名
入参
入参:{ key: string }
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 removeStorage:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 removeStorage:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.clearStorage 可用
清空本小程序的全部存储。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 clearStorage:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 clearStorage:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.getStorageInfo 可用
获取存储概况。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | StorageInfo & { errMsg } | 成功回调,errMsg 形如 getStorageInfo:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 getStorageInfo:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<StorageInfo>(wx 全兼容双模)。
StorageInfo| 字段 | 类型 | 说明 |
|---|---|---|
keys | string[] | 当前所有键名。 |
currentSize | number | 当前占用(KB,估算)。 |
limitSize | number | 上限(KB)。 |
示例
wf.setStorageSync 可用
同步写入本地存储。
签名
入参
| 参数 | 类型 |
|---|---|
key | string |
data | unknown |
encrypt? | boolean |
回调 / 返回
同步方法,直接返回 void;失败抛异常,无回调。
示例
wf.getStorageSync 可用
同步读取本地存储。
签名
入参
| 参数 | 类型 |
|---|---|
key | string |
encrypt? | boolean |
回调 / 返回
同步方法,直接返回 unknown;失败抛异常,无回调。
示例
wf.removeStorageSync 可用
同步删除指定键。
签名
入参
| 参数 | 类型 |
|---|---|
key | string |
回调 / 返回
同步方法,直接返回 void;失败抛异常,无回调。
示例
wf.clearStorageSync 可用
同步清空全部存储。
签名
入参
无入参。
回调 / 返回
同步方法,直接返回 void;失败抛异常,无回调。
示例
wf.getStorageInfoSync 可用
同步获取存储概况。
签名
入参
无入参。
回调 / 返回
同步方法,直接返回 StorageInfo;失败抛异常,无回调。
StorageInfo| 字段 | 类型 | 说明 |
|---|---|---|
keys | string[] | 当前所有键名。 |
currentSize | number | 当前占用(KB,估算)。 |
limitSize | number | 上限(KB)。 |
示例
wf.setClipboardData 可用
写入系统剪贴板。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
data | string | 写入剪贴板的文本。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 setClipboardData:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 setClipboardData:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.getClipboardData 可用
读取系统剪贴板文本。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | { data: string } & { errMsg } | 成功回调,errMsg 形如 getClipboardData:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 getClipboardData:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<{ data: string }>(wx 全兼容双模)。
示例
wf.showToast 可用
显示消息提示框。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
title | string | 提示文案。 |
icon? | 'success' | 'error' | 'loading' | 'none' | 图标,默认 success。 |
duration? | number | 停留毫秒数,默认 1500。 |
mask? | boolean | 是否显示透明蒙层防穿透,默认 false。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 showToast:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 showToast:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.hideToast 可用
隐藏消息提示框。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 hideToast:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 hideToast:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.showLoading 可用
显示加载提示框(需配对 hideLoading)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
title | string | 加载文案。 |
mask? | boolean | 是否显示蒙层,默认 false。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 showLoading:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 showLoading:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.hideLoading 可用
隐藏加载提示框。
签名
入参
仅可选回调入参(success / fail / complete),无业务字段。
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 hideLoading:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 hideLoading:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.showModal 可用
显示模态对话框。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
title? | string | 标题。 |
content? | string | 正文内容。 |
showCancel? | boolean | 是否显示取消按钮,默认 true。 |
cancelText? | string | 取消按钮文案,默认「取消」。 |
confirmText? | string | 确认按钮文案,默认「确定」。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | ModalResult & { errMsg } | 成功回调,errMsg 形如 showModal:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 showModal:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<ModalResult>(wx 全兼容双模)。
ModalResult| 字段 | 类型 | 说明 |
|---|---|---|
confirm | boolean | 用户点了确认。 |
cancel | boolean | 用户点了取消(或蒙层关闭)。 |
示例
wf.showActionSheet 可用
显示底部操作菜单。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
itemList | string[] | 选项文案列表。 |
itemColor? | string | 选项文字颜色。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | { tapIndex: number } & { errMsg } | 成功回调,errMsg 形如 showActionSheet:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 showActionSheet:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<{ tapIndex: number }>(wx 全兼容双模)。
示例
wf.previewImage 可用
全屏预览图片(复用宿主看图窗口)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
urls | string[] | 要预览的图片地址列表。 |
current? | string | 当前显示的图片地址,默认 urls[0]。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 previewImage:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 previewImage:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.getLaunchOptionsSync 可用
同步获取当前运行实例首次创建时的启动参数。返回值在该实例生命周期内固定;面板标签与主侧边栏实例互不共享。
签名
入参
无入参。
回调 / 返回
同步方法,直接返回 LaunchOptions;失败抛异常,无回调。
LaunchOptions| 字段 | 类型 | 说明 |
|---|---|---|
path | string | 对应一次宿主进入的应用内路径;routing.mode=none 时为空字符串。当前页以 location.hash 为准。 |
query | Record<string, unknown> | 该次宿主进入携带的参数(deeplink / 剪贴板提示 / IM 内容匹配带入,如 { curl })。 |
scene | string | 当前值包括 panel / standalone / spotlight / im / agent / deeplink / miniapp / mcp;应用须兼容未知新值。 |
示例
wf.getEnterOptionsSync 可用
同步获取宿主最近一次进入当前运行实例的参数。首次创建时与 launch options 相同;后续 deeplink、
IM 或卡片再次进入会更新它。页内 Hash 导航不会改写本值,当前页面应读取 location.hash。
签名
入参
无入参。
回调 / 返回
同步方法,直接返回 LaunchOptions;失败抛异常,无回调。
LaunchOptions| 字段 | 类型 | 说明 |
|---|---|---|
path | string | 对应一次宿主进入的应用内路径;routing.mode=none 时为空字符串。当前页以 location.hash 为准。 |
query | Record<string, unknown> | 该次宿主进入携带的参数(deeplink / 剪贴板提示 / IM 内容匹配带入,如 { curl })。 |
scene | string | 当前值包括 panel / standalone / spotlight / im / agent / deeplink / miniapp / mcp;应用须兼容未知新值。 |
示例
wf.getSystemInfoSync 可用
同步获取宿主系统信息(平台、主题、版本、语言)。
签名
入参
无入参。
回调 / 返回
同步方法,直接返回 SystemInfo;失败抛异常,无回调。
SystemInfo| 字段 | 类型 | 说明 |
|---|---|---|
platform | 'workfly' | 宿主平台标识,固定 'workfly'。 |
theme | 'dark' | 'light' | 当前主题,跟随宿主暗 / 亮。 |
version | string | 宿主应用版本。 |
language | string | 界面语言(如 'zh-CN')。 |
示例
wf.openApp 可用
从磁贴或会话卡片打开小程序完整页面。第三方只能打开自己。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
appId? | string | 目标小程序 id;省略时为调用方自己。第三方只能打开自己。 |
path? | string | 目标应用内部路径。 |
query? | Record<string, unknown> | 启动参数。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 openApp:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 openApp:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.createAppLink 可用
为当前小程序生成可复制、可发送的标准深链。仅允许 manifest 中 shareable: true 的路由;
宿主会校验应用 id、路由和参数,不接受调用方自行指定其它应用。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
path? | string | 目标应用内部路径;省略时使用 manifest 的 defaultPath。 |
query? | Record<string, unknown> | 写入链接查询串的可序列化参数。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | CreateAppLinkResult & { errMsg } | 成功回调,errMsg 形如 createAppLink:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 createAppLink:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<CreateAppLinkResult>(wx 全兼容双模)。
CreateAppLinkResult| 字段 | 类型 | 说明 |
|---|---|---|
url | string | 标准 workfly://app/<appId>/<route>?query 深链。 |
示例
wf.fireworks 可用
放烟花 🎆——在小程序自己页面上叠一层透明 canvas 放一束粒子动画,动画结束自动移除。
「页内 helper」:纯本地即时视觉、零 IPC、零权限,故是 §1.2 双模调用约定的合法例外——
就是个同步 void 调用,无回调、无 Promise。传 target 元素 / 事件则炸在其上,
不传任何定位则落在鼠标指针最近位置(无记录则视口中心)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
target? | string | Element | Event | CSS 选择器 / 元素 / 事件源 → 在其矩形中心(或事件坐标)炸开。 |
x? | number | 显式视口 X 坐标(覆盖 target)。 |
y? | number | 显式视口 Y 坐标(覆盖 target)。 |
count? | number | 连发几束,默认 1(上限 5)。 |
duration? | number | 单束时长 ms,默认约 1200(上限 4000)。 |
colors? | string[] | 调色板,缺省内置喜庆色。 |
回调 / 返回
同步方法,直接返回 void;失败抛异常,无回调。
示例
wf.notify 可用
发一条通知(经宿主统一通知中心,受用户的通知偏好、来源开关与免打扰时段约束——
被拦下时静默不显)。需声明 notification,首次调用由宿主询问并记住选择。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
title | string | 通知标题。 |
body? | string | 通知正文(可选)。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 notify:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 notify:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.schedule.createTodo 可用
新建一条待办 / 日程。需声明 schedule.write,每次调用都由宿主确认。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
title | string | 待办标题。 |
at? | string | 一次性绝对时间 YYYY-MM-DDTHH:mm;与 cron 二选一,都不给则默认今天 09:00。 |
cron? | string | 周期性 cron(5 段,如 0 9 * * 1=每周一 9 点);与 at 二选一。 |
note? | string | 备注 / 上下文(便于回看这条待办从哪来)。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | CreateTodoResult & { errMsg } | 成功回调,errMsg 形如 createTodo:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 createTodo:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<CreateTodoResult>(wx 全兼容双模)。
CreateTodoResult| 字段 | 类型 | 说明 |
|---|---|---|
todoId | string | 新建待办 id。 |
示例
wf.ocr.recognize 可用
识别图片中的文字与二维码,返回全文、逐行包围盒与二维码内容。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
image | string | 图片来源:http(s) URL 或 data URL(base64)。
不支持本地文件路径——沙箱不开放宿主文件系统;本地选图请经 <input type="file"> 转成 data URL。 |
languages? | string[] | 识别语言优先级(BCP-47,如 ['zh-Hans','en-US']);默认自动。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | OcrRecognizeResult & { errMsg } | 成功回调,errMsg 形如 recognize:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 recognize:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<OcrRecognizeResult>(wx 全兼容双模)。
OcrRecognizeResult| 字段 | 类型 | 说明 |
|---|---|---|
text | string | 按版面阅读顺序还原的全文(多列 / 表单的键值配对已复原)。 |
lines | OcrRecognizeLine[] | 逐行明细(文本 + 置信度 + 归一化包围盒)。 |
barcodes | string[] | 图中二维码的解码结果(无码为空数组;单图最多解出一个)。 |
provider | string | 识别引擎:macOS 为 vision,其余平台为 paddle。 |
示例
wf.im.getChatContext 可用
读取当前会话上下文:标识、展示名、群成员(若有)与最近消息摘要。 须从 IM 入口打开(query 带 chatId)或显式传入 chatId。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
chatId? | string | 会话 id(shortId)。省略时从当前运行实例的 launch/enter query.chatId 读取 (从 IM 工具栏 / 标题栏 / 消息菜单入口打开时由宿主注入)。 |
limit? | number | 最近消息条数,默认 20,上限 50。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | GetChatContextResult & { errMsg } | 成功回调,errMsg 形如 getChatContext:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 getChatContext:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<GetChatContextResult>(wx 全兼容双模)。
GetChatContextResult| 字段 | 类型 | 说明 |
|---|---|---|
chatId | string | |
chatType | 'chat' | 'groupchat' | string | |
peerName | string | |
peerId? | string | |
members? | ChatContextMember[] | |
recentMessages | ChatContextMessage[] |
示例
wf.im.getHistory 可用
分页读取会话历史(脱敏正文),供小程序本地筛选后再喂给 AI。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
chatId? | string | 会话 id;省略时从 launch query 读取。若传入须与入口会话一致。 |
limit? | number | 条数,默认 50,上限 200。 |
before? | number | 分页游标:只取 dateline 严格小于该值的更早消息。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | GetHistoryResult & { errMsg } | 成功回调,errMsg 形如 getHistory:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 getHistory:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<GetHistoryResult>(wx 全兼容双模)。
GetHistoryResult| 字段 | 类型 | 说明 |
|---|---|---|
chatId | string | |
messages | HistoryMessage[] | |
hasMore | boolean | |
nextBefore? | number | 下一页 before;无更多时省略。 |
示例
wf.ai.complete 可用
一次文本补全;支持 onChunk 流式渲染。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
system? | string | 系统提示(可选)。 |
messages? | AiChatMessage[] | 多轮消息;与 prompt 至少提供其一。 |
prompt? | string | 简写:单条 user 内容(可与 system 并用)。 |
temperature? | number | 采样温度,宿主裁剪到 0–1.5。 |
requestId? | string | 客户端生成的请求 id(用于流式事件过滤与 cancel)。 省略时由 SDK 自动生成。 |
onChunk? | (delta: string) => void | 流式增量回调。 |
onMessage? | (ev: AiStreamEvent) => void | 统一流式事件回调。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | AiCompleteResult & { errMsg } | 成功回调,errMsg 形如 complete:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 complete:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<AiCompleteResult>(wx 全兼容双模)。
AiCompleteResult| 字段 | 类型 | 说明 |
|---|---|---|
text | string | 完整助手文本。 |
requestId | string | 本请求 id(cancel 时用)。 |
示例
wf.ai.cancel 可用
取消进行中的 complete(按 requestId)。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
requestId | string |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | void & { errMsg } | 成功回调,errMsg 形如 cancel:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 cancel:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<void>(wx 全兼容双模)。
示例
wf.bip.rsaEncrypt 可用
RSA 公钥加密(wx 无等价的 BIP 生态扩展)。
当前服务 BIP 系 OAuth 握手:包内拼 clientSecret:秒级时间戳 后调用本方法得到
base64 密文,再走授权码链路。公钥由调用方传入,宿主不知用途。
签名
入参
| 参数 | 类型 | 说明 |
|---|---|---|
publicKey | string | PEM 格式公钥(调用方自带)。 |
data | string | 待加密明文。 |
padding? | 'pkcs1' | 'oaep' | 填充模式,默认 pkcs1(对齐 Java Cipher.getInstance("RSA"))。 |
回调 / 返回
| 回调 | 入参 | 说明 |
|---|---|---|
success? | RsaEncryptResult & { errMsg } | 成功回调,errMsg 形如 rsaEncrypt:ok |
fail? | { errMsg } | 失败回调,errMsg 形如 rsaEncrypt:fail <原因> |
complete? | { errMsg } | 结束回调,成功失败都触发 |
三者都不传时返回 Promise<RsaEncryptResult>(wx 全兼容双模)。
RsaEncryptResult| 字段 | 类型 | 说明 |
|---|---|---|
data | string | base64 编码的密文。 |
示例
wf.card.onData 可用
监听宿主下发给 Manifest v1 sandbox 卡片的结构化数据。Manifest v2 React 卡片直接读取
WorkflyCardProps.data,不得使用本方法。返回取消监听函数。
签名
入参
| 参数 | 类型 |
|---|---|
listener | (data: unknown) => void |
回调 / 返回
同步方法,直接返回 () => void;失败抛异常,无回调。