更新记录
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);
}
}
注意事项
- 该插件仅支持鸿蒙 App 平台,其他平台调用会返回错误
- 设置颜色模式后,应用会立即生效
- 设置为
"none"时,应用会跟随系统的颜色模式 - 需要确保应用已正确初始化全局上下文
$globalContext - 颜色模式参数必须为
"light"、"dark"或"none"之一
技术参考
许可证
MIT License

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 0
赞赏 0
下载 10678739
赞赏 1797
赞赏
京公网安备:11010802035340号