浏览代码

feat: 跳转高德

liming 2 周之前
父节点
当前提交
2246966e73
共有 5 个文件被更改,包括 29 次插入3 次删除
  1. 1 0
      android/app/capacitor.build.gradle
  2. 1 1
      index.html
  3. 1 0
      package.json
  4. 3 2
      src/main.js
  5. 23 0
      src/plugins/appLauncher.js

+ 1 - 0
android/app/capacitor.build.gradle

@@ -11,6 +11,7 @@ apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
 dependencies {
     implementation project(':aparajita-capacitor-biometric-auth')
     implementation project(':capacitor-app')
+    implementation project(':capacitor-app-launcher')
     implementation project(':capacitor-barcode-scanner')
     implementation project(':capacitor-device')
     implementation project(':capacitor-inappbrowser')

+ 1 - 1
index.html

@@ -7,7 +7,7 @@
       name="viewport"
       content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no,  viewport-fit=cover"
     />
-    <title>Angel Token</title>
+    <title>Angel Tokens</title>
     <style type="text/css">
       /* HTML: <div class="loader"></div> */
       #Loading,

+ 1 - 0
package.json

@@ -22,6 +22,7 @@
     "@aparajita/capacitor-biometric-auth": "^9.0.0",
     "@capacitor/android": "^7.2.0",
     "@capacitor/app": "^7.0.1",
+    "@capacitor/app-launcher": "^7.0.1",
     "@capacitor/barcode-scanner": "^2.0.3",
     "@capacitor/cli": "^7.2.0",
     "@capacitor/core": "^7.2.0",

+ 3 - 2
src/main.js

@@ -18,8 +18,9 @@ import "virtual:svg-icons-register";
 import SvgIcon from "@/components/Svg-icon/SvgIcon.vue"; 
 
 // windows 挂载 & 注入
-import { setupPlugin, initCapacitor } from './plugins';
+import { initCapacitor } from './plugins';
 import { setup  } from './plugins/storage';
+import { listenMessage } from "./plugins/appLauncher"
 
 import VConsole from 'vconsole';
 new VConsole();
@@ -40,7 +41,7 @@ async function appInit() {
 
   // setupPlugin(app)
   initCapacitor(app)
-
+  listenMessage()
   app.mount("#app", true);
 }
 

+ 23 - 0
src/plugins/appLauncher.js

@@ -0,0 +1,23 @@
+import { AppLauncher } from "@capacitor/app-launcher";
+
+// 打开高德地图 OPEN_GAODE
+// dlon:    终点经度
+// &dlat=  终点纬度
+// &dname= 终点名字
+export const openGaoDe = async (lat, lng, name) => {
+  const scheme =
+    Capacitor.getPlatform() === "ios"
+      ? `iosamap://path?sourceApplication=AngelTokens&dlat=${lat}&dlon=${lng}&dname=${name}&dev=0&t=0`
+      : `androidamap://route?sourceApplication=AngelTokens&dlat=${lat}&dlon=${lng}&dname=${name}&dev=0&t=0`;
+
+  await AppLauncher.openUrl({ url: scheme });
+};
+
+export function listenMessage() {
+  window.addEventListener("message", (e) => {
+    if (e?.type && e.type === "OPEN_GAODE") {
+      const { lat, lng, name } = e.data;
+      openGaoDe(lat, lng, name);
+    }
+  });
+}