更新记录

1.0.0(2025-11-01) 下载此版本

初版


平台兼容性

uni-app(4.84)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × × ×

vk-set-color-mode

鸿蒙应用颜色模式设置插件,用于设置应用的深色/浅色模式。

功能说明

该插件基于华为鸿蒙 API ApplicationContext.setColorMode() 实现,用于设置应用的颜色模式(深色模式、浅色模式或未设置)。

平台支持

  • ✅ 鸿蒙 App(uni-app、uni-app-x)
  • ❌ 其他平台(会返回不支持错误)

API 说明

setColorMode(options)

设置应用颜色模式

参数说明

参数名 类型 必填 说明
options SetColorModeOptions 配置参数

SetColorModeOptions

属性 类型 必填 说明
colorMode ColorMode 颜色模式:"light" | "dark" | "none"
success Function 成功回调
fail Function 失败回调
complete Function 完成回调(无论成功失败)

ColorMode 类型

说明
"light" 浅色模式
"dark" 深色模式
"none" 未设置(跟随系统)

返回值

返回 Promise<SetColorModeResult>

SetColorModeResult

属性 类型 说明
success Boolean 是否成功

错误码

错误码 说明
9020001 设置颜色模式失败
9020002 无效的颜色模式参数
9020003 获取应用上下文失败
9020004 未知错误
9020005 仅限鸿蒙App平台支持

使用示例

1. Promise 方式

import { setColorMode } from "@/uni_modules/vk-set-color-mode"

// 设置深色模式
setColorMode({ 
  colorMode: "dark" 
}).then((res) => {
  console.log('设置成功:', res.success)
}).catch((err) => {
  console.log('设置失败:', err.errMsg)
});

// 设置浅色模式
setColorMode({ 
  colorMode: "light" 
}).then((res) => {
  console.log('设置成功:', res.success)
}).catch((err) => {
  console.log('设置失败:', err.errMsg)
});

// 设置为跟随系统
setColorMode({ 
  colorMode: "none" 
}).then((res) => {
  console.log('设置成功:', res.success)
}).catch((err) => {
  console.log('设置失败:', err.errMsg)
});

2. 回调方式

import { setColorMode } from "@/uni_modules/vk-set-color-mode"

setColorMode({
  colorMode: "dark",
  success: (res) => {
    console.log('设置成功:', res.success)
  },
  fail: (err) => {
    console.log('设置失败:', err.errMsg)
  },
  complete: (res) => {
    console.log('完成:', res)
  }
});

3. async/await 方式

import { setColorMode } from "@/uni_modules/vk-set-color-mode"

async function changeColorMode() {
  try {
    const res = await setColorMode({ 
      colorMode: "light" 
    });
    console.log('设置成功:', res.success);
  } catch (err) {
    console.log('设置失败:', err.errMsg);
  }
}

注意事项

  1. 该插件仅支持鸿蒙 App 平台,其他平台调用会返回错误
  2. 设置颜色模式后,应用会立即生效
  3. 设置为 "none" 时,应用会跟随系统的颜色模式
  4. 需要确保应用已正确初始化全局上下文 $globalContext
  5. 颜色模式参数必须为 "light""dark""none" 之一

技术参考

许可证

MIT License

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。