uni-app 中,获取当前运行平台的 API 是 uni.getSystemInfoSync().uniPlatform,它能帮助我们识别当前应用运行所在平台(如 H5、微信小程序、App 等)),
·
在 uni-app 中,获取当前运行平台的 API 是 uni.getSystemInfoSync().uniPlatform,它能帮助我们识别当前应用运行在哪个平台(如 H5、微信小程序、App 等),从而进行条件编译或差异化逻辑处理。

✅ 一、完整使用示例
🧩 示例代码:
export default {
mounted() {
this.checkPlatform();
},
methods: {
checkPlatform() {
const systemInfo = uni.getSystemInfoSync();
const platform = systemInfo.uniPlatform; // 获取当前平台标识
console.log('当前平台标识:', platform);
switch (platform) {
case 'app-plus':
console.log('当前运行在 App 环境');
break;
case 'h5':
console.log('当前运行在 H5 环境');
break;
case 'mp-weixin':
console.log('当前运行在 微信小程序 环境');
break;
case 'mp-alipay':
console.log('当前运行在 支付宝小程序 环境');
break;
case 'mp-baidu':
console.log('当前运行在 百度小程序 环境');
break;
case 'mp-toutiao':
console.log('当前运行在 抖音/头条小程序 环境');
break;
case 'mp-qq':
console.log('当前运行在 QQ 小程序 环境');
break;
case 'mp-kuaishou':
console.log('当前运行在 快手小程序 环境');
break;
case 'mp-lark':
console.log('当前运行在 飞书小程序 环境');
break;
case 'mp-jd':
console.log('当前运行在 京东小程序 环境');
break;
case 'mp-360':
console.log('当前运行在 360 小程序 环境');
break;
case 'quickapp-webview':
console.log('当前运行在 快应用 环境');
break;
default:
console.log('未知环境:', platform);
}
}
}
}
📊 二、不同平台对应的 uniPlatform 值及输出说明
| 平台名称 | uni.getSystemInfoSync().uniPlatform 返回值 | 说明 |
|---|---|---|
| App(5+ App) | app-plus | 包括 Android 和 iOS 应用 |
| H5 | h5 | 浏览器环境,包括 PC 和移动端浏览器 |
| 微信小程序 | mp-weixin | 包括微信公众号内嵌页和独立小程序 |
| 支付宝小程序 | mp-alipay | 支付宝生态中的小程序 |
| 百度小程序 | mp-baidu | 百度智能小程序 |
| 抖音/头条小程序 | mp-toutiao | 字节跳动系小程序 |
| QQ 小程序 | mp-qq | 腾讯系 QQ 内部小程序 |
| 快手小程序 | mp-kuaishou | 快手生态小程序 |
| 飞书小程序 | mp-lark | 飞书开放平台小程序 |
| 京东小程序 | mp-jd | 京东 APP 内小程序 |
| 360 小程序 | mp-360 | 360 智能生态小程序 |
| 快应用 | quickapp-webview | 快应用标准框架(华为、小米等厂商支持) |
📋 三、总结表格
| 运行环境 | uniPlatform 值 | 对应平台 |
|---|---|---|
| App(Android/iOS) | app-plus | 5+ App |
| H5 页面 | h5 | 浏览器环境 |
| 微信小程序 | mp-weixin | 微信生态 |
| 支付宝小程序 | mp-alipay | 支付宝生态 |
| 百度小程序 | mp-baidu | 百度生态 |
| 头条/抖音小程序 | mp-toutiao | 字节跳动生态 |
| QQ 小程序 | mp-qq | QQ 生态 |
| 快手小程序 | mp-kuaishou | 快手生态 |
| 飞书小程序 | mp-lark | 飞书生态 |
| 京东小程序 | mp-jd | 京东生态 |
| 360 小程序 | mp-360 | 360 生态 |
| 快应用(通用) | quickapp-webview | 华为、小米等快应用平台 |
🧠 四、应用场景建议
- UI 差异适配:不同平台样式表现不一致时,可做平台判断。
- API 差异调用:某些 API 在部分平台不可用,需根据平台动态选择。
- 埋点统计:区分用户访问来源,便于数据分析。
- 插件调用:部分原生插件只适用于 App 或特定平台。
- 调试输出:开发阶段根据不同平台打印日志或提示信息。
如需结合 #ifdef 条件编译实现更灵活的多端兼容策略,也可以参考我之前的回答中关于扩展机制的部分。需要具体场景案例欢迎继续提问!
更多推荐
所有评论(0)