uni-app平台判斷 | uni app判斷h5 小程序 app 等不同平台


使用

// @/utils/Config.ts

import {EPlatform} from './EPlatform'; import {isH5, Platform} from '@/utils/Platform' /**配置信息*/ export default class Config { /**http請求根目錄*/ static get httpBaseUrl(): string { if (isH5) { return '/' } else { return 'http://demo.cn/' } } }

推薦使用條件編譯

/**枚舉EPlatform*/
export enum EPlatform {
  /**App*/
  AppPlus = 'APP-PLUS',
  /**App nvue*/
  AppPlusNvue = 'APP-PLUS-NVUE',
  /**H5*/
  H5 = 'H5',
  /**微信小程序*/
  MpWeixin = 'MP-WEIXIN',
  /**支付寶小程序*/
  MpAlipay = 'MP-ALIPAY',
  /**百度小程序*/
  MpBaidu = 'MP-BAIDU',
  /**字節跳動小程序*/
  MpToutiao = 'MP-TOUTIAO',
  /**QQ小程序*/
  MpQq = 'MP-QQ',
  /**360小程序*/
  Mp360 = 'MP-360',
  /**微信小程序/支付寶小程序/百度小程序/字節跳動小程序/QQ小程序/360小程序*/
  Mp = 'MP',
  /**快應用通用(包含聯盟、華為)*/
  QuickappWebview = 'quickapp-webview',
  /**快應用聯盟*/
  QuickappWebviewUnion = 'quickapp-webview-union',
  /**快應用華為*/
  QuickappWebviewHuawei = 'quickapp-webview-huawei',
}

/**使用條件編譯獲取平台信息*/
export function ifDefPlatform(): EPlatform {
  let platform: EPlatform
  //#ifdef APP-PLUS
  platform = EPlatform.AppPlus;
  //#endif
  //#ifdef APP-PLUS-NVUE
  platform = EPlatform.AppPlusNvue;
  //#endif
  //#ifdef H5
  platform = EPlatform.H5;
  //#endif
  //#ifdef MP-WEIXIN
  platform = EPlatform.MpWeixin;
  //#endif
  //#ifdef MP-ALIPAY
  platform = EPlatform.MpAlipay;
  //#endif
  //#ifdef MP-BAIDU
  platform = EPlatform.MpBaidu;
  //#endif
  //#ifdef MP-TOUTIAO
  platform = EPlatform.MpToutiao;
  //#endif
  //#ifdef MP-QQ
  platform = EPlatform.MpQq;
  //#endif
  //#ifdef MP-360
  platform = EPlatform.Mp360;
  //#endif
  //#ifdef MP
  platform = EPlatform.Mp;
  //#endif
  //#ifdef quickapp-webview
  platform = EPlatform.QuickappWebview;
  //#endif
  //#ifdef quickapp-webview-union
  platform = EPlatform.QuickappWebviewUnion;
  //#endif
  //#ifdef quickapp-webview-huawei
  platform = EPlatform.QuickappWebviewHuawei;
  //#endif
  return platform
}

/**平台類型*/
export const Platform: EPlatform = ifDefPlatform()
/**默認導出平台類型*/
export default Platform

/**App*/
export const isAppPlus = Platform == EPlatform.AppPlus
/**App nvue*/
export const isAppPlusNvue = Platform == EPlatform.AppPlusNvue
/**H5*/
export const isH5 = Platform == EPlatform.H5
/**微信小程序*/
export const isMpWeixin = Platform == EPlatform.MpWeixin
/**支付寶小程序*/
export const isMpAlipay = Platform == EPlatform.MpAlipay
/**百度小程序*/
export const isMpBaidu = Platform == EPlatform.MpBaidu
/**字節跳動小程序*/
export const isMpToutiao = Platform == EPlatform.MpToutiao
/**QQ小程序*/
export const isMpQq = Platform == EPlatform.MpQq
/**360小程序*/
export const isMp360 = Platform == EPlatform.Mp360
/**微信小程序/支付寶小程序/百度小程序/字節跳動小程序/QQ小程序/360小程序*/
export const isMp = Platform == EPlatform.Mp
/**快應用通用(包含聯盟、華為)*/
export const isQuickappWebview = Platform == EPlatform.QuickappWebview
/**快應用聯盟*/
export const isQuickappWebviewUnion = Platform == EPlatform.QuickappWebviewUnion
/**快應用華為*/
export const isQuickappWebviewHuawei = Platform == EPlatform.QuickappWebviewHuawei
/**是否開發環境*/
export const isDevelopment = process.env.NODE_ENV == 'development'
/**是否線上環境*/
export const isProduction = process.env.NODE_ENV == 'production'
/**抖音小程序*/
export const isMpDouyinApp = uni.getSystemInfoSync().appName == 'Douyin'
/**頭條小程序*/
export const isMpToutiaoApp = uni.getSystemInfoSync().appName == 'Toutiao'

 

本文地址:

https://www.cnblogs.com/stumpx/p/13289154.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM