# InitGlobalConfig

建议使用 WMPFSettingApi.setSetting、WMPFUiApi 接口.

# 调用参数

属性 说明
globalConfigJson 传入的配置 json ,最大化的配置示例见下方

# JSON 参数

属性 类型 说明 最低版本
uiZoom number/float 调整小程序原生 ui 的显示大小,设置后下一次启动小程序生效。默认 1.0,建议值为 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0,但可设置为任意值
usbCameraName string 要使用 USB 摄像头的名称
usbCameraProductId number/int 要使用 USB 摄像头的 productId
usbCameraVendorId number/int 要使用 USB 摄像头的 vendorId
usbSerialNumber string 要使用 USB 摄像头的 serialNumber
internalCameraName string 指定要使用的内置摄像头的 cameraId(从安卓系统获取到的 cameraId),未传入时则自动选择摄像头 WMPF 2.0.0
usbCameraPushFlip boolean USB 摄像头推流画面是否旋转 180 度
usbCameraRotationAngle number/int USB 摄像头预览和推流画面显示时的旋转角度,默认为 0
cameraPushFlip boolean 系统摄像头推流画面是否旋转 180 度
cameraRotationAngle number/int 系统摄像头推流画面的旋转角度,默认为 0
reverseLandscape boolean 是否将小程序画面旋转 180 度,默认为 false WMPF 1.2.0
closeButtonActionType number/int 胶囊按钮关闭小程序的行为(需申请权限)。传 10 时,用户点击胶囊按钮关闭会弹框提示小程序不允许关闭。默认为 0
reloadButtonActionType number/int 菜单中重新进入小程序的行为(需申请权限)。传 1 时,用户点击重新进入小程序会弹框提示小程序不允许重新进入。默认为 0 WMPF 2.0.0

关于摄像头参数的说明

  • 指定 USB 摄像头名称可以使用 usbCameraName,或 usbCameraProductId + usbCameraVendorId + usbSerialNumber,两种方式二选一即可。仅在指定 USB 摄像头的情况下,才会使用 USB 摄像头,其他情况下会使用系统摄像头。
  • 指定内置摄像头可以使用 internalCameraName 传入从安卓系统获取到的 cameraId。
  • 使用 USB 摄像头时,需使用 usbCameraPushFlipusbCameraRotationAngle 设置画面旋转
  • 使用系统摄像头时,需使用 cameraPushFlipcameraRotationAngle 设置画面旋转,指定 usb 开头的配置项无效。
  • 预览画面是指当前设备看到的摄像头拍到的画面,推流画面是指微信客户端内看到的当前设备拍摄的画面。
  • 使用系统摄像头时,预览画面的方向是系统 API 提供的,不支持调整。

关于胶囊按钮与重新进入小程序按钮行为控制

使用 closeButtonActionTypereloadButtonActionType 控制按钮行为时需要申请权限,如有相关业务需求请联系我们

配置示例

{
  "uiZoom": 1.0
}

# 返回参数

无参数

# 示例代码

val request = WMPFInitGlobalConfigRequest().apply {
    this.baseRequest = WMPFBaseRequestHelper.checked()
    this.globalConfigJson = config
}

val result =
    WMPFIPCInvoker.invokeAsync<IPCInvokerTask_InitGlobalConfig, WMPFInitGlobalConfigRequest, WMPFInitGlobalConfigResponse>(
        request,
        IPCInvokerTask_InitGlobalConfig::class.java,
        object : IPCInvokeCallbackEx<WMPFInitGlobalConfigResponse> {
            override fun onCallback(response: WMPFInitGlobalConfigResponse) {
                if (isSuccess(response)) {
                    it.onSuccess(response)
                } else {
                    it.onError(TaskErrorException(createTaskError(response)))
                }
            }

            override fun onBridgeNotFound() {
                it.onError(Exception("bridge not found"))
            }

            override fun onCaughtInvokeException(exception: java.lang.Exception?) {
                if (exception != null) {
                    it.onError(exception)
                } else {
                    it.onError(java.lang.Exception("null"))
                }
            }

        }
    )
if (!result) {
    it.onError(Exception("invoke initGlobalConfig fail"))
}