SDK 初始化
1. 初始化
在使用小程序的 API 之前,需要先初始化小程序 SDK。只有成功初始化之后,才能使用 SDK 提供的 API,否则 API 调用会失败。
API
2. 配置项
下面各类型都是在 IFinAppConfig
命名空间下,比如 IFinAppConfig.IFinAppConfig
、IFinAppConfig.IStoreConfig
请注意
FinClip 小程序 SDK 中鸿蒙相关接口正在开发过程中,实际的使用情况请以发布为准。若您在使用时发现有疑惑或相关问题,请及时与我们联系。
2.1 IFinAppConfig 配置项
配置名称 | 类型 | 是否必填 | 说明 |
finStoreConfigs | Array<IStoreConfig> | 是 | 小程序服务器配置信息集合 |
currentUserId | String | 否 | 当前用户唯一标识 |
appletDebugMode | 'default' | 'enable' | 'forbidden' | 否 | 小程序 debug 模式设置。默认为 default,enable为强制所有小程序开启vConsole,方便开发阶段调试;forbidden强制所有版本关闭vConsole; |
productIdentification | String | 否 | 产品的标识,配置会将文件夹、UserAgent里的FinClip 等标识改为配置后的值 |
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 |
enableWebviewDebug | boolean | 否 | 是否开启webview调试,默认为false |
language | string | 否 | SDK的语言类型。 目前仅支持中文和英文,默认情况下为中文,不支持的类型也会显示为中文 |
backgroundFetchPeriod | number | 否 | 周期性更新的时间间隔(小时), 设置为0不会发起周期性更新以及数据预拉取请求,接收设置范围为3-12小时 |
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 |
enablePreloadFramework | boolean | 否 | 默认为true。是否预下载基础库,如果设置为false,则初始化SDK时不会预下载基础库 |
2.3 IUIConfig 配置项
配置名称 | 类型 | 是否必填 | 配置描述 |
capsuleConfig | ICapsuleConfig | 否 | 右上角胶囊的样式配置,具体参数见 ICapsuleConfig 表 |
navHomeConfig | INavHomeConfig | 否 | 返回首页按钮的配置的样式配置,具体参数见 INavHomeConfig 表 |
navBackConfig | INavBackConfig | 否 | 返回按钮的配置的样式配置,具体参数见 INavBackConfig 表 |
navTitleConfig | INavTitleConfig | 否 | 导航栏标题样式,具体参数见 INavTitleConfig 表 |
forwardConfig | IForwardConfig | 否 | 转发按钮的样式配置,具体参数见 IForwardConfig 表 |
webviewComponentProgressBarStyle | IWebviewComponentProgressBarConfig | 否 | webview 加载进度条样式配置,具体参数见 IWebviewComponentProgressBarConfig 表 |
authViewConfig | IAuthViewConfig | 否 | 授权弹框样式配置,具体参数见 IAuthViewConfig 表 |
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 | 否 | 小程序文案,默认为“小程序”,你可以设置为"快应用","轻应用" |
themeStyle | IFinApplet.IThemeStyle | 否 | 主题模式,默认为 Light |
appendingCustomUserAgent | string | 否 | 要拼接至userAgent中的内容。 |
isAlwaysShowBackInDefaultNavigationBar | Boolean | 否 | 当导航栏为默认导航栏时,是否始终显示返回按钮,默认值为false。 |
IFinApplet.IThemeStyle
名称 | 描述 |
Auto | 跟随应用 |
Light | 浅色模式 |
Dark | 深色模式 |
2.4 ICapsuleConfig 配置项
配置名称 | 类型 | 是否必填 | 配置描述 |
hideCapsuleCloseButton | Boolean | 否 | 隐藏小程序胶囊里的关闭按钮 |
hideCapsuleMoreButton | 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 |
2.8 IForwardConfig 配置项
配置名称 | 类型 | 是否必填 | 配置描述 |
label | string | 是 | 转发按钮的文案 |
icon | ResourceStr | 是 | 转发按钮的图标资源地址 |
disableIcon | ResourceStr | 否 | 转发按钮的禁用图标资源地址 |
darkIcon | ResourceStr | 否 | 转发按钮的深色图标资源地址 |
disableDarkIcon | ResourceStr | 否 | 转发按钮的禁用深色图标资源地址 |
2.9 IWebviewComponentProgressBarConfig 配置项
配置名称 | 类型 | 是否必填 | 配置描述 |
enable | boolean | 否 | 是否启用加载进度条 |
width | number | 否 | 加载进度条的宽度 |
color | string | 否 | 加载进度条的背景色 |
activeColor | string | 否 | 加载进度条的进度色 |
2.10 IAuthViewConfig 配置项
配置名称 | 类型 | 是否必填 | 配置描述 |
appletNameTextSize | number | 否 | 小程序名称字体大小,默认16 |
appletNameLightColor | ResourceColor | 否 | 小程序名称的浅色颜色,默认#222222 |
appletNameDarkColor | ResourceColor | 否 | 小程序名称的深色颜色,默认#d0d0d0 |
authorizeTitleTextSize | number | 否 | 权限标题字体大小,默认17 |
authorizeTitleLightColor | ResourceColor | 否 | 权限标题的浅色颜色,默认#222222 |
authorizeTitleDarkColor | ResourceColor | 否 | 权限标题的深色颜色,默认#d0d0d0 |
authorizeDescriptionTextSize | number | 否 | 权限描述字体大小,默认14 |
authorizeDescriptionLightColor | ResourceColor | 否 | 权限描述的浅色颜色,默认#666666 |
authorizeDescriptionDarkColor | ResourceColor | 否 | 权限描述的深色颜色,默认#5c5c5c |
authorizeSelectedLightImage | ResourceStr | 否 | 协议选项选中时的浅色icon,大小:22x22dp |
authorizeSelectedDarkImage | ResourceStr | 否 | 协议选项选中时的深色icon,大小:22x22dp |
agreementLightImage | ResourceStr | 否 | 隐私协议入口浅色icon,大小:22x22dp |
agreementDarkImage | ResourceStr | 否 | 隐私协议入口深色icon,大小:22x22dp |
agreementTitleTextSize | number | 否 | 协议标题字体大小,默认16 |
agreementTitleLightColor | ResourceColor | 否 | 协议标题的浅色颜色,默认#222222 |
agreementTitleDarkColor | ResourceColor | 否 | 协议标题的深色颜色,默认#d0d0d0 |
agreementDescriptionTextSize | number | 否 | 协议描述字体大小,默认14 |
agreementDescriptionLightColor | ResourceColor | 否 | 协议描述的浅色颜色,默认#222222 |
agreementDescriptionDarkColor | ResourceColor | 否 | 协议描述的深色颜色,默认#d0d0d0 |
linkLightColor | ResourceColor | 否 | 链接的浅色颜色,默认#4285f4 |
linkDarkColor | ResourceColor | 否 | 链接的深色颜色,默认#4285f4 |
allowButtonLightConfig | IAuthButtonConfig | 否 | 同意按钮浅色配置 |
allowButtonDarkConfig | IAuthButtonConfig | 否 | 同意按钮深色配置 |
rejectButtonLightConfig | IAuthButtonConfig | 否 | 拒绝按钮浅色配置 |
rejectButtonDarkConfig | IAuthButtonConfig | 否 | 拒绝按钮深色配置 |
配置名称 | 类型 | 是否必填 | 配置描述 |
cornerRadius | number | 是 | 按钮的圆角半径 |
normalBackgroundColor | ResourceColor | 是 | 按钮默认背景颜色 |
pressedBackgroundColor | ResourceColor | 是 | 按钮按下背景颜色 |
normalBorderColor | ResourceColor | 是 | 按钮默认边框颜色 |
pressedBorderColor | ResourceColor | 是 | 按钮按下边框颜色 |
normalTextColor | ResourceColor | 是 | 按钮默认文字颜色 |
pressedTextColor | ResourceColor | 是 | 按钮按下文字颜色 |