uniapp开发小程序-如何判断小程序是在手机端还是pc端打开

官方说明

https://developers.weixin.qq.com/miniprogram/dev/devtools/pc-dev.html

小程序如何判断是 PC 平台?

通过 getSystemInfo 官方接口(platform 是 windows)

通过 UA(PC UA 包含 MiniProgramEnv/Windows)

App.vue

html 复制代码
<script>
export default {
  onLaunch: function () {
    console.warn(
      "当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!"
    );
    console.log("App Launch", uni.getSystemInfoSync().platform);
    uni.setStorageSync("platform", uni.getSystemInfoSync().platform);
    uni.setStorageSync(
      "windowWidth",
      wx.getStorageSync("devices").windowWidth 
    );
    uni.setStorageSync(
      "windowHeight",
      wx.getStorageSync("devices").windowHeight 
    );
  },
  onLoad() {},
  onShow: function () {
  },
  onHide: function () {
  },
};
</script>

<style lang="scss">
/*每个页面公共css */
@import "@/uni_modules/uni-scss/index.scss";
// 设置整个项目的背景色
page {
  background-color: #f5f5f5;
}
</style>

判断是否是pc端的函数(如果宽度足够也视为pc端)

js 复制代码
/** 是否是pc端 */
function isPC() {
  if (["windows", "mac"].some((v) => v === wx.getStorageSync("platform"))) {
    return true;
  }
  if (Number(wx.getStorageSync("windowWidth")) > 1000) {
    return true;
  }
  return false;
}

同时值得注意的是,微信开发者工具的platform属性是devtools,只能体验版中进行测试真实的platform属性

相关推荐
RuoyiOffice2 小时前
企业请假销假系统设计实战:一张表、一套流程、两段生命周期——BPM节点驱动的表单变形术
java·spring·uni-app·vue·产品运营·ruoyi·anti-design-vue
KongHen022 小时前
uniapp-x实现自定义tabbar
前端·javascript·uni-app·unix
0xDevNull5 小时前
基于Java的小程序地理围栏实现原理
java·小程序
Kingexpand_com6 小时前
实用技巧:小程序积分体系的功能拆解与高效利用指南
小程序·仓库管理·库存管理·小程序定制开发
毕设源码-赖学姐6 小时前
【开题答辩全过程】以 居家养老服务微信小程序设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
RuoyiOffice6 小时前
SpringBoot+Vue3+Uniapp实现PC+APP双端考勤打卡设计:GPS围栏/内网双模打卡、节假日方案、定时预生成——附数据结构和核心源码讲解
java·spring·小程序·uni-app·vue·产品运营·ruoyi
杰建云1679 小时前
企业内部是否需要技术团队做小程序
小程序·小程序制作
2501_915921439 小时前
2026 iOS 上架新趋势 iOS 发布流程模块化
android·ios·小程序·https·uni-app·iphone·webview
码视野9 小时前
#Cursor加Specs编程,3小时上线一个有管理后台和移动端的检举举报全流程平台(完全开源)
spring boot·小程序·ai编程
2501_9339072110 小时前
如何选择宁波小程序公司,实现高效的小程序开发?
科技·微信小程序·小程序