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

# SDK 初始化

# 1. 初始化

在使用小程序的 API 之前,需要先初始化小程序 SDK。只有成功初始化之后,才能使用 SDK 提供的 API,否则 API 调用会失败。

# API

/**
 * 初始化 FinAppClient 实例。
 * 如果实例已经存在,则更新 context。
 * @param finAppConfig - FinAppClient 的配置。
 * @param entryContext - UIAbilityContext。
 * @param entryInfo - 小程序需要打开的 Ability 的名称。
 * @param startMode - IFinAppStartMode 启动模式的配置项。
 * @returns FinAppClient 的单例实例。
 */
FinAppClient.init(finAppConfig: IFinAppConfig.IFinAppConfig, entryContext: common.UIAbilityContext,entryInfo: string, startMode?: IFinAppStartMode):FinAppClient { 
}

# 2. 配置项

下面各类型都是在 IFinAppConfig 命名空间下,比如 IFinAppConfig.IFinAppConfig 、IFinAppConfig.IStoreConfig

请注意

开元小程序 SDK 中鸿蒙相关接口正在开发过程中,实际的使用情况请以发布为准。若您在使用时发现有疑惑或相关问题,请及时与我们联系。

# 2.1 IFinAppConfig 配置项

配置名称 类型 是否必填 说明
finStoreConfigs Array<IStoreConfig> 是 小程序服务器配置信息集合
currentUserId String 否 当前用户唯一标识
appletDebugMode 'default' | 'enable' | 'forbidden' 否 小程序 debug 模式设置。默认为 default,enable为强制所有小程序开启vConsole,方便开发阶段调试;forbidden强制所有版本关闭vConsole;
productIdentification String 否 产品的标识,配置会将文件夹、UserAgent里的开元等标识改为配置后的值
uiConfig IUIConfig 否 与UI相关的配置项
pageCountLimit number 否 小程序中页面栈的最大限制。默认值为0,表示不限制。
appletAutoAuthorize Boolean 否 申请权限时是否会弹出对话框让用户确认,默认为false。如果设置为true,自动向SDK申请权限,不展示弹框
pickerRegionPath String 否 自定义地区选择器的文件路径,需放在 rawfile 文件夹下
logLevel 'none' | 'info' | 'debug' | 'warn' | 'error' 否 hilog 日志等级。默认为 'none',即不输出日志
enableNativeComponent Boolean | Array<string> 否 是否开启同层渲染原生组件。默认为 true input、textarea、video、camera
channel String 否 渠道标识,如果不填,默认为项目的 BundleID,插件中实现login会用到。
schemes Array<string> 否 自定义的scheme数组
header Record<string, string> 否 小程序中网络请求的header
imageViewConfig IImageViewConfig 否 更多按钮界面的Logo相关配置,具体见 IImageViewConfig
ignoreWebviewCertAuth boolean 否 是否忽略SSL证书校验。默认为false,设置为true时,小程序的request、uploadFile、downloadFile、web-view组件可加载不受信任的https链接以及http链接
authDescStrategy number 否 小程序权限说明配置策略(EAuthDescStrategy.None:默认方式,小程序有配置权限说明则显示配置的,没配置则不显示 ; EAuthDescStrategy.NoneShowDefault:小程序有配置权限说明则显示配置的,没配置显示内置的权限信息 ; EAuthDescStrategy.Forbidden:小程序没有配置权限说明,不允许申请权限)
enableScreenShot boolean 否 是否允许截屏录屏,默认为true
screenShotPriority EFinAppConfigPriority 否 截屏录屏配置项的优先级,默认 IFinAppConfig.EFinAppConfigPriority.Gloabl
enableWatermark boolean 否 是否显示水印,默认为false
watermarkPriority EFinAppConfigPriority 否 显示水印优先级设置,默认 IFinAppConfig.EFinAppConfigPriority.Gloabl

# 2.2 IStoreConfig 配置项

配置名称 类型 是否必填 说明
sdkKey String 是 创建应用时生成的sdkKey
sdkSecret String 是 创建应用时生成的sdkKey
apiServer String 是 服务器地址,客户部署的后台地址
apmServer String 否 apm事件上报的服务器地址,不设置时使用apiServer
cryptType "sm" | "md5" 否 网络接口加密类型。默认为"sm"(国密),也可以设置为"md5"
requestTimeout Number 否 单位是 ms,默认为 60s。请求超时时间
encryptUserId Boolean 否 (后台接口)是否对userId进行加密传输,需要确保后台服务升级至1.4.1以上,否则加密会导致接口请求失败,默认为false

# 2.3 IUIConfig 配置项

