gaoluyang
3 天以前 919e8a4773ce188a6f91991837fd0bbd3f3c52e6
src/App.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
<template>
  <Splash v-if="showSplash" />
  <div v-else>
    <router-view />
  </div>
</template>
<script setup>
  import { ref, onMounted } from "vue";
  import Splash from "./components/Splash.vue";
  const showSplash = ref(true);
  onMounted(() => {
    setTimeout(() => {
      showSplash.value = false;
    }, 5000);
    // åˆå§‹åŒ–推送服务
    initPushService();
  });
  // åˆå§‹åŒ–推送服务(uni-push 1.0)
  const initPushService = () => {
    // #ifdef APP-PLUS
    console.log("开始初始化推送服务(uni-push 1.0)");
    if (typeof plus !== "undefined" && plus.push) {
      console.log("plus.push å­˜åœ¨:", plus.push);
      // èŽ·å–å®¢æˆ·ç«¯æŽ¨é€æ ‡è¯†
      console.log("使用 plus.push.getClientInfo èŽ·å–å®¢æˆ·ç«¯æ ‡è¯†");
      plus.push.getClientInfoAsync(info => {
        console.log("客户端推送标识:", info);
        uni.setStorageSync("clientid", info.clientid);
        // è¿™é‡Œå¯ä»¥å°†å®¢æˆ·ç«¯æ ‡è¯†å‘送到服务器
      });
      setTimeout(() => {
        console.log("使用 plus.push.getClientInfoAsync èŽ·å–å®¢æˆ·ç«¯æ ‡è¯†");
        plus.push.getClientInfoAsync(info => {
          console.log("客户端推送标识:", info);
          // è¿™é‡Œå¯ä»¥å°†å®¢æˆ·ç«¯æ ‡è¯†å‘送到服务器
        });
      }, 1000);
      // ç›‘听推送消息点击事件
      plus.push.addEventListener("click", handlePushClick, false);
      // ç›‘听推送消息接收事件
      plus.push.addEventListener("receive", handlePushReceive, false);
      console.log("推送服务注册成功");
    } else {
      console.log("推送服务不可用");
    }
    // #endif
  };
  // å¤„理推送消息点击事件
  const handlePushClick = msg => {
    console.log("点击推送消息:", msg);
    try {
      if (msg.payload.indexOf("/") === 0) {
        uni.navigateTo({
          url: msg.payload,
        });
      } else {
        uni.navigateTo({
          url: "/" + msg.payload,
        });
      }
    } catch (error) {
      uni.showToast({
        title: "路径:" + msg.payload,
        icon: "none",
      });
      uni.showToast({
        title: "跳转失败:" + error.message,
        icon: "none",
      });
    }
    // è§£æžå¹¶å¤„理推送消息...
  };
  // å¤„理推送消息接收事件
  const handlePushReceive = msg => {
    console.log("收到推送消息:", msg);
    // å¤„理接收的推送消息...
  };
</script>
<style lang="scss">
  @import "uview-plus/index.scss";
  @import "@/static/scss/index.scss";
</style>