判断是安卓还是ios以及调用原生的方法

2021-03-30  本文已影响0人  流泪手心_521
      const UA = window.navigator.userAgent;
      const isIpad = /(iPad).*OS\s([\d_]+)/.test(UA)
      const isIpod = /(iPod)(.*OS\s([\d_]+))?/.test(UA)
      const isIphone = !isIpad && /(iPhone\sOS)\s([\d_]+)/.test(UA)
      const isIos = isIpad || isIpod || isIphone
      const isAndroid = /(Android);?[\s\/]+([\d.]+)?/.test(UA);

     let params={
            fileName:append.appendixName,
            url:res.data.data
          };
          if(isAndroid || isIos){
            try{
              if(isAndroid){
                  window.nativeBridge.downLoadFn(params)//调用安卓的方法
              }
              if(isIos){
                window.nativeBridge.downLoadFn.postMessage(params)//调用IOS的方法
              }
            }catch(error){
              console.log(error);
            }
          }

全代码
   downLoadFile(append) {

      const UA = window.navigator.userAgent;
      const isIpad = /(iPad).*OS\s([\d_]+)/.test(UA)
      const isIpod = /(iPod)(.*OS\s([\d_]+))?/.test(UA)
      const isIphone = !isIpad && /(iPhone\sOS)\s([\d_]+)/.test(UA)
      const isIos = isIpad || isIpod || isIphone
      const isAndroid = /(Android);?[\s\/]+([\d.]+)?/.test(UA);
      //调用接口
      download(append.appendixPath, this.announceId).then((res) => {
        if(res.data.status==0){
          let params={
            fileName:append.appendixName,
            url:res.data.data
          };
          if(isAndroid || isIos){
            try{
              if(isAndroid){
                  window.nativeBridge.downLoadFn(params)//调用安卓的方法
              }
              if(isIos){
                window.nativeBridge.downLoadFn.postMessage(params)//调用IOS的方法
              }
            }catch(error){
              console.log(error);
            }
          }
        }else{
          this.$toast(res.data.message);
        }
      });
    },

上一篇 下一篇

猜你喜欢

热点阅读