uni-app判断运行的平台

1,编译期判断(条件编译,代码块中的代码只会编译到对应的发行包里)

  ①例如:

// #ifdef H5
    alert("只有h5平台才有alert方法")
// #endif
// #ifndef H5
    alert("除了h5平台之外的其他平台才有的方法")
// #endif

  ②//#ifdef %PLATFORM% //#endif 可以使用的值

生效条件
VUE3 HBuilderX 3.2.0+ 详情
APP-PLUS App
APP-PLUS-NVUE或APP-NVUE App nvue
H5 H5
MP-WEIXIN 微信小程序
MP-ALIPAY 支付宝小程序
MP-BAIDU 百度小程序
MP-TOUTIAO 字节跳动小程序
MP-LARK 飞书小程序
MP-QQ QQ小程序
MP-KUAISHOU 快手小程序
MP-360 360小程序
MP 微信小程序/支付宝小程序/百度小程序/字节跳动小程序/飞书小程序/QQ小程序/360小程序
QUICKAPP-WEBVIEW 快应用通用(包含联盟、华为)
QUICKAPP-WEBVIEW-UNION 快应用联盟
QUICKAPP-WEBVIEW-HUAWEI 快应用华为

  ③支持的文件

  • .vue/.nvue:<!-- 注释 -->
  • .js:// 注释
  • .css:/* 注释 */
  • pages.json:  // 注释
  • 各预编译语言文件,如:.scss、.less、.stylus、.ts、.pug

   ④注:VUE3 需要在项目的 manifest.json 文件根节点配置 "vueVersion" : "3"

  补充:uni-app static目录的条件编译

2,运行期判断

  可使用 uni.getSystemInfoSync().platform 判断客户端环境是 Android、iOS 还是小程序开发工具(在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值均为 devtools)。

 1 switch(uni.getSystemInfoSync().platform){
 2     case 'android':
 3        console.log('运行Android上')
 4        break;
 5     case 'ios':
 6        console.log('运行iOS上')
 7        break;
 8     default:
 9        console.log('运行在开发者工具上')
10        break;
11 }
posted @ 2022-01-25 10:59  ꧁执笔小白꧂  阅读(2814)  评论(0编辑  收藏  举报