vue与ios和Android联调方法

//在utils.js中写
//引入方法
//import { getDeviceType } from "../utils/utils";
export function getDeviceType() {
  const a = navigator.userAgent;
  const isAndroid = a.indexOf("Android") > -1 || a.indexOf("Adr") > -1; //android终端
  const isiOS = !!a.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  if (isAndroid) {
    //说明为安卓设备
    return "isAndroid";
  }
  if (isiOS) {
    //说明为IOS设备
    return "isiOS";
  }
}
```typescript
//这里为点击事件,
创建事件()=>{ 
let device = getDeviceType();
  if (device == "isAndroid") {
    try {
    //tellMobileLoginMessage这是以安卓端定义的方法
      window.UpPictureView.tellMobileLoginMessage();
    } catch (error) {
      console.log(error);
    }
  }
  if (device == "isiOS") {
    try {
     //tellMobileLoginMessage 这个是与ios定义的方法
      window.webkit.messageHandlers.tellMobileLoginMessage.postMessage(null);
    } catch (error) {
      console.log(error);
    }
  }


}
JS里字符串中首位加入多个空格'\v'+'\v'+'123'
 let testArr = [
            { id: 2, name: "张三", age: "18", gender: "男", time: '2022' },
            { id: 3, name: "李四", age: "22", gender: "男", time: '' },
            { id: 3, name: "王五", age: "17", gender: "女", time: '2022' },
            { id: 3, name: "王五", age: "17", gender: "女", time: '2022' },
            { id: 4, name: "刘丽", age: "18", gender: "女", time: '' },
            { id: 4, name: "李磊", age: "22", gender: "男", time: '2022' },
            { id: 5, name: "杨梅", age: "18", gender: "女", time: '2022' }
        ];
        let sameType = [];//定义数组
        let tid = 0//定义标识
        testArr.map((item) => {
            if (item.id != tid) {
                tid = item.id
                if (item.time != '') {
                    sameType.push(item)
                }
               return  
            }
            sameType.push(item)
        })
        console.log(sameType, 'testArr');
 detail.nodeList.map(x => {
          let index = dest.findIndex(y => y.bigNodeId == x.bigNodeId);
          if (index == -1) {
            dest.push({
              bigNodeId: x.bigNodeId,
              id: x.nodeName,
              nodeName: x.nodeName,
              keyNode: x.keyNode,
              nodeStatus: x.nodeStatus,
              list: [{
                status:x.status,
                reserveTime:x.reserveTime,
                acceptanceTime:x.acceptanceTime,
                name:x.name,
                apportionType:x.apportionType
              }]
            })
          } else {
            dest[index].list.push({
              status:x.status,
              reserveTime:x.reserveTime,
              acceptanceTime:x.acceptanceTime,
              name:x.name,
              apportionType:x.apportionType
            })
          }
        })

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中与Vue项目交互,您可以使用WebView来加载Vue项目,并通过WebView与Android原生代码进行交互。 以下是一些步骤: 1. 在Android Studio中创建一个新的Android项目。 2. 在app/build.gradle文件中,添加WebView的依赖: ```groovy implementation 'androidx.webkit:webkit:1.4.0' ``` 3. 在您的布局文件中,添加一个WebView: ```xml <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 4. 在您的Activity中,初始化WebView并加载Vue项目: ```java WebView webView = findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("file:///android_asset/vue_project/index.html"); ``` 这里的"vue_project"是您Vue项目的文件夹名字,确保它在Android项目的assets目录下。 5. 在Vue项目中,您可以使用Vue的内置方法通过WebView与Android原生代码进行通信。例如,您可以使用JavaScript与Java代码交互: ```javascript // 在Vue中调用Android方法 window.AndroidInterface.showToast('Hello from Vue'); // 在Java中定义供Vue调用的方法 public class AndroidInterface { @JavascriptInterface public void showToast(String message) { Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show(); } } ``` 请注意,要使此方法生效,您需要为WebView启用JavaScript,并将AndroidInterface类添加为JavaScript接口: ```java webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new AndroidInterface(), "AndroidInterface"); ``` 这样,您就可以在Android Studio中加载Vue项目,并使用WebView进行AndroidVue项目的交互了。请注意,这只是其中一种实现方式,您可以根据您的需求和项目结构进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值