FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 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 返回值

  1. 0 成功
  2. <0 失败

# 2. 关闭所有小程序


int finclip_close_all_applet();

# 2.1 返回值

  1. 0 成功
  2. <0 失败

# 3. 关闭指定小程序


int finclip_close_applet(const char *appid);

# 3.1 参数

appid

        小程序id

# 3.2 返回值

  1. 0 成功
  2. <0 失败

# 4. 隐藏指定小程序


int finclip_hide_applet(const char *appid);

# 4.1 参数

appid

        小程序id

# 4.2 返回值

  1. 0 成功
  2. <0 失败

# 5. 显示指定小程序


int finclip_show_applet(const char *appid);

# 5.1 参数

appid

        小程序id

# 5.2 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <0 失败

# 15. 删除指定参数


int finclip_params_del(FinclipParams *params, const char *key);

# 15.1 参数

params

        调用finclip_create_params获取的参数对象

key

        需要删除的配置项

# 15.2 返回值

  1. 0 成功
  2. <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 返回值

  1. 0 成功
  2. <0 失败

# 17. 小程序是否打开


bool finclip_is_applet_open(const char *app_id);

# 17.1 参数

app_id

        小程序id

# 17.2 返回值

  1. true 已打开
  2. false 未打开

# 18. 注册系统协议


int finclip_register_protocol(const char *protocol, const char *exe);

仅支持windows, 供调试用. 注册后可以使用自定义协议打开程序

# 18.1 参数

protocol

        协议名

exe

        可执行程序位置

# 18.2 返回值

  1. 0 成功
  2. <0 失败

# 19. 获取配置工厂


IPackerFactory *finclip_get_packer_factory();

deprecated

请参考finclip_init_with_json, finclip_init_with_config

# 19.1 返回值

  1. NULL 调用失败
  2. 非空 调用成功

# 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 返回值

  1. 0 成功
  2. <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 返回值

  1. NULL 调用失败
  2. 非空 调用成功

# 22. 新建配置


FinclipParams *finclip_config_packer_new_config(IFinConfigPacker *packer);

deprecated

请参考finclip_init_with_json, finclip_init_with_config

# 22.1 返回值

  1. NULL 调用失败
  2. 非空 调用成功

# 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 返回值

  1. NULL 调用失败
  2. 非空 调用成功

# 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 返回值

  1. 0 成功
  2. <0 失败
© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

0755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单