瀏覽代碼

feat: VConsole

liming 3 周之前
父節點
當前提交
808d8db368
共有 5 個文件被更改,包括 38 次插入2 次删除
  1. 1 0
      android/app/capacitor.build.gradle
  2. 2 0
      package.json
  3. 3 0
      src/App.vue
  4. 30 0
      src/hooks/updataApp.js
  5. 2 2
      src/main.js

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

@@ -13,6 +13,7 @@ dependencies {
     implementation project(':capacitor-app')
     implementation project(':capacitor-browser')
     implementation project(':capacitor-device')
+    implementation project(':capacitor-file-transfer')
     implementation project(':capacitor-local-notifications')
     implementation project(':capacitor-push-notifications')
     implementation project(':capacitor-status-bar')

+ 2 - 0
package.json

@@ -25,6 +25,7 @@
     "@capacitor/cli": "^7.2.0",
     "@capacitor/core": "^7.2.0",
     "@capacitor/device": "^7.0.1",
+    "@capacitor/file-transfer": "^1.0.1",
     "@capacitor/ios": "^7.2.0",
     "@capacitor/local-notifications": "^7.0.1",
     "@capacitor/push-notifications": "^7.0.1",
@@ -45,6 +46,7 @@
     "sharp": "^0.34.2",
     "typescript": "^5.8.3",
     "vant": "^4.9.20",
+    "vconsole": "^3.15.1",
     "vue": "^3.5.13",
     "vue-i18n": "^11.1.9",
     "vue-router": "^4.5.0",

+ 3 - 0
src/App.vue

@@ -11,6 +11,7 @@
 </template>
 
 <script setup>
+import { appStart } from "@/hooks/updataApp";
 import { getNotchHeight } from "@/utils/statusBar";
 const route = useRoute();
 const router = useRouter();
@@ -37,6 +38,8 @@ onBeforeMount(async () => {
       marginTop: `${height}px`,
     };
   }
+
+  appStart()
 });
 </script>
 

+ 30 - 0
src/hooks/updataApp.js

@@ -0,0 +1,30 @@
+import { Device } from '@capacitor/device';
+// import { downloadFile } from "@capacitor/file-transfer"
+
+
+// 检测是否有更新包
+export const checkUpdate = async () => { 
+  // 获取当前应用版本
+  const { version } = await Device.getInfo();
+  console.log("当前版本:", version)
+
+  // 从服务器获取最新版本信息
+  const response = await fetch('https://your-server.com/api/check-update');
+  const serverData = await response.json();
+
+   // 对比版本号(建议使用语义化版本比较库,如 compare-versions)
+  if (compareVersions(serverData.latestVersion, version) > 0) {
+    console.log('发现新版本:', serverData.latestVersion);
+    return serverData; // 返回更新信息
+  }
+  return null; // 无更新
+}
+
+
+// 示例:在应用启动时检查
+export const appStart = async () => {
+  const updateInfo = await checkUpdate();
+  if (updateInfo) {
+    // showUpdateDialog(updateInfo); // 提示用户更新
+  }
+}

+ 2 - 2
src/main.js

@@ -21,11 +21,11 @@ import SvgIcon from "@/components/Svg-icon/SvgIcon.vue";
 import { setupPlugin, initCapacitor } from './plugins';
 import { setup  } from './plugins/storage';
 
+import VConsole from 'vconsole';
+new VConsole();
 
 const app = createApp(App)
 
-
-
 async function appInit() {
   const app = createApp(App);
    // 注入组件