在uni-app中,使用uni.getSystemInfoSync().brand可以获取设备的品牌信息。根据不同设备的品牌,uni.getSystemInfoSync().brand可能返回以下一些常见值:

  • “Apple” - 苹果
  • “Samsung” - 三星
  • “Huawei” - 华为
  • “Xiaomi” - 小米
  • “OPPO” - OPPO
  • “Vivo” - Vivo
  • “OnePlus” - 一加
  • “Sony” - 索尼
  • “LG” - LG
  • “Motorola” - 摩托罗拉
  • “Google” - 谷歌
  • “Nokia” - 诺基亚
  • “HTC” - HTC
  • “Lenovo” - 联想
  • “ASUS” - 华硕
  • “ZTE” - 中兴
  • “Meizu” - 魅族
  • “Coolpad” - 酷派

这里列举的是一些常见的设备品牌,实际上还可能存在其他品牌。所以在开发中,为了适配不同的设备,最好使用条件判断来根据不同的品牌执行不同的逻辑。

注意设备品牌名称的首字母并不都是大写的。设备品牌名称的格式可能因不同品牌而异,有些品牌名称的首字母是大写的,而其他品牌名称可能是全小写的。

在使用uni.getSystemInfoSync().brand获取设备品牌信息时,返回的品牌名称的大小写取决于设备系统的定义以及具体的设备信息。因此,在进行品牌名称的比较或处理时,最好不要假设品牌名称的大小写格式,而是使用大小写不敏感的比较或进行适当的字符串处理。

例如,可以使用.toLowerCase()将品牌名称转换为小写,然后进行比较

以下是小编写的一个例子

			// 获取手机型号
			getPhoneModel() {
				let brand = '';
				let zhDev = {
					'apple': 'iPhone',
					'samsung': '三星',
					'huawei': '华为',
					'xiaomi': '小米',
					'oppo': 'OPPO',
					'vivo': 'Vivo',
					'oneplus': '一加',
					'sony': '索尼',
					'lg': 'LG',
					'motorola': '摩托罗拉',
					'google': '谷歌',
					'nokia': '诺基亚',
					'htc': 'HTC',
					'lenovo': '联想',
					'asus': '华硕',
					'zte': '中兴',
					'meizu': '魅族',
					'coolpad': '酷派',
				}

				if (uni.getSystemInfoSync().platform === 'android' || 'ios') {
					let model = uni.getSystemInfoSync().brand.toLowerCase();
					brand = zhDev[model] ? zhDev[model] : '其它'
				} else {
					brand = '其它'
				}

				console.log('手机品牌', brand)
				this.phoneModel = brand
			},

运行效果如下
请添加图片描述
请添加图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