# 1. 启动小程序
int finclip_start_applet(const char *appstore, const char *appid);
int finclip_start_applet_params(const char *appstore, const char *appid, FinclipParams *params);
int finclip_start_applet_embed(const char *appstore, const char *appid, FinclipParams *params, HWND container);
根据appstore指定对应的全局配置, 您也可以增加ui参数
# 1.1 参数
appstore
服务器配置的appstore
appid
小程序对应的appid
params
使用finclip_create_params创建的参数
container
嵌入的目标窗口句柄 (仅windows支持)
# 1.2 可选参数
属性 | 类型 | 参数值 | 说明 |
---|---|---|---|
window_type | string | (默认值) 独立模式: 0 嵌入模式: 1 | 窗口类型, 仅支持windows, 每个小程序独立设置 |
show_loading | string | (默认值) 展示: 1 不展示: 0 | 是否展示loading动画 |
force_applet_update | string | (默认值) 不强制: 0 强制: 1 | 是否强制小程序更新, |
title_bar_back_button | string | (默认值) 隐藏: hidden 显示: normal | 是否展示返回按钮 |
title_bar_close_button | string | (默认值) 显示: normal 隐藏: hidden | 是否展示关闭按钮 |
title_bar_more_button | string | (默认值) 显示: normal 隐藏: hidden | 是否展示关闭按钮 |
window_height | string | 初始窗口高度 | |
window_width | string | 初始窗口宽度 | |
window_min_height | string | 最小窗口高度 | |
window_min_width | string | 最小窗口宽度 | |
title_bar_close_button_hide | string | (默认值) 关闭: normal 隐藏: hidden | 右上角关闭按钮功能, 可以选择关闭或者隐藏小程序窗口 |
page_path | string | 小程序首屏路径 | |
start_params | string | 传给小程序的启动参数 | |
start_flag | string | 启动设置 |
# 1.3 返回值
- 0 成功
- <0 失败
# 2. 关闭所有小程序
int finclip_close_all_applet();
# 2.1 返回值
- 0 成功
- <0 失败
# 3. 关闭指定小程序
int finclip_close_applet(const char *appid);
# 3.1 参数
appid
小程序id
# 3.2 返回值
- 0 成功
- <0 失败
# 4. 隐藏指定小程序
int finclip_hide_applet(const char *appid);
# 4.1 参数
appid
小程序id
# 4.2 返回值
- 0 成功
- <0 失败
# 5. 显示指定小程序
int finclip_show_applet(const char *appid);
# 5.1 参数
appid
小程序id
# 5.2 返回值
- 0 成功
- <0 失败
# 6. 注册小程序状态事件回调
int finclip_register_lifecycle(const char *appid, LifecycleType lifecycle, FinclipLifecycleHandle handle, void *input);
如果同时注册了all和具体的回调类型, 会触发回调2次
同一类型的回调注册多次, 只有最后一次生效
# 6.1 参数
appid
小程序id
lifecycle
需要监听的事件
handle
回调函数
input
透传给回调函数
# 6.2 生命周期类型
名称 | 值 | 说明 |
---|---|---|
kLifecycleAll | 0 | 所有事件 |
kLifecycleStarted | 1 | 小程序启动 |
kLifecycleClosed | 2 | 小程序关闭 |
kLifecycleHide | 3 | 小程序窗口隐藏 |
kLifecycleShow | 4 | 小程序窗口显示 |
kLifecycleDomReady | 5 | 小程序首屏渲染完毕 |
# 6.3 返回值
- 0 成功
- <0 失败
# 7. 设置小程序窗口位置
int finclip_set_position(const char *appid, int left, int top, int width, int height);
# 7.1 参数
appid
小程序appid
left
left
top
top
width
width
height
height
# 7.2 返回值
- 0 成功
- <0 失败
# 8. 注册自定义api
int finclip_register_api(FinClipApiType type, const char *apis, FinclipApiHandle handle, void *input);
供小程序或h5调用
注意, 自定api对所有小程序都生效
# 8.1 参数
type
自定义api类型
apis
api名称, 以,分割的字符串
handle
处理函数
input
自定义参数, 透传给handle
# 8.2 自定义api类型
名称 | 值 | 说明 |
---|---|---|
kApplet | 0 | 供小程序调用的api |
kWebView | 1 | 供h5调用的api |
# 8.3 返回值
- 0 成功
- <0 失败
# 9. 设置自定义api的返回值
int finclip_callback_res(const char *app_id, int callback_id, void *result);
小程序和宿主的api调用是异步, 通过此函数将返回值传回
# 9.1 参数
app_id
小程序id
callback_id
回调id
result
调用finclip_create_params获取的参数对象
# 9.2 返回值
- 0 成功
- <0 失败
# 10. 初始化sdk
int finclip_init_with_json(const char *appstore, const char *json_str);
int finclip_init_with_config(const char *appstore, const FinclipParams *config);
# 10.1 参数
appstore
服务器配置的appstore, 作为这套全局配置的唯一id
json_str
json字符串
config
使用finclip_create_params生成的FinclipParams对象
# 10.2 可选参数
属性 | 类型 | 参数值 | 说明 |
---|---|---|---|
appstore | string | 这组参数的唯一id | |
appkey | string | 从凡泰小程序开放平台获取的appkey | |
secret | string | 从凡泰小程序开放平台获取的secret | |
domain | string | 服务器地址 | |
exe_path | string | 可执行文件位置 | |
cef_path | string | 浏览器内核地址 |
# 10.3 返回值
- 0 成功
- <0 失败
# 11. 创建参数容器
FinclipParams *finclip_create_params(void);
FinclipParams是一个json对象的简单封装
目的为了方便各种语言有统一的参数容器
使用完毕后, 请调用finclip_destory_params销毁 FinclipParams
# 12. 从json字符串创建启动参数
FinclipParams *finclip_build_params(const char *json_str);
FinclipParams是一个json对象的简单封装
目的为了方便各种语言有统一的参数容器
使用完毕后, 请调用finclip_destory_params销毁 FinclipParams
# 12.1 参数
json_str
json格式的启动参数
# 13. 销毁启动参数
int finclip_destory_params(FinclipParams *params);
方便不同语言统一使用 对nlohmann/json做的封装
# 13.1 参数
params
调用finclip_create_params获取的参数对象
# 13.2 返回值
- 0 成功
- <0 失败
# 14. 设置参数
int finclip_params_set(FinclipParams *params, const char *key, const char *value);
设置一个配置项, 具体配置项参见相应的api
# 14.1 参数
params
调用finclip_create_params获取的参数对象
key
配置项的key
value
配置项的value
# 14.2 返回值
- 0 成功
- <0 失败
# 15. 删除指定参数
int finclip_params_del(FinclipParams *params, const char *key);
# 15.1 参数
params
调用finclip_create_params获取的参数对象
key
需要删除的配置项
# 15.2 返回值
- 0 成功
- <0 失败
# 16. 调用自定义api
int finclip_invoke_api(FinClipApiType type, const char *app_id, const char *api_name, const char *params, FinclipApiCallback callback, void *input);
调用h5中的自定义api, 小程序不支持自定义api
# 16.1 参数
type
调用finclip_create_params获取的参数对象
app_id
小程序id
api_name
自定义api名称
params
参数, json字符串
callback
回调函数
input
自定义参数, 透传给回调函数
# 16.2 返回值
- 0 成功
- <0 失败
# 17. 小程序是否打开
bool finclip_is_applet_open(const char *app_id);
# 17.1 参数
app_id
小程序id
# 17.2 返回值
- true 已打开
- false 未打开
# 18. 注册系统协议
int finclip_register_protocol(const char *protocol, const char *exe);
仅支持windows, 供调试用. 注册后可以使用自定义协议打开程序
# 18.1 参数
protocol
协议名
exe
可执行程序位置
# 18.2 返回值
- 0 成功
- <0 失败
# 19. 获取配置工厂
IPackerFactory *finclip_get_packer_factory();
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 19.1 返回值
- NULL 调用失败
- 非空 调用成功
# 20. SDK初始化
int finclip_initialize(IFinConfigPacker *configpacker);
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 20.1 参数
configpacker
由finclip_config_packer_new_config创建的IFinConfigPacker对象
# 20.2 返回值
- 0 成功
- <0 失败
# 21. 获取packer
IFinConfigPacker *finclip_packer_factory_get_config_packer(IPackerFactory *factory);
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 21.1 参数
factory
由finclip_get_packer_factory创建的IPackerFactory对象
# 21.2 返回值
- NULL 调用失败
- 非空 调用成功
# 22. 新建配置
FinclipParams *finclip_config_packer_new_config(IFinConfigPacker *packer);
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 22.1 返回值
- NULL 调用失败
- 非空 调用成功
# 23. 获取配置
FinclipParams *finclip_config_packer_get_config(IFinConfigPacker *packer, char *appstore);
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 23.1 参数
packer
由finclip_get_packer_factory创建的IPackerFactory对象
appstore
服务器配置的appstore
# 23.2 返回值
- NULL 调用失败
- 非空 调用成功
# 24. 增加配置
int finclip_config_packer_add_config(IFinConfigPacker *packer, FinclipParams *config);
deprecated
请参考finclip_init_with_json, finclip_init_with_config
# 24.1 参数
packer
IFinConfigPacker对象
config
FinclipParams对象
# 24.2 返回值
- 0 成功
- <0 失败