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


     推荐使用条件编译,少用条件判断

    
    
    //  @/utils/EPlatform.ts

    /*
    *枚举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',
    }
    
    
    // @/utils/Platform.ts

    /*
    *类型Platform*/ import {EPlatform} from "@/utils/EPlatform"; /**使用条件编译获取平台信息*/ 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

    使用

    // @/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/' } } }

    本文地址:

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

     
  • 相关阅读:
    关于cuda拷贝的速度测试
    VS报错:DEBUG Assertion Failed!
    cuda&vs2010的属性配置
    CUDA中自动初始化显卡设备宏
    如何在win10中安装ArcGIS10.2
    @RequiresPermissionss是否可以填写多种权限标识,只要满足其一就可以访问?
    通用权限管理设计 之 数据权限
    请教Nutzwk项目,在beetl页面怎么用shiro标签呢?
    shiro简单配置
    spring+mybatis+druid+mysql+maven事务配置
  • 原文地址:https://www.cnblogs.com/stumpx/p/13289154.html
Copyright © 2020-2023  润新知