创蓝闪验SDK适配uniappx版本UTS插件集成文档

一.准备工作

概述

本文是创蓝闪验SDK在uniappx/uniapp中使用的集成文档,用于指导 SDK 的集成使用。

合规性说明

详见SDK初始化合规性指南

能力介绍

一键登录:SDK获取当前流量卡对应的token,通过服务端可置换当前流量卡的手机号码。

本机校验:SDK获取当前流量卡对应的token,提供手机号码,通过服务端可校验提供的手机号是否为当前流量卡的手机号码。

注意:本机校验和一键登录是两个单独的能力,两者的token不能互用,否则会报"应用能力不匹配"。

前置条件

  • 创蓝闪验 SDK 支持中国移动 3/4G/5G、联通 3/4G/5G、电信 4G/5G 的取号能力,在 3G 网络下时延会更高

  • 创蓝闪验 SDK 支持单数据网络、数据网络与 WiFi 网络双开,不支持单 WiFi 网络

  • 对于双卡手机,创蓝闪验 SDK 只对当前流量卡取号,双卡均未开数据流量 SDK 将会返回错误码

注意:三网运营商内部执行逻辑不同,必须分别使用三网运营商的卡进行测试,防止功能异常

创建应用

应用的创建流程及AppId/AppKey的获取,请查看「账号创建」文档

二.一键登录API

引用方式

复制代码
	import { PrivacyListItem, AuthAndroidUIConfigure, AuthIOSUIConfigure, BaseUIConfig, ShanYanUIConfigure, WidgetsConfig, ShanYanSDKModule } from "../../uni_modules/cl-shanyan"
	import { WidgetItem, StatusBarItem, SystemNavBarItem, NavBarItem, LogoItem, NumberItem, SLoganItem, LoginButtonItem, PrivacyItem, PrivacyList, DialogThemeItem, CLLayoutUIItem, ConfigItem, CLEdgeInsetsItem, CLSizeItem } from "../../uni_modules/cl-shanyan/utssdk/interface.uts"	
    const shanYanSDKModule = new ShanYanSDKModule();

1.初始化

调用 SDK 其他流程方法前,请确保已调用过初始化,否则会返回未初始化。(会采集信息,建议放到同意协议后调用)

调用示例

复制代码
shanYanSDKModule.initWithAppId('your_appId', (response) => {
// 初始化结果回调函数
let code = response.code;
let message = response.message;
});

参数描述

参数 类型 说明
appId String 创蓝闪验平台获取到的 appId
initCallback CLResultCallBack 初始化结果监听函数,接收结果对象CLResultResponse,详见【CLResultResponse描述】

2.预取号

  • 【可选方法】获取取号临时凭证;建议在调用拉起授权页前 2-3 秒调用,可以缩短拉起授权页耗时;如果启动 app 就需要展示授权页,预取号和拉起授权页间隔小于1秒,不要调用,否则可能会有异常。

  • 请勿与拉起授权登录页同时或之后调用。

  • 避免大量资源下载时调用,例如游戏中加载资源或者更新补丁的时,否则会增加超时概率

调用示例

复制代码
shanYanSDKModule.getPhoneInfo( (response) => {
// 预取号结果回调函数
let code = response.code;
let message = response.message;
let telecom = response.data?.telecom;
let protocolName = response.data?.protocolName;
let protocolUrl = response.data?.protocolUrl;
});

参数描述

参数 类型 说明
phoneInfoCallback CLResultCallBack 预取号结果监听,接收结果对象CLResultResponse,详见【CLResultResponse描述】

3.拉起授权页&获取token

  • 拉起授权页方法将会调起运营商授权页面。已登录状态请勿调用 。

  • 每次调用拉起授权页方法前均需先调用授权页配置方法,否则授权页可能会展示异常。

  • 必须保证上一次拉起的授权页已经销毁再调用,否则 SDK 会返回请求频繁。

  • 拉起一次授权页,登录按钮最多只能点击 4 次,第五次默认会置灰,不返回信息。

调用示例

复制代码
//授权页UI配置详见【授权页配置说明】
const uiConfigure = this.getUIConfig();
shanYanSDKModule.quickAuthLoginWithConfigure(uiConfig, (response) => {
		// 拉起授权页结果回调函数
		let code = response.code;
		let message = response.message;
		}, (response) => {
		// 授权结果回调函数,包括获取token结果和点击返回按钮结果
		let code = response.code;
		let message = response.message;
        //当code为1000时,返回token字段。
		let token = response.data?.token;
		});

参数描述

参数 类型 说明
uiConfig ShanYanUIConfigure 授权页配置对象, 详见【授权页配置说明】
openLoginAuthCallback CLResultCallBack 启动授权页结果监听,接收结果对象CLResultResponse,详见【CLResultResponse描述】
oneKeyLoginCallback CLResultCallBack 授权结果监听,接收结果对象CLResultResponse,详见【CLResultResponse描述】

4.置换手机号

当【4.拉起授权页&获取token 】授权结果监听外层 code 为 1000 时,会获取到置换手机号所需的 token。请将token传递给App服务端,由服务端参考「服务端」文档来实现获取手机号码的步骤。

5.其他API

a.设置 log 开关

需要初始化之前调用,开启后能够打印SDK内部更多日志信息,主要用于开发对接过程中排查问题。

调用示例

复制代码
//true:开启;false:关闭;默认:false
shanYanSDKModule.setDebug(true);

b.设置预取号超时时间

需要初始化之前调用,用于设置预取号超时时间,不建议设置小于 4 的值,否则可能会导致超时的概率增加。

调用示例

复制代码
//单位秒,默认:4。
shanYanSDKModule.setTimeOutForPreLogin(6);

c.清理预取号缓存

预取号成功后默认会有本地缓存,调用此方法可以清理本地预取号缓存。

调用示例

复制代码
shanYanSDKModule.clearScripCache();

d.销毁授权页

在授权页正在展示的情况下,调用此方法可以关闭授权页。

调用示例

复制代码
shanYanSDKModule.finishAuthActivity();

三.本机校验API

1.初始化

同一键登录初始化,如果本机校验和一键登录都需要使用时,只需调用一次初始化。

2.本机校验获取 token

在初始化执行之后调用,本机号校验可以不写界面,如果需要界面需自行实现,该方法可以在多个需要校验的页面中调用。

调用示例

复制代码
shanYanSDKModule.startAuthentication((response) => {
						// 本机校验结果回调函数
	let code = response.code;
	let message = response.message;
    //当code为1000时,返回token字段。
	let token = response.data?.token;
});

参数描述

参数 类型 说明
authCallback CLResultCallBack 本机校验获取token结果监听,接收结果对象CLResultResponse,详见【CLResultResponse描述】

3.校验手机号

当本机校验获取token监听的code 为 1000 时,会获取到检验手机号所需的 token。请将token传递给App服务端,由服务端参考「服务端」文档来实现检验手机号码的步骤。

四.返回结果及状态码描述

1.CLResultResponse描述

CLResultResponse为初始化、预取号、拉起授权页&获取token、本机校验等方法的返回结果对象,包含参数释义如下:

字段 类型 含义
code int 外层码。 1000:成功;其他:失败 。
message string 外层描述 ,结果简述。
innerCode string 内层码,详细状态码,主要用于失败时排查问题 。
innerDesc string 内层描述,结果详细描述,主要用于失败时排查问题。
data ResultData 初始化、拉起授权页时为空,其他方法见参数描述。
data> telecom string 运营商类型:CMCC(移动);CUCC(联通);CTCC(电信); UNKNOW/其他(无 SIM 卡或非三网运营商卡)。注意:只在预取号方法成功时有值
data> protocolName string 当前运营商名称。注意:只在预取号方法成功时有值
data> protocolUrl string 当前运营商协议链接。注意:只在预取号方法成功时有值
data> token string 一键登录或本机校验的token。注意:只在获取token成功时有值

2.状态码描述

此表为 SDK 外层返回码,如需查看内层码及服务端返回码,请查看官网[返回码]文档

返回码 返回码描述
1000 成功
1001 运营商返回错误
1002 运营商信息获取失败,请结合 result 查看具体失败原因
1003 一键登录获取 token 失败,请结合 result 查看具体失败原因
1004 未初始化
1005 预取号请求失败,请结合 result 查看具体失败原因
1006 无法识别sim卡或没有sim卡
1007 网络请求失败,请结合 result 查看具体失败原因
1008 数据流量不稳定
1011 点击返回,用户取消免密登录
1014 SDK 内部异常,请结合 result 查看具体失败原因
1016 APPID 为空
1019 其他错误,请结合 result 查看具体失败原因
1022 网络初始化、预取号成功
1023 初始化、预取号失败,请结合 result 查看具体失败原因
1031 请求过于频繁
1032 用户禁用
2003 本机号校验返回失败,请结合 result 查看具体失败原因

五、授权页配置

通过ShanYanUIConfigure属性配置可实现对三网运营商授权页面个性化设计,三网界面配置内部实现逻辑不同,请务必使用移动、联通、电信卡分别测试。

注意:
1、开发者不得通过任何技术手段,破解授权页,或将授权页面的号码栏、隐私栏、登录按钮隐藏、覆盖。
2、登录按钮文字描述必须包含"登录"或"注册"等文字,不得诱导用户授权。
3、对于接入SDK并上线的应用,我方会对上线的应用授权页面做审查,如果有出现未按要求弹出或设计授权页面的,将关闭应用的认证取号服务。

ShanYanUIConfigure属性

复制代码
`
`/**
 * 授权页系统状态栏(电量、信号等显示区域)属性
 */`
`export` type StatusBarItem `=` `{`
	`//Android - 设置授权页状态栏背景颜色,16进制颜色值,如:"#0ff000"。`
	statusBarColor `?:` string
	`//Android - 设置协议页状态栏背景颜色,16进制颜色值,如:"#0ff000"。`
	privacyStatusBarColor `?:` string
	`//Android - 设置授权页状态栏字体颜色是否白色。true:白色;false:黑色;默认:false。`
	isLightColor `?:` boolean
	`//Android - 设置协议页状态栏字体颜色是否白色。true:白色;false:黑色;默认:false。`
	isPrivacyLightColor `?:` boolean
	`//Android - 设置授权页状态栏是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	isStatusBarHidden `?:` boolean
	`//Android - 设置协议页状态栏是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	isPrivacyStatusBarHidden `?:` boolean
`}`
`/**
 * 授权页系统导航栏(底部返回按钮、标题等显示区域)属性
 */`
`export` type SystemNavBarItem `=` `{`
	`//Android - 设置授权页底部导航栏(虚拟Home键、物理返回键等显示区域)是否透明。true:透明;false:不透明;默认:false。`
	isVirtualKeyTransparent `?:` boolean
	`//Android - 设置协议页底部导航栏(虚拟Home键、物理返回键等显示区域)是否透明。true:透明;false:不透明;默认:false。`
	isPrivacyVirtualKeyTransparent `?:` boolean
	`//Android - 设置授权页是否显示全屏,设置全屏时会隐藏掉底部导航栏(虚拟Home键、物理返回键等显示区域)。true:全屏;false:不全屏;默认:false。`
	isFullScreen `?:` boolean
	`//Android -设置协议页是否显示全屏,设置全屏时会隐藏掉底部导航栏(虚拟Home键、物理返回键等显示区域)。true:全屏;false:不全屏;默认:false。`
	isPrivacyFullScreen `?:` boolean
	`//Android - 设置授权页物理返回键点击事件是否可用。true:可用;false:不可用;默认:true。`
	isBackPressedAvailable `?:` boolean
`}`
`/**
 * 授权页导航栏属性
 */`
`export` type NavBarItem `=` `{`
	`//Android - 设置授权页自定义导航栏背景色,16进制颜色值,如:"#0ff000"。`
	navColor `?:` string
	`//Android - 设置授权页自定义导航栏标题文字内容`
	navText `?:` string
	`//Android - 设置授权页自定义导航栏标题文字颜色,16进制颜色值,如:"#0ff000"。`
	navTextColor `?:` string
	`//Android - 设置授权页自定义导航栏标题字号大小`
	navTextSize `?:` number
	`//Android - 设置授权页自定义导航栏标题字体是否加粗。true:加粗;false:不加粗;默认:false。`
	isNavTextBold `?:` boolean
	`//Android - 设置授权页自定义导航栏背景是否透明。true:透明;false:不透明;默认:true。`
	authNavTransparent `?:` boolean
	`//Android - 设置授权页自定义导航栏是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	authNavHidden `?:` boolean
	`//Android - 设置授权页自定义导航栏返回键是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	navReturnImgHidden `?:` boolean
	`//Android - 设置授权页自定义导航栏返回键图片名称,带图片格式后缀,如:"abc.png"。`
	navReturnImgPath `?:` string
	`//Android - 设置授权页自定义导航栏返回键宽度,默认25dp`
	returnBtnWidth `?:` number
	`//Android - 设置授权页自定义导航栏返回键高度,默认25dp`
	returnBtnHeight `?:` number
	`//Android - 设置授权页自定义导航栏返回键距离屏幕左侧边界的X偏移量`
	navReturnBtnOffsetX `?:` number
	`//Android - 设置授权页自定义导航栏返回键距离屏幕上侧边界的Y偏移量`
	navReturnBtnOffsetY `?:` number
	`//Android  - 设置授权页自定义导航栏返回键距离屏幕右侧边界的X偏移量`
	navReturnBtnOffsetRightX `?:` number
`}`
`/**
 * 授权页logo属性 
*/`
`export` type LogoItem `=` `{`
	`//Android - 设置授权页logo从导航栏向下的Y偏移量`
	logoOffsetY `?:` number
	`//Android - 设置授权页logo从屏幕下边界向上的Y偏移量`
	logoOffsetBottomY `?:` number
	`//Android - 设置授权页logo从屏幕左侧边界向右的X偏移量`
	logoOffsetX `?:` number
	`//Android - 设置授权页logo宽度`
	logoWidth `?:` number
	`//Android - 设置授权页logo高度`
	logoHeight `?:` number
	`//Android - 设置授权页logo是否隐藏`
	logoHidden `?:` boolean
	`//Android - 设置授权页logo图片名称,带图片格式后缀,如:"abc.png"。`
	logoImgPath `?:` string
`}`
`/**
 * 授权页号码栏属性 
*/`
`export` type NumberItem `=` `{`
	`//Android - 设置授权页号码栏高度`
	numFieldHeight `?:` number
	`//Android - 设置授权页号码栏宽度`
	numFieldWidth `?:` number
	`//Android - 设置授权页号码栏文字颜色,16进制颜色值,如:"#0ff000"。`
	numberColor `?:` string
	`//Android - 设置授权页号码栏文字是否加粗。true:加粗;false:不加粗;默认:false。`
	isNumberBold `?:` boolean
	`//Android - 设置授权页号码栏从导航栏向下的Y偏移量`
	numFieldOffsetY `?:` number
	`//Android - 设置授权页号码栏从屏幕下边界向上的Y偏移量`
	numFieldOffsetBottomY `?:` number
	`//Android - 设置授权页号码栏从屏幕左侧边界向右的X偏移量`
	numFieldOffsetX `?:` number
	`//Android - 设置授权页号码栏字体大小`
	numberSize `?:` number
`}`

`/**
 * 授权页运营商slogan栏属性
 */`
`export` type SLoganItem `=` `{`
	`//Android - 设置授权页运营商slogan从导航栏向下的Y偏移量`
	sloganOffsetY `?:` number
	`//Android - 设置授权页运营商slogan从屏幕下边界向上的Y偏移量`
	sloganOffsetBottomY `?:` number
	`//Android - 设置授权页运营商slogan从屏幕左侧边界向右的X偏移量`
	sloganOffsetX `?:` number
	`//Android - 设置授权页运营商slogan文字颜色,16进制颜色值,如:"#0ff000"。`
	sloganTextColor `?:` string
	`//Android - 设置授权页运营商slogan文字是否加粗。true:加粗;false:不加粗;默认:false。`
	isSloganTextBold `?:` boolean
	`//Android - 设置授权页运营商slogan文字大小`
	sloganTextSize `?:` number
	`//Android - 设置授权页运营商slogan是否隐藏,true:隐藏;false:不隐藏;默认:false。`
	sloganHidden `?:` boolean
`}`
`/**
 * 授权页登录按钮属性
 */`
`export` type LoginButtonItem `=` `{`
	`//Android - 设置授权页登录按钮字体大小`
	logBtnTextSize `?:` number
	`//Android - 设置授权页登录按钮文本内容`
	logBtnText `?:` string
	`//Android - 设置授权页登录按钮文本字体颜色,16进制颜色值,如:"#0ff000"。`
	logBtnTextColor `?:` string
	`//Android - 设置授权页登录按钮背景颜色,16进制颜色值,如:"#0ff000"。`
	logBtnBackgroundColor `?:` string
	`//Android - 设置授权页登录按钮背景图片名称,带图片格式后缀,如:"abc.png"。`
	logBtnBackgroundPath `?:` string
	`//Android - 设置授权页登录按钮宽度`
	logBtnWidth `?:` number
	`//Android - 设置授权页登录按钮高度`
	logBtnHeight `?:` number
	`//Android - 设置授权页登录按钮字体是否加粗。true:加粗;false:不加粗;默认:false。`
	isLogBtnTextBold `?:` boolean
	`//Android - 设置授权页登录按钮从导航栏向下的Y偏移量`
	logBtnOffsetY `?:` number
	`//Android - 设置授权页登录按钮从屏幕下边界向上的Y偏移量`
	logBtnOffsetBottomY `?:` number
	`//Android - 设置授权页登录按钮从屏幕左侧边界向右的X偏移量`
	logBtnOffsetX `?:` number
	`//Android - 设置点击登录按钮后,是否自动关闭授权页。true:关闭;false:不关闭;默认:true。`
	isFinishLoginPage `?:` boolean
`}`
`/**
 * 授权页协议栏属性
 */`
`export` type PrivacyItem `=` `{`
	`//Android - 设置授权页协议栏父控件(父容器)宽度`
	privacyWidth `?:` number
	`//Android - 设置授权页协议复选框默认是否选中。true:选中;false:不选中;默认:false。`
	privacyState `?:` boolean
	`//Android - 设置授权页隐私协议栏字体大小`
	privacyTextSize `?:` number
	`//Android - 设置授权页协议复选框未勾选时的图片名称,带图片格式后缀,如:"abc.png"。`
	uncheckedImgPath `?:` string
	`//Android - 设置授权页协议复选框勾选时的图片名称,带图片格式后缀,如:"abc.png"。`
	checkedImgPath `?:` string
	`//Android - 设置授权页复选框是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	checkBoxHidden `?:` boolean
	`//Android - 设置授权页复选框宽度`
	checkboxWidth `?:` number
	`//Android - 设置授权页复选框高度`
	checkboxHeight `?:` number
	`//Android - 设置授权页复选框向左边拓展的热点区域`
	checkboxMarginLeft `?:` number
	`//Android - 设置授权页复选框向右边拓展的热点区域`
	checkboxMarginRigth `?:` number
	`//Android - 设置授权页复选框向上边拓展的热点区域`
	checkboxMarginTop `?:` number
	`//Android - 设置授权页复选框向下边拓展的热点区域`
	checkboxMarginBottom `?:` number
	`//Android - 设置授权页复选框在协议栏内的X偏移量`
	checkboxOffsetX `?:` number
	`//Android - 设置授权页复选框在协议栏内的Y偏移量`
	checkboxOffsetY `?:` number
	`//Android - 设置授权页协议栏从导航栏向下的Y偏移量`
	privacyOffsetY `?:` number
	`//Android - 设置授权页协议栏从屏幕下边界向上的Y偏移量`
	privacyOffsetBottomY `?:` number
	`//Android - 设置授权页协议栏从屏幕左侧边界向右的X偏移量`
	privacyOffsetX `?:` number
	`//Android - 设置授权页隐私协议文字是否加粗。true:加粗;false:不加粗;默认:false。`
	isPrivacyTextBold `?:` boolean
	`//Android - 设置授权页隐私协议栏内容对齐方式是否是左对齐。true:左对齐;false:水平居中;默认:false。`
	privacyOffsetGravityLeft `?:` boolean
	`//Android - 设置授权页隐私协议栏内容在父控件是否居中显示。true:居中;false:居左;默认:true。`
	privacyGravityHorizontalCenter `?:` boolean
	`//Android - 设置授权页运营商协议位置是否为最后一个。true:最后一个;false:第一个;默认:false。`
	operatorPrivacyAtLast `?:` boolean
	`//Android - 设置授权页协议点击时,是否跳转到SDK内置协议页。true:跳转内置协议页;false:不跳转内置协议页;默认:true。`
	privacyActivityEnabled `?:` boolean
	`//Android - 设置授权页协议是否显示下划线。true:显示;false:不显示;默认:false。`
	privacyNameUnderline `?:` boolean
	`//Android - 设置授权页协议未勾选时,toast提示是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	privacyToastHidden `?:` boolean
	`//Android - 设置授权页协议基础内容文字颜色,16进制颜色值,如:"#0ff000"。`
	privacyBaseColor `?:` string
	`//Android - 设置授权页协议名称文字颜色,16进制颜色值,如:"#0ff000"。`
	privacyNameColor `?:` string
	`//Android - 设置授权页协议文字的间距倍数`
	textLineSpacingMult `?:` number
	`//Android - 设置授权页协议文字的间距数值`
	textLineSpacingAdd `?:` number
	`//Android - 设置授权页协议名称外的书名号是否隐藏。true:隐藏;false:不隐藏;默认:false。`
	privacySmhHidden `?:` boolean
	`//Android - 设置授权页协议未勾选时toast提示文字内容`
	toastText `?:` string
	`//Android - 设置授权页协议最前和最后的文字描述`
	privacyText `?:` PrivacyTextItem
	`//Android - 设置授权页自定义协议`
	morePrivacy `?:` PrivacyList
`}`
`// 自定义隐私协议属性`
`export` type PrivacyListItem `=` `{`
	`//自定义协议名称`
	`name` `:` string
	`//自定义协议链接`
	`url` `:` string
	`//自定义协议外的文字`
	content `?:` string
	`//自定义协议名称颜色`
	color `?:` string
`}`
`// 自定义隐私协议集合类型`
`export` type PrivacyList `=` `Array<`PrivacyListItem`>;`
`//`
`export` type PrivacyTextItem `=` `{`
	`//协议栏最前端的文字描述`
	privacyTextHead `?:` string
	`//当运营商协议默认显示到第一个时,此为运营商协议后的文字描述`
	privacyTextFirst `?:` string
	`//协议栏最后端的文字描述`
	privacyTextEnd `?:` string
`}`
`/**
 * 授权页弹窗样式的属性 
 */`
`export` type DialogThemeItem `=` `{`
	`//Android - 设置授权页是否是弹窗样式。true:弹窗样式;false:全屏样式;默认:false。`
	isDialogTheme `?:` boolean
	`//Android - 设置弹窗授权页是否显示到屏幕底部。true:显示到屏幕底部;false:居中;默认:false。`
	isDialogBottom `?:` boolean
	`//Android - 设置弹窗授权页遮盖层灰度(0-1)`
	dialogDimAmount `?:` number
	`//Android - 设置弹窗授权页宽度`
	dialogWidth `?:` number
	`//Android - 设置弹窗授权页高度`
	dialogHeight `?:` number
	`//Android - 设置弹窗授权页从屏幕左侧边界向右的X偏移量`
	dialogOffsetX `?:` number
	`//Android - 设置弹窗授权页从屏幕顶部向下的Y偏移量`
	dialogOffsetY `?:` number
`}`
`// 授权页UI配置类型`
`export` type BaseUIConfig `=` `{`

	`/****************************************** 系统整体属性 ******************************************/`

	`//Android - 设置授权页是否允许截图。true:允许;false:不允许;默认:false。`
	authFlagSecure `?:` boolean
	`//Android - 设置协议页是否允许截图。true:允许;false:不允许;默认:false。`
	privacyFlagSecure `?:` boolean
	`//Android&IOS - 设置授权页背景图片名称,带图片格式后缀,如:"abc.png"。`
	authBGImgPath `?:` string
	`//Android - 设置授权页背景动图,带图片格式后缀,如:"abc.png"。`
	authBgGifPath `?:` string
	`//Android - 设置授权页背景视频,带图片格式后缀,如:"abc.png"。`
	authBgVideoPath `?:` string
	`//Android - 设置授权页系统窗口区域占用。true:视图会将其内容绘制在系统窗口(如状态栏-电量、信号等显示区域)之外,避免内容被系统UI覆盖;false:内容能够伸入系统窗口;默认true。视频背景需要伸入到系统窗口时可以调用此方法`
	isFitsSystemWindows `?:` boolean
	`//Android - 设置授权页默认字体单位是否是dp。true:sp;false:dp;默认:false。`
	textSizeIsdp `?:` boolean
	`//Android - 协议是否支持viewport。true:支持;false:不支持;默认:false。`
	isViewPortEnabled `?:` boolean
	`//授权页系统状态栏(电量、信号等显示区域)属性`
	statusBarConfig `?:` StatusBarItem
	`//授权页系统导航栏(底部返回按钮、标题等显示区域)属性`
	systemNavBarConfig `?:` SystemNavBarItem
	`//授权页导航栏属性`
	navBarConfig `?:` NavBarItem
	`//授权页logo属性`
	logoConfig `?:` LogoItem
	`//授权页号码栏属性`
	numberConfig `?:` NumberItem
	`//授权页运营商slogan栏属性`
	sloganConfig `?:` SLoganItem
	`//授权页登录按钮属性`
	loginButtonConfig `?:` LoginButtonItem
	`//授权页协议栏属性`
	privacyConfig `?:` PrivacyItem
	`//授权页弹窗样式属性`
	dialogThemeConfig `?:` DialogThemeItem
`}`
`// 自定义控件类型ios && Android`
`export` type WidgetItem `=` `{`
	`//Android && iOS-图片填充方式`
	scaleType `?:` number`;`
	`//Android && iOS- 圆角半径`
	cornerRadius `?:` number`;`
	`//Android && iOS- 设置自定义控件ID`
	widgetId `?:` number
	`//Android && iOS- 设置自定义控件类型,包括"TextView"、"Button"、"ImageView"。`
	`type` `:` string
	`//Android && iOS- 设置自定义控件宽度`
	width `?:` number
	`//Android && iOS- 设置自定义控件高度`
	height `?:` number
	`//Android && iOS- 设置自定义控件从屏幕左侧边界向右的X偏移量`
	leftOffsetX `?:` number
	`//Android && iOS- 设置自定义控件从导航栏向下的Y偏移量`
	topOffsetY `?:` number
	`//Android && iOS- 设置自定义控件从屏幕右侧边界向左的X偏移量`
	rightOffsetX `?:` number
	`//Android && iOS- 设置自定义控件从屏幕底部向上的Y偏移量`
	bottomOffsetY `?:` number
	`//Android && iOS- 设置自定义控件文本内容`
	textContent `?:` string
	`//Android && iOS- 设置自定义控件文本字体大小`
	textFont `?:` number
	`//Android && iOS- 设置自定义控件文本字体颜色,16进制颜色值,如:"#0ff000"。`
	textColor `?:` string
	`//Android && iOS- 设置自定义控件容器背景色,16进制颜色值,如:"#0ff000"。`
	backgroundColor `?:` string
	`//Android && iOS- 设置自定义控件容器背景图片名称,带图片格式后缀,如:"abc.png"。`
	backgroundImgPath `?:` string
	`//Android && iOS- 设置点击自定义控件,是否自动销毁授权页。true:自动销毁;false:不自动消耗,默认false`
	isFinish `?:` boolean
	`// Android - 自定义控件点击事件回调。iOS不在此回调,需要在setCallEventUIBlock获取点击事件`
	callback `?:` WidgetCallBack
	`//iOS - 设置自定义控件边框颜色,16进制颜色值,如:"#0ff000"`
	borderColor `?:` string
	`//iOS - 设置自定义控件边框宽度`
	borderWidth `?:` number
	`//iOS - 设置自定义控件相对中心偏移量x`
	centerX `?:` number
	`//iOS - 设置自定义控件相对中心偏移量y`
	centerY `?:` number
`}`
`export` type AuthIOSUIConfigure `=` `{`

	`/****************************************** 授权页 ******************************************/`

	`// iOS-是否手动关闭授权页(0,,1),默认 0`
	clManualDismiss `?:` number
	`// iOS-授权页背景图片,如"xxx.png"。图片路径为nativeResources/ios`
	clBackgroundImg `?:` string
	`// iOS-授权页背景颜色,16进制颜色值,如:"#0ff000"`
	clBackgroundColor `?:` string

	`/****************************************** 系统整体属性 ******************************************/`

	`// iOS-导航栏是否隐藏(0,,1), 默认0, 设置优先级高于clNavigationBackgroundClear eg.@(NO)`
	clNavigationBarHidden `?:` number
	`// iOS-导航栏是否透明(0,1),默认1`
	clNavigationBackgroundClear `?:` number
	`// iOS-导航栏标题`
	clNavigationTitleText `?:` string
	`// iOS-导航栏标题字体大小`
	clNavigationTitleTextFontSize `?:` number
	`// iOS-导航栏标题字体样式`
	clNavigationTitleTextFontFamily `?:` string
	`// iOS-导航栏 字体颜色`
	clNavigationTitleTextColor `?:` string
	`// iOS-导航栏左侧返回按钮图片,如"xxx.png"。图片路径为nativeResources/ios`
	clNavigationBackBtnImage `?:` string
	`// iOS-导航栏返回按钮是否隐藏(0,1),默认1`
	clNavigationBackBtnHidden `?:` number
	`// iOS-导航栏自带返回(关闭)按钮位置 默认0 居左,设置为1居右显示`
	clNavBackBtnAlimentRight `?:` number
	`// iOS-导航栏分割线是否隐藏(0,1),默认1`
	clNavigationBottomLineHidden `?:` number
	`// iOS-导航栏分割线图片,如"xxx.png"。图片路径为nativeResources/ios`
	clNavigationShadowImage `?:` string
	`// iOS-导航栏文字颜色,16进制颜色值,如:"#0ff000"`
	clNavigationTintColor `?:` string
	`// iOS-导航栏背景颜色,默认white`
	clNavigationBarTintColor `?:` string
	`// iOS-导航栏背景图片,如"xxx.png"。图片路径为nativeResources/ios`
	clNavigationBackgroundImage `?:` string
	`// iOS-导航栏 配合背景图片设置,用来控制在不同状态下导航栏的显示(横竖屏是否显示) UIBarMetrics eg.@(UIBarMetricsCompact)`
	clNavigationBarMetrics `?:` number
	`/****************************************** LOGO相关 ******************************************/`

	`// iOS-logo图片,如"xxx.png"。图片路径为nativeResources/ios`
	clLogoImage `?:` string
	`// iOS-logo圆角`
	clLogoCornerRadius `?:` number
	`// iOS-logo是否隐藏(0,1),默认为0`
	clLogoHiden `?:` number

	`/****************************************** 手机号相关 ******************************************/`

	`// iOS-手机号颜色,16进制颜色值,如:"#0ff000"`
	clPhoneNumberColor `?:` string
	`// iOS-手机号字体样式,默认系统字体`
	clPhoneNumberFontFamily `?:` string
	`// iOS-字体大小`
	clPhoneNumberFontSize `?:` number
	`// iOS-对齐方式,原生对应枚举数字 NSTextAlignment 默认@(NSTextAlignmentCenter)`
	clPhoneNumberTextAlignment `?:` number

	`/****************************************** 一键登录按钮相关  ******************************************/`

	`// iOS-一键登录按钮文字`
	clLoginBtnText `?:` string
	`// iOS-一键登录按钮文本颜色,16进制颜色值,如:"#0ff000"`
	clLoginBtnTextColor `?:` string
	`// iOS-一键登录按钮背景颜色,16进制颜色值,如:"#0ff000"`
	clLoginBtnBgColor `?:` string
	`// iOS-一键登录按钮字体样式,默认为系统字体`
	clLoginBtnTextFontFamily `?:` string
	`// iOS-一键登录按钮字体大小`
	clLoginBtnTextFontSize `?:` number
	`// iOS-一键登录按钮state Normal背景图片`
	clLoginBtnNormalBgImage `?:` string
	`// iOS-一键登录按钮state高亮图片`
	clLoginBtnHightLightBgImage `?:` string
	`// iOS-一键登录按钮state不可用图片`
	clLoginBtnDisabledBgImage `?:` string
	`// iOS-一键登录按钮边框颜色,16进制颜色值,如:"#0ff000"`
	clLoginBtnBorderColor `?:` string
	`// iOS-一键登录按钮圆角大小`
	clLoginBtnCornerRadius `?:` number
	`// iOS-一键登录按钮边框宽度`
	clLoginBtnBorderWidth `?:` number

	`/****************************************** checkBox相关 ******************************************/`
	`// iOS-协议勾选框是否隐藏(0,,1)`
	clCheckBoxHidden `?:` number
	`// iOS-协议勾选框,是否选中(0,1)`
	clCheckBoxValue `?:` number
	`// iOS-协议勾选框尺寸大小`
	clCheckBoxSize `?:` CLSizeItem
	`// iOS-协议勾选框,UIButton内部图片边距`
	clCheckBoxImageEdgeInsets `?:` CLEdgeInsetsItem
	`// iOS-协议勾选框,设置CheckBox顶部与隐私协议控件顶部对齐 YES或大于0生效 eg.@(YES)`
	clCheckBoxVerticalAlignmentToAppPrivacyTop `?:` number
	`// iOS-协议勾选框,设置CheckBox顶部与隐私协议控件竖向中心对齐 YES或大于0生效 eg.@(YES)`
	clCheckBoxVerticalAlignmentToAppPrivacyCenterY `?:` number
	`// iOS-协议勾选框,设置CheckBox对齐后的偏移量,相对于对齐后的中心距离在当前垂直方向上的偏移`
	clCheckBoxVerticalAlignmentOffset `?:` number
	`// iOS-协议勾选框,未选中时图片`
	clCheckBoxUncheckedImage `?:` string
	`// iOS-协议勾选框,选中时图片`
	clCheckBoxCheckedImage `?:` string
	`// iOS-协议勾选框,提示文本,默认"请勾选协议"`
	clCheckBoxTipMsg `?:` string
	`// iOS-协议勾选框点击登录提示是否Disable(0,1),1禁止`
	clCheckBoxTipDisable `?:` number

	`/****************************************** 隐私协议 ******************************************/`
	`// iOS-协议数组`
	`/*
	decollator:string      //隐私协议拼接内容,如"、"
	lastDecollator:string  //拼接内容是否放隐私条款后("YES","NO"),如"YES",拼接隐私条款后面
	privacyName:string     //隐私条款名称,如"《自定义隐私协议》"
	privacyURL:string      //隐私条款URL,如"https://xxx.com"
	示例: [{decollator:'、',lastDecollator:'NO',privacyName:'《自定义隐私协议》',privacyURL:'https://xxx.com'}]
	*/`
	clAppMorePrivacyArray `?:` `Array<`object`>`
	`// iOS-协议文本字体样式,默认系统字体`
	clAppPrivacyTextFontFamily `?:` string
	`// iOS-协议文本字体大小`
	clAppPrivacyTextFontSize `?:` number
	`// iOS- 协议文本颜色,[基础文本颜色, 协议文本颜色]`
	clAppPrivacyTextColor `?:` `Array<`string`>`
	`// iOS- 协议下划线(0,,1),默认0,不加下划线`
	clPrivacyShowUnderline `?:` number
	`// iOS- 协议下多行间距`
	clAppPrivacyLineSpacing `?:` number
	`// iOS- 协议导航返回图片`
	clAppPrivacyWebBackBtnImage `?:` string
	`// iOS- 协议UINavigationTintColor`
	clAppPrivacyWebNavigationTintColor `?:` string
	`// iOS- 协议UINavigationBarTintColor`
	clAppPrivacyWebNavigationBarTintColor `?:` string
	`// iOS- 协议 UINavigationBackgroundImage`
	clAppPrivacyWebNavigationBackgroundImage `?:` string
	`// iOS- 协议 UINavigationBarMetrics`
	clAppPrivacyWebNavigationBarMetrics `?:` number
	`// iOS- 协议 UINavigationShadowImage`
	clAppPrivacyWebNavigationShadowImage `?:` string
	`// iOS- 协议 UINavigationBarStyle`
	clAppPrivacyWebNavigationBarStyle `?:` number
	`// iOS- 协议 运营商协议是否添加《》,默认(0,,1)0,`
	clAppPrivacyPunctuationMarks `?:` number
	`// iOS- 协议 开头描述文本,默认为: "同意"`
	clAppPrivacyNormalDesTextFirst `?:` string
	`// iOS- 协议 末尾描述文本,默认为: 并授权<#appName#>获得本机号码`
	clAppPrivacyNormalDesTextLast `?:` string
	`// iOS- 协议 运营商协议是否后置(0,1),默认0`
	clOperatorPrivacyAtLast `?:` number
	`/****************************************** 运营商SLOGAN相关 ******************************************/`
	`// iOS-slogan字体样式`
	clSloganTextFontFamily `?:` string
	`// iOS-slogan字体大小`
	clSloganTextFontSize `?:` number
	`// iOS-slogan字体颜色`
	clSloganTextColor `?:` string
	`// iOS-slogan字体对齐方式,具体为原生iOS枚举数字`
	clSlogaTextAlignment `?:` number
	`// iOS-slogan是否隐藏(0,,1),默认0,不隐藏`
	clSloganTextHidden `?:` number
	`/******************************************  闪验SLOGAN相关 ******************************************/`

	`// iOS-slogan字体样式`
	clShanYanSloganTextFontFamily `?:` string
	`// iOS-slogan字体大小`
	clShanYanSloganTextFontSize `?:` number
	`// iOS-slogan字体颜色`
	clShanYanSloganTextColor `?:` string
	`// iOS-slogan字体对齐方式,具体为原生iOS枚举数字`
	clShanYanSlogaTextAlignment `?:` number
	`// iOS-slogan是否隐藏(0,,1),默认0,不隐藏`
	clShanYanSloganTextHidden `?:` number


	`/****************************************** Loading相关 ******************************************/`

	`//iOS-loading大小`
	clLoadingSize `?:` CLSizeItem
	`//iOS-loading圆角`
	clLoadingCornerRadius `?:` number
	`//iOS-loading颜色`
	clLoadingBackgroundColor `?:` string
	`//iOS-loading样式,原生iOS枚举对应的数字`
	clLoadingIndicatorStyle `?:` number
	`//iOS-loading颜色`
	clLoadingTintColor `?:` string

	`/****************************************** 横竖屏设置 ******************************************/`
	`// iOS-是否支持自动旋转`
	shouldAutorotate `?:` number
	`// iOS-支持方向,对应原生枚举类型`
	supportedInterfaceOrientations `?:` number
	`// iOS-默认方向,对应原生枚举类型`
	preferredInterfaceOrientationForPresentation `?:` number


	widgetsConfig `?:` `Array<`object`>`

	`/****************************************** 窗口模式 ******************************************/`
	`// ps:窗口模式下可以通过CLLayoutUIItem,来设置大小、位置`

	`// iOS-窗口模式是否以此显示(0,,1),默认0`
	clAuthTypeUseWindow `?:` number
	`// iOS-窗口模式圆角`
	clAuthWindowCornerRadius `?:` number
	`// iOS-窗口模式clAuthWindowModalTransitionStyle系统自带的弹出方式 仅支持以下三种`
	`// - UIModalTransitionStyleCoverVertical  0 底部弹出`
	`// - UIModalTransitionStyleFlipHorizontal 1 翻转显示`
	`// - UIModalTransitionStyleCrossDissolve  2 淡入`
	clAuthWindowModalTransitionStyle `?:` number

	`// iOS-窗口模式,若使用窗口模式,请设置为UIModalPresentationOverFullScreen 或不设置`
	`//  *iOS13强制全屏,请设置为UIModalPresentationFullScreen`
	`//  *UIModalPresentationAutomatic API_AVAILABLE(ios(13.0)) = -2`
	`//  *默认UIModalPresentationFullScreen`
	`// 原生枚举对应的数字`
	`// UIModalPresentationFullScreen = 0,`
	`// UIModalPresentationPageSheet API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos),`
	`// UIModalPresentationFormSheet API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos),`
	`// UIModalPresentationCurrentContext API_AVAILABLE(ios(3.2)),`
	`// UIModalPresentationCustom API_AVAILABLE(ios(7.0)),`
	`// UIModalPresentationOverFullScreen API_AVAILABLE(ios(8.0)),`
	`// UIModalPresentationOverCurrentContext API_AVAILABLE(ios(8.0)),`
	`// UIModalPresentationPopover API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(tvos),`
	`// UIModalPresentationBlurOverFullScreen API_AVAILABLE(tvos(11.0)) API_UNAVAILABLE(ios) API_UNAVAILABLE(watchos),`
	`// UIModalPresentationNone API_AVAILABLE(ios(7.0)) = -1,`
	`// UIModalPresentationAutomatic API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) = -2,`
	clAuthWindowModalPresentationStyle `?:` number

	`// iOS-窗口模式,协议页 UIModalPresentationStyle (授权页使用窗口模式时,协议页强制使用模态弹出)`
	`// 对应枚举类型 查看clAuthWindowModalPresentationStyle列举枚举`
	clAppPrivacyWebModalPresentationStyle `?:` number

	`// iOS-窗口模式UIUserInterfaceStyle`
	`// UIUserInterfaceStyleUnspecified - 不指定样式,跟随系统设置进行展示`
	`// UIUserInterfaceStyleLight       - 明亮`
	`// UIUserInterfaceStyleDark,       - 暗黑 仅对iOS13+系统有效`
	`// 授权页 UIUserInterfaceStyle,默认:UIUserInterfaceStyleLight,eg. @(UIUserInterfaceStyleLight)`
	clAuthWindowOverrideUserInterfaceStyle `?:` number
	`// iOS-窗口模式,授权页面present弹出时animate动画设置(0,,1),默认1带动画`
	clAuthWindowPresentingAnimate `?:` number
	`// iOS-窗口模式,授权页面dismiss时animate动画设置(0,,1),默认1带动画`
	clAuthWindowDismissAnimate `?:` number

	`/****************************************** 布局 ******************************************/`
	`// 竖屏布局`
	clOrientationLayOutPortrait `?:` CLLayoutUIItem
	`// 横屏布局`
	clOrientationLayOutLandscape `?:` CLLayoutUIItem
`}`

`export` type TUIConfigure `=` `{`
	clNavigationBackBtnImage `?:` string
	clNavigationBarHidden `?:` number
	`clNavigationAttributesTitleText` `:` string
	clBackgroundImg `?:` string
	clBackgroundColor `?:` string
	clPhoneNumberColor `?:` string
`}`


`export` type CLSizeItem `=` `{`
	`width` `:` number
	`height` `:` number
`}`

`export` type CLEdgeInsetsItem `=` `{`
	`top` `:` number
	`left` `:` number
	`bottom` `:` number
	`right` `:` number
`}`

`export` type CLLayoutItem `=` `{`
	top `?:` number
	left `?:` number
	bottom `?:` number
	right `?:` number
	width `?:` number
	height `?:` number
	centerX `?:` number
	centerY `?:` number
`}`

`export` type CLLayoutUIItem `=` `{`
	clLogonLayout `?:` CLLayoutItem
	clPhoneLayout `?:` CLLayoutItem
	clLoginBtnLayout `?:` CLLayoutItem
	clPrivacyLayout `?:` CLLayoutItem
	clSloganLayout `?:` CLLayoutItem
	clShanSloganLayout `?:` CLLayoutItem
	`/* ***************************************窗口模式下布局***************************************/`
	`// ps:非窗口模式下无须设置`
	`// 窗口中心:CGPoint X Y`
	clAuthWindowOrientationCenter `?:` CLSizeItem
	`// 窗口左上角:frame.origin:CGPoint X Y`
	clAuthWindowOrientationOrigin `?:` CLSizeItem
	`// 窗口大小:宽`
	clAuthWindowOrientationWidth `?:` number
	`// 窗口大小:高`
	clAuthWindowOrientationHeight `?:` number
`}`


`// 所有控件集合类型`
`export` type WidgetsConfig `=` `Array<`WidgetItem`>;`

`export` type ConfigItem `=` `{`
	`//授权页固定元素配置`
	baseUIConfig `?:` BaseUIConfig
	`//授权页自定义控件配置`
	widgetsConfig `?:` WidgetsConfig
`}`
`export` type AuthAndroidUIConfigure `=` `{`
	`//授权页竖屏配置`
	verticalConfig `?:` ConfigItem
	`//授权页横屏配置`
	horizontalConfig `?:` ConfigItem
`}`
`// 主配置类型`
`export` type ShanYanUIConfigure `=` `{`
	androidConfig `?:` AuthAndroidUIConfigure
	iOSConfig `?:` AuthIOSUIConfigure
`}

配置示例

复制代码
`            `const` uiConfigure `=` `this.getUIConfig();`
            shanYanSDKModule`.quickAuthLoginWithConfigure(`uiConfig`,` `(`response`)` `=>` `{`
            `},` `(`response`)` `=>` `{`
              `});`
			`getUIConfig()` `:` ShanYanUIConfigure `{`
				`const` androidConfig `=` `this.getAndroidUIConfig();`
				`const` iOSConfig `=` `this.getIOSUIConfig();`
				`const` `uiConfigure` `:` ShanYanUIConfigure `=` `{`
					`//Android授权页UI配置,如果没有Android终端场景,可以不配置此项`
					androidConfig`,`
					`//iOS授权页UI配置,如果没有iOS终端场景,可以不配置此项`
					iOSConfig
				`};`
				`return` uiConfigure`;`

			`},`
            `getAndroidUIConfig()` `:` AuthAndroidUIConfigure `{`
				`// 引入原生模块`
				`const` systemInfo `=` uni`.getSystemInfoSync();`
				`// 获取屏幕宽度`
				`const` screenWidth `=` systemInfo`.`screenWidth`;`
				`// 获取屏幕高度`
				`const` screenHeight `=` systemInfo`.`screenHeight`;`
				`//授权页UI配置,具体可配置项详见授权页配置说明文档`
				`const` `androidUIConfig` `:` AuthAndroidUIConfigure `=` `{`
					`//授权页竖屏配置,如果没有竖屏场景,不需要配置此项。`
					`verticalConfig:` `{`
						`baseUIConfig:` `{`
							`authBGImgPath:` `'shanyan_ver_bg',`
							`statusBarConfig:` `{`
								`statusBarColor:` `"#ffaa00",`
								`isLightColor:` `false`
							`},`
							`systemNavBarConfig:` `{`
								`isBackPressedAvailable:` `true`
							`},`
							`navBarConfig:` `{`
								`navText:` `"免密登录",`
								`navReturnImgPath:` `"shanyan_dialo_close.png",`
								`returnBtnWidth:` `35,`
								`returnBtnHeight:` `35,`
								`navColor:` `"#1Aaeaeae",`
								`navTextColor:` `"#ffffff"`
							`},`
							`logoConfig:` `{`
								`logoImgPath:` `"shanyan_logo",`
								`logoOffsetY:` `60,`
								`logoWidth:` `100,`
								`logoHeight:` `70`
							`},`
							`numberConfig:` `{`
								`numberColor:` `"#0000ff",`
								`isNumberBold:` `true`
							`},`
							`sloganConfig:` `{`
								`isSloganTextBold:` `true,`
								`sloganHidden:` `false,`
								`sloganOffsetY:` `190,`
								`sloganTextColor:` `"#00ff00"`
							`},`
							`loginButtonConfig:` `{`
								`logBtnText:` `"一键登录登录测试",`
								`logBtnOffsetY:` `235`
							`},`
							`privacyConfig:` `{`
								`privacyTextSize:` `12,`
								`privacyBaseColor:` `"#ffffff",`
								`privacyText:` `{`
									`privacyTextHead:` `"已知晓且同意",`
									`privacyTextFirst:` `"和",`
									`privacyTextEnd:` `"并授权本应用获取手机号"`
								`},`
								`morePrivacy:` `[`
									`{`
										`name:` `"闪验用户协议1",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"、",`
										`color:` `"#ff00ff"`
									`},`
									`{`
										`name:` `"闪验用户协议2",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"、"`
									`},`
									`{`
										`name:` `"闪验用户协议3",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"",`
										`color:` `"#f00f0f"`
									`}]`
							`}`
						`},`
						`widgetsConfig:` `[`
							`{`
								`type:` `"Button",`
								`width:` screenWidth `-` `94,`
								`height:` `46,`
								`textColor:` `"#ffffff",`
								`topOffsetY:` `310,`
								`backgroundImgPath:` `"shanyan_login_btn_bg",`
								`textContent:` `"切换其ButTon他登录方式 >",`
								`isFinish:` `true,`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试Button类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试Button类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`leftOffsetX:` `70,`
								`bottomOffsetY:` `130,`
								`backgroundImgPath:` `"shanyan_qq",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`bottomOffsetY:` `130,`
								`backgroundImgPath:` `"shanyan_weixin",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`rightOffsetX:` `70,`
								`bottomOffsetY:` `130,`
								`backgroundImgPath:` `"shanyan_weibo",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"TextView",`
								`width:` `80,`
								`height:` `40,`
								`leftOffsetX:` `50,`
								`bottomOffsetY:` `100,`
								`textColor:` `"#aa00cc",`
								`textContent:` `"qq",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试TextView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试TextView类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"TextView",`
								`width:` `80,`
								`height:` `40,`
								`bottomOffsetY:` `100,`
								`textColor:` `"#aa00cc",`
								`textContent:` `"微信",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试TextView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试TextView类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"TextView",`
								`width:` `80,`
								`height:` `40,`
								`rightOffsetX:` `50,`
								`bottomOffsetY:` `100,`
								`textColor:` `"#aa00cc",`
								`textContent:` `"微博",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试TextView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试TextView类型自定义控件点击事件监听')`
								`}`
							`},]`
					`}` `as` ConfigItem`,`
					`//授权页横屏配置,如果没有横屏场景,不需要配置此项。`
					`horizontalConfig:` `{`
						`baseUIConfig:` `{`
							`authBGImgPath:` `'shanyan_hor_bg',`
							`isFitsSystemWindows:` `false,`
							`statusBarConfig:` `{`
								`isStatusBarHidden:` `true`
							`},`
							`systemNavBarConfig:` `{`
								`isBackPressedAvailable:` `true,`
							`},`
							`navBarConfig:` `{`
								`navReturnImgPath:` `"shanyan_dialog_close",`
								`returnBtnWidth:` `35,`
								`returnBtnHeight:` `35,`
							`},`
							`logoConfig:` `{`
								`logoImgPath:` `"shanyan_logo",`
								`logoOffsetY:` `-20,`
								`logoWidth:` `100,`
								`logoHeight:` `70`
							`},`
							`numberConfig:` `{`
								`numberColor:` `"#ffffff",`
								`isNumberBold:` `true,`
								`numFieldOffsetY:` `40`
							`},`
							`sloganConfig:` `{`
								`sloganHidden:` `true,`
							`},`
							`loginButtonConfig:` `{`
								`logBtnText:` `"一键登录登录",`
								`logBtnOffsetY:` `80,`
								`logBtnWidth:` screenHeight `-` `400`
							`},`
							`privacyConfig:` `{`
								`privacyTextSize:` `12,`
								`privacyOffsetBottomY:` `2,`
								`privacyWidth:` screenHeight`,`
								`privacyOffsetX:` `120,`
								`privacyBaseColor:` `"#ffffff",`
								`privacyNameColor:` `"#ff00ff",`
								`privacyText:` `{`
									`privacyTextHead:` `"已知晓且同意",`
									`privacyTextFirst:` `"和",`
									`privacyTextEnd:` `"并授权本应用获取手机号"`
								`},`
								`morePrivacy:` `[`
									`{`
										`name:` `"闪验用户协议1",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"、"`
									`},`
									`{`
										`name:` `"闪验用户协议2",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"、"`
									`},`
									`{`
										`name:` `"闪验用户协议3",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `""`
									`}]`
							`}`
						`},`
						`widgetsConfig:` `[`
							`{`
								`type:` `"Button",`
								`width:` screenHeight `-` `400,`
								`height:` `46,`
								`textColor:` `"#ffffff",`
								`topOffsetY:` `140,`
								`backgroundImgPath:` `"shanyan_login_btn_bg",`
								`textContent:` `"切换其ButTon他登录方式 >",`
								`isFinish:` `false,`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试Button类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试Button类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`leftOffsetX:` screenHeight `/` `2` `-` `200,`
								`bottomOffsetY:` `60,`
								`backgroundImgPath:` `"shanyan_qq",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`bottomOffsetY:` `60,`
								`backgroundImgPath:` `"shanyan_weixin",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`leftOffsetX:` screenHeight `/` `2` `+` `160,`
								`bottomOffsetY:` `60,`
								`backgroundImgPath:` `"shanyan_weibo",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`}`
							`}]`
					`}` `as` ConfigItem

				`}`
				`return` androidUIConfig`;`
			`},`
			`getIOSUIConfig()` `:` AuthIOSUIConfigure `{`
				`// 引入原生模块`
				`const` systemInfo `=` uni`.getSystemInfoSync();`
				`//获取屏幕高度`
				`const` screenHeight `=` systemInfo`.`screenHeight`;`
				`const` `iOSUIConfig` `:` AuthIOSUIConfigure `=` `{`
					`clNavigationTitleText:` `'闪验demo',`
					`clBackgroundImg:` `'bb4bf6b9301170c7fa0a766b1024d2d3.jpg',`
					`clNavigationBackBtnImage:` `'back-7.png',`
					`clAppPrivacyWebBackBtnImage:` `'shanyan_dialog_close.png',`

					`// logo`
					`clLogoImage:` `'shanyan_logo.png',`

					`// phone`
					`clPhoneNumberColor:` `'#FFFFFF',`
					`clPhoneNumberFontFamily:` `'PingFangSC-Semibold',`
					`clPhoneNumberFontSize:` `18,`

					`// loginbtn`
					`clLoginBtnBgColor:` `'#000093',`
					`clLoginBtnCornerRadius:` `30,`
					`clLoginBtnTextColor:` `'#ffffff',`
					`clLoginBtnTextFontSize:` `16,`

					`clShanYanSloganTextHidden:` `0,`
					`clShanYanSloganTextColor:` `'#FFFF45',`

					`// checkBox`
					`clCheckBoxCheckedImage:` `'shanyan_checkbox_check.png',`
					`clCheckBoxUncheckedImage:` `'shanyan_checkbox_uncheck.png',`
					`clCheckBoxSize:` `{` `width:` `40,` `height:` `40` `}` `as` CLSizeItem`,`
					`clCheckBoxImageEdgeInsets:` `{` `top:` `10,` `left:` `15,` `bottom:` `10,` `right:` `5` `}` `as` CLEdgeInsetsItem`,`
					`clCheckBoxVerticalAlignmentToAppPrivacyTop:` `1,`
					`shouldAutorotate:` `1,`
					`supportedInterfaceOrientations:` `30,`
					`// 竖屏布局`
					`clOrientationLayOutPortrait:` `{`
						`clLogonLayout:` `{` `top:` `150,` `centerX:` `0,` `width:` `120,` `height:` `80` `},`
						`clLoginBtnLayout:` `{` `left:` `50,` `right:` `-50,` `centerY:` `0,` `height:` `60` `},`
						`clPhoneLayout:` `{` `centerX:` `0,` `width:` `120,` `height:` `40,` `centerY:` `-90` `},`
						`clPrivacyLayout:` `{` `left:` `50,` `right:` `-50,` `bottom:` `-60,` `height:` `50` `},`
						`clSloganLayout:` `{` `bottom:` `-40,` `left:` `0,` `right:` `0,` `height:` `20` `},`
						`clShanSloganLayout:` `{` `bottom:` `-20,` `left:` `0,` `right:` `0,` `height:` `20` `}`
					`}` `as` CLLayoutUIItem`,`
					`// 横屏布局`
					`clOrientationLayOutLandscape:` `{`
						`clLogonLayout:` `{` `top:` `50,` `centerX:` `0,` `width:` `120,` `height:` `80` `},`
						`clLoginBtnLayout:` `{` `left:` `50,` `right:` `-50,` `centerY:` `10,` `height:` `60` `},`
						`clPhoneLayout:` `{` `centerX:` `0,` `width:` `120,` `height:` `40,` `centerY:` `-60` `},`
						`clPrivacyLayout:` `{` `centerX:` `0,` `bottom:` `-40,` `height:` `30` `},`
						`clSloganLayout:` `{` `bottom:` `-20,` `centerX:` `0,` `width:` `200,` `height:` `20` `},`
						`clShanSloganLayout:` `{` `bottom:` `-20,` `left:` `0,` `right:` `0,` `height:` `20` `}`
					`}` `as` CLLayoutUIItem`,`

					`// 隐私协议`
					`clAppPrivacyTextFontSize:` `13,`
					`clAppPrivacyPunctuationMarks:` `1,`
					`clAppMorePrivacyArray:` `[{`
						`decollator:` `'、',`
						`lastDecollator:` `'NO',`
						`privacyName:` `'测试协议',`
						`privacyURL:` `'https://www.baidu.com',`
					`},` `{`
						`decollator:` `'、',`
						`lastDecollator:` `'NO',`
						`privacyName:` `'测试协议222',`
						`privacyURL:` `'https://www.baidu.com'`
					`}],`
					`clAppPrivacyTextColor:` `['#FF4455',` `'#FE3545'],`

					`widgetsConfig:` `[`
						`{`
							`type:` `"Button",`
							`leftOffsetX:` `50,`
							`rightOffsetX:` `-50,`
							`height:` `60,`
							`textColor:` `"#ffffff",`
							`cornerRadius:` `30,`
							`topOffsetY:` screenHeight `/` `2` `+` `70,`
							`backgroundColor:` `"#AE0000",`
							`backgroundImgPath:` `"shanyan_login_btn_bg.png",`
							`textContent:` `"切换其ButTon他登录方式 >",`
							`isFinish:` `true,`
						`}` `as` WidgetItem`,` `{`
							`type:` `"ImageView",`
							`width:` `50,`
							`height:` `50,`
							`centerX:` `-100,`
							`bottomOffsetY:` `-110,`
							`// backgroundColor:'#F4EE65',`
							`backgroundImgPath:` `'shanyan_qq.png',`
							`textContent:` `"测试ImageView类型自定义控件",`
						`}` `as` WidgetItem`,` `{`
							`type:` `"ImageView",`
							`width:` `50,`
							`height:` `50,`
							`centerX:` `0,`
							`// backgroundColor:'#F4EE65',`
							`bottomOffsetY:` `-110,`
							`backgroundImgPath:` `'shanyan_weixin.png',`
							`textContent:` `"测试ImageView类型自定义控件",`
						`}` `as` WidgetItem`,` `{`
							`type:` `"ImageView",`
							`width:` `50,`
							`height:` `50,`
							`centerX:` `100,`
							`bottomOffsetY:` `-110,`
							`// backgroundColor:'#F4EE65',`
							`backgroundImgPath:` `"shanyan_weibo.png",`
							`textContent:` `"测试ImageView类型自定义控件",`
						`}` `as` WidgetItem`],`

				`}`
				`return` iOSUIConfig`;`
			`},`
			`getIOSDialogUIConfig()` `:` AuthIOSUIConfigure `{`
				`const` systemInfo `=` uni`.getSystemInfoSync();`
				`const` screenWidth `=` systemInfo`.`screenWidth`;`
				`const` screenHeight `=` systemInfo`.`screenHeight`;`

				`const` iOSConfig `=` `this.getIOSUIConfig();`
				iOSConfig`.`clAuthTypeUseWindow `=` `1;`
				iOSConfig`.`clNavigationBackgroundClear `=` `1;`
				iOSConfig`.`clNavBackBtnAlimentRight `=` `1;`
				iOSConfig`.`clBackgroundColor `=` `'#FFFFFF';`
				iOSConfig`.`clOrientationLayOutPortrait `=` `{`
					`clLogonLayout:` `{` `centerY:` `-90,` `centerX:` `0,` `width:` `60,` `height:` `40` `},`
					`clLoginBtnLayout:` `{` `left:` `50,` `right:` `-50,` `centerY:` `30,` `height:` `60` `},`
					`clPhoneLayout:` `{` `centerX:` `0,` `width:` `120,` `height:` `40,` `centerY:` `-40` `},`
					`clPrivacyLayout:` `{` `left:` `40,` `right:` `-40,` `bottom:` `-40,` `height:` `50` `},`
					`clSloganLayout:` `{` `bottom:` `-20,` `left:` `0,` `right:` `0,` `height:` `20` `},`
					`clShanSloganLayout:` `{` `bottom:` `-5,` `left:` `0,` `right:` `0,` `height:` `15` `},`
					`clAuthWindowOrientationCenter:` `{` `width:` screenWidth `/` `2,` `height:` screenHeight `/` `2` `},`
					`clAuthWindowOrientationWidth:` screenWidth `/` `4` `*` `3,`
					`clAuthWindowOrientationHeight:` screenWidth `/` `4` `*` `3` `+` `10,`
				`}` `as` CLLayoutUIItem
				iOSConfig`.`widgetsConfig `=` `[]`
				iOSConfig`.`clAuthWindowCornerRadius `=` `15`

				`return` iOSConfig`;`
			`},`


			`getAndroidDialogUIConfig()` `:` AuthAndroidUIConfigure `{`
				`// 引入原生模块`
				`const` systemInfo `=` uni`.getSystemInfoSync();`
				`// 获取屏幕宽度`
				`const` screenWidth `=` systemInfo`.`screenWidth`;`
				`//获取屏幕高度`
				`const` screenHeight `=` systemInfo`.`screenHeight`;`
				`//授权页UI配置,具体可配置项详见授权页配置说明文档`
				`const` `androidUIConfig` `:` AuthAndroidUIConfigure `=` `{`
					`//授权页竖屏配置,如果没有竖屏场景,不需要配置此项。`
					`verticalConfig:` `{`
						`baseUIConfig:` `{`
							`authBGImgPath:` `'shanyan_dialog_bg',`
							`statusBarConfig:` `{`
								`statusBarColor:` `"#ffaa00",`
								`isLightColor:` `false`
							`},`
							`systemNavBarConfig:` `{`
								`isBackPressedAvailable:` `true`
							`},`
							`navBarConfig:` `{`
								`navReturnImgPath:` `"shanyan_dialog_close",`
								`returnBtnWidth:` `25,`
								`returnBtnHeight:` `25,`
								`navReturnBtnOffsetRightX:` `20`
							`},`
							`logoConfig:` `{`
								`logoImgPath:` `"shanyan_logo",`
								`logoOffsetY:` `-10,`
								`logoWidth:` `100,`
								`logoHeight:` `70,`
							`},`
							`numberConfig:` `{`
								`numberColor:` `"#0000ff",`
								`isNumberBold:` `true,`
								`numFieldOffsetY:` `65`
							`},`
							`sloganConfig:` `{`
								`sloganHidden:` `true,`
							`},`
							`loginButtonConfig:` `{`
								`logBtnText:` `"一键登录登录测试",`
								`logBtnOffsetY:` `105`
							`},`
							`privacyConfig:` `{`
								`privacyTextSize:` `10,`
								`operatorPrivacyAtLast:` `true,`
								`checkboxMarginRigth:` `3,`
								`privacyOffsetGravityLeft:` `true,`
								`privacyOffsetBottomY:` `5,`
								`checkboxHeight:` `20,`
								`checkboxWidth:` `20,`
								`checkedImgPath:` `"shanyan_checkbox_check",`
								`uncheckedImgPath:` `"shanyan_checkbox_uncheck",`
								`privacyText:` `{`
									`privacyTextHead:` `"同意",`
									`privacyTextEnd:` `"并授权获取手机号"`
								`},`
								`morePrivacy:` `[`
									`{`
										`name:` `"闪验用户协议",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"和",`
										`color:` `"#ff00ff",`
									`}]`
							`},`
							`dialogThemeConfig:` `{`
								`isDialogTheme:` `true,`
								`dialogDimAmount:` `0.5,`
								`dialogWidth:` screenWidth `-` `50,`
								`dialogHeight:` screenHeight `-` `400`
							`},`

						`},`
						`widgetsConfig:` `[`
							`{`
								`type:` `"Button",`
								`width:` screenWidth `-` `94` `-` `50,`
								`height:` `46,`
								`textColor:` `"#ffffff",`
								`topOffsetY:` `170,`
								`backgroundImgPath:` `"shanyan_login_btn_bg",`
								`textContent:` `"切换其ButTon他登录方式 >",`
								`isFinish:` `true,`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试Button类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试Button类型自定义控件点击事件监听')`
								`}`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`leftOffsetX:` `70,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_qq",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_weixin",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`rightOffsetX:` `70,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_weibo",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`}`
							`}]`
					`}` `as` ConfigItem`,`
					`//授权页横屏配置,如果没有横屏场景,不需要配置此项。`
					`horizontalConfig:` `{`
						`baseUIConfig:` `{`
							`authBGImgPath:` `'shanyan_dialog_bg',`
							`statusBarConfig:` `{`
								`isStatusBarHidden:` `true`
							`},`
							`systemNavBarConfig:` `{`
								`isBackPressedAvailable:` `true,`
							`},`
							`navBarConfig:` `{`
								`navReturnImgPath:` `"shanyan_dialog_close",`
								`returnBtnWidth:` `25,`
								`returnBtnHeight:` `25,`
								`navReturnBtnOffsetRightX:` `20`
							`},`
							`logoConfig:` `{`
								`logoImgPath:` `"shanyan_logo",`
								`logoOffsetY:` `-10,`
								`logoWidth:` `100,`
								`logoHeight:` `70,`
							`},`
							`numberConfig:` `{`
								`numberColor:` `"#0000ff",`
								`isNumberBold:` `true,`
								`numFieldOffsetY:` `65`
							`},`
							`sloganConfig:` `{`
								`sloganHidden:` `true,`
							`},`
							`loginButtonConfig:` `{`
								`logBtnText:` `"一键登录登录测试",`
								`logBtnOffsetY:` `105`
							`},`
							`privacyConfig:` `{`
								`privacyTextSize:` `10,`
								`operatorPrivacyAtLast:` `true,`
								`checkboxMarginRigth:` `3,`
								`privacyOffsetGravityLeft:` `true,`
								`privacyOffsetBottomY:` `5,`
								`checkboxHeight:` `20,`
								`checkboxWidth:` `20,`
								`checkedImgPath:` `"shanyan_checkbox_check",`
								`uncheckedImgPath:` `"shanyan_checkbox_uncheck",`
								`privacyText:` `{`
									`privacyTextHead:` `"同意",`
									`privacyTextEnd:` `"并授权获取手机号"`
								`},`
								`morePrivacy:` `[`
									`{`
										`name:` `"闪验用户协议",`
										`url:` `"https://api.253.com/api_doc/yin-si-zheng-ce/wei-hu-wang-luo-an-quan-sheng-ming.html",`
										`content:` `"和",`
										`color:` `"#ff00ff",`
									`}]`
							`},`
							`dialogThemeConfig:` `{`
								`isDialogTheme:` `true,`
								`dialogDimAmount:` `0.5,`
								`dialogWidth:` screenWidth`,`
								`dialogHeight:` screenWidth `-` `40`
							`},`

						`},`
						`widgetsConfig:` `[`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`leftOffsetX:` `70,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_qq",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_weixin",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`},`
							`},`
							`{`
								`type:` `"ImageView",`
								`width:` `35,`
								`height:` `35,`
								`rightOffsetX:` `70,`
								`bottomOffsetY:` `70,`
								`backgroundImgPath:` `"shanyan_weibo",`
								`textContent:` `"测试ImageView类型自定义控件",`
								`callback:` `()` `=>` `{`
									`this.addLog(`测试ImageView类型自定义控件点击事件监听`);`
									shanYanSDKModule`.showShanYanNativeToast('测试ImageView类型自定义控件点击事件监听')`
								`}`
							`}]`
					`}` `as` ConfigItem
				`}`
				`return` androidUIConfig`;`
			`},`
			`getDialogUIConfig()` `:` ShanYanUIConfigure `{`
				`const` androidConfig `=` `this.getAndroidDialogUIConfig();`
				`const` iOSConfig `=` `this.getIOSDialogUIConfig();`
				`const` `uiConfigure` `:` ShanYanUIConfigure `=` `{`
					androidConfig`,`
					iOSConfig
				`};`
				`return` uiConfigure`;`

			`},`
`