随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 74060

设置 - (v1)InitGlobalConfig

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"))
}
posted on   AtlasLapetos  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示