当前位置:首页 > uni-app

uniapp 代码区分

2026-02-06 00:10:06uni-app

区分开发环境与生产环境

uniapp 中可通过 process.env.NODE_ENV 判断当前环境:

  • 开发环境值为 'development'
  • 生产环境值为 'production'

示例代码:

if (process.env.NODE_ENV === 'development') {
  console.log('开发环境');
} else {
  console.log('生产环境');
}

区分平台(App/H5/小程序)

使用 uni.getSystemInfoSync().platform 或条件编译:

uniapp 代码区分

// 方式1:运行时判断
const platform = uni.getSystemInfoSync().platform;
console.log('当前平台:', platform); // ios/android/h5/weixin等

// 方式2:条件编译(编译时生效)
// #ifdef H5
console.log('H5平台特有逻辑');
// #endif
// #ifdef MP-WEIXIN
console.log('微信小程序特有逻辑');
// #endif

区分 iOS 与 Android

通过 uni.getSystemInfoSync() 获取系统信息:

const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === 'ios') {
  console.log('iOS设备');
} else if (systemInfo.platform === 'android') {
  console.log('Android设备');
}

区分不同小程序平台

使用条件编译或动态判断:

uniapp 代码区分

// 条件编译示例
// #ifdef MP-WEIXIN
console.log('微信小程序');
// #elif MP-ALIPAY
console.log('支付宝小程序');
// #endif

// 动态判断
const { platform } = uni.getSystemInfoSync();
switch (platform) {
  case 'weixin':
    console.log('微信小程序');
    break;
  case 'alipay':
    console.log('支付宝小程序');
    break;
}

区分调试模式

通过 __wxConfig 或自定义全局变量判断:

// 微信小程序调试模式
// #ifdef MP-WEIXIN
const isDebug = __wxConfig.debug;
console.log('调试模式:', isDebug);
// #endif

// 自定义全局变量(需在main.js中设置)
if (window.isDebugMode) {
  console.log('自定义调试模式');
}

代码组织建议

  1. 将环境相关配置抽离为单独文件(如 env.js),通过导出不同配置实现区分。
  2. 复杂逻辑优先使用条件编译,减少运行时判断。
  3. 动态判断平台时,建议封装为工具函数复用。

示例封装:

// utils/platform.js
export function isH5() {
  // #ifdef H5
  return true;
  // #endif
  return false;
}

标签: 代码uniapp
分享给朋友:

相关文章

vue实现通讯录代码

vue实现通讯录代码

实现思路 Vue实现通讯录的核心在于数据管理和组件交互。通常需要包含联系人列表、搜索功能、分组索引以及添加/编辑功能。 基本结构 创建Vue组件时需包含以下部分: 数据模型:存储联系人…

代码实现vue

代码实现vue

安装Vue.js 通过npm或yarn安装Vue.js最新稳定版本。确保已安装Node.js环境。 npm install vue # 或 yarn add vue 创建Vue实例 在HTML文件中…

uniapp擎

uniapp擎

uniapp 引擎简介 uniapp 是一个基于 Vue.js 的开发框架,允许开发者使用一套代码同时构建跨平台应用(如 iOS、Android、H5、小程序等)。其核心引擎负责将 Vue 语法转换为…

uniapp 编辑

uniapp 编辑

uniapp 编辑功能实现方法 在uniapp中实现编辑功能通常涉及表单处理、数据绑定和状态管理。以下为常见实现方式: 表单数据双向绑定 使用v-model指令实现表单元素与数据的双向绑定: &l…

uniapp布局规范

uniapp布局规范

uniapp布局规范 uniapp的布局规范基于Flexbox模型,支持跨平台开发,需兼顾不同设备的适配性。以下是核心布局要点: Flex布局基础 使用Flexbox实现弹性布局,默认display…

uniapp 滑动组件

uniapp 滑动组件

uniapp 滑动组件实现方法 使用swiper组件 uniapp内置的swiper组件可以实现滑动效果,适用于轮播图或页面切换场景。 示例代码: <swiper :indicator-d…