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,大小:22x22 |
| authorizeSelectedDarkImage | ResourceStr | 否 | 协议选项选中时的深色icon,大小:22x22 |
| agreementLightImage | ResourceStr | 否 | 隐私协议入口浅色icon,大小:22x22 |
| agreementDarkImage | ResourceStr | 否 | 隐私协议入口深色icon,大小:22x22 |
| 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 | 是 | 按钮按下文字颜色 |