配置名称 类型 是否必填 配置描述
capsuleConfig ICapsuleConfig 否 右上角胶囊的样式配置,具体参数见 ICapsuleConfig 表
navHomeConfig INavHomeConfig 否 返回首页按钮的配置的样式配置,具体参数见 INavHomeConfig 表
navBackConfig INavBackConfig 否 返回按钮的配置的样式配置,具体参数见 INavBackConfig 表
navTitleConfig INavTitleConfig 否 导航栏标题样式,具体参数见 INavTitleConfig 表
navigationBarHeight Number 否 导航栏高度,默认值为44
hideBackToHome Boolean 否 是否隐藏导航栏中回到首页按钮,默认是 false
hideShareAppletMenu Boolean 否 是否隐藏小程序更多菜单中的分享按钮,默认是 true
hideForwardMenu Boolean 否 是否隐藏更多菜单中的转发按钮,默认是 false
hideRefreshMenu Boolean 否 是否隐藏更多菜单中的重新进入按钮,默认是 false
hideSettingMenu Boolean 否 是否隐藏小程序更多菜单中的设置按钮,默认是 false
hideDebugMenu Boolean 否 是否隐藏更多菜单中打开/关闭调试按钮,默认是 false
hideFavoriteMenu Boolean 否 是否隐藏更多菜单中收藏/取消收藏按钮,默认是 true
hideFeedbackMenu Boolean 否 是否隐藏更多菜单中反馈投诉按钮,默认是 false
hideClearCacheMenu Boolean 否 是否隐藏更多菜单中清除缓存按钮,默认是 false
appletText String 否 小程序文案,默认为“小程序”,你可以设置为"快应用","轻应用"

# 2.4 ICapsuleConfig 配置项

配置名称 类型 是否必填 配置描述
hideCapsuleCloseButton Boolean 否 隐藏小程序胶囊里的关闭按钮
hideTransitionCloseButton Boolean 否 是否隐藏小程序loading页的关闭按钮
capsuleWidth Number 否 胶囊的宽度
capsuleHeight Number 否 胶囊的高度
capsuleRightMargin Number 否 胶囊的右边框距离屏幕右边框的距离
capsuleCornerRadius Number 否 胶囊的圆角半径
capsuleBorderWidth Number 否 胶囊的边框宽度
moreBtnWidth Number 否 胶囊的更多按钮宽度
moreBtnLeftMargin Number 否 更多按钮的左边距
closeBtnWidth Number 否 胶囊里关闭按钮的宽度
closeBtnLeftMargin Number 否 胶囊里关闭按钮的左边距
capsuleBorderLightColor String 否 胶囊的浅色边框颜色
capsuleBorderDarkColor String 否 胶囊的深色边框颜色
capsuleBgLightColor String 否 胶囊的浅色下背景颜色
capsuleBgDarkColor String 否 胶囊的深色下背景颜色
capsuleDividerLightColor String 否 胶囊里浅色分割线颜色
capsuleDividerDarkColor String 否 胶囊里的深色分割线颜色

# 2.5 INavHomeConfig 配置项

配置名称 类型 是否必填 配置描述
width Number 否 返回首页按钮的宽度
height Number 否 返回首页按钮的高度
leftMargin Number 否 返回首页按钮的左侧距离屏幕左边框的距离
cornerRadius Number 否 返回首页按钮的圆角半径
borderWidth Number 否 返回首页按钮的边框宽度
borderLightColor String 否 返回首页按钮的浅色边框颜色
borderDarkColor String 否 返回首页按钮的深色边框颜色
bgLightColor String 否 返回首页按钮的浅色背景颜色
bgDarkColor String 否 返回首页按钮的深色背景颜色
lightImage ResourceStr 否 返回首页按钮的浅色图片资源地址
darkImage ResourceStr 否 返回首页按钮的深色图片资源地址

# 2.6 INavBackConfig 配置项

配置名称 类型 是否必填 配置描述
width Number 否 返回按钮的宽度
height Number 否 返回按钮的高度
leftMargin Number 否 返回按钮的左侧距离屏幕左边框的距离
lightImage ResourceStr 否 返回按钮的浅色图片资源地址
darkImage ResourceStr 否 返回按钮的深色图片资源地址

# 2.6 INavTitleConfig 配置项

配置名称 类型 是否必填 配置描述
fontSize Number 否 导航栏标题字号
fontWeight Number 否 导航栏标题字重
textAlign string 否 导航栏标题方式,仅支持 left 和 center。居中对齐时,showNavigationBarLoading API 不生效

# 2.7 IImageViewConfig 配置项

配置名称 类型 是否必填 配置描述
borderCornerRadius number 否 图片边框圆角半径 默认: 20
borderWidth number 否 图片边框宽度 默认:0.5
borderColor str 否 图片边框颜色 默认: #D8D8D8
backgroundColor str 否 图片背景颜色 默认: #FFF