App.vue 1.23 KB
<template>
  <div id="app">
    <base-nav-bar v-if="!$route.meta.noNav" :navBarTitle="currentTitle" />
    <router-view />
  </div>
</template>

<script>
import BaseNavBar from "./components/BaseNavBar.vue";
import { getUserInfo } from "@/api/user";
export default {
  components: {
    BaseNavBar
  },
  data() {
    return {
      currentTitle: ""
    };
  },
  watch: {
    $route(val) {
      this.currentTitle = val.meta.title;
    }
  },
  mounted() {
    console.log("和App开始交互");
    this.$bridgeToAppFun
      .getAuthToken()
      .then(res => {
        console.log("获取token成功", res);
        this.saveUser(res);
      })
      .catch(err => {
        console.log("获取token失败", err);
      });
  },
  methods: {
    saveUser(data) {
      if (data) {
        getUserInfo().then(res => {
          console.log("存用户信息");
          if (res.code == 0) {
            localStorage.setItem("user", JSON.stringify(res.data));
          }
        });
      } else {
        console.log("调用失败");
      }
    }
  }
};
</script>

<style lang="scss">
body {
  font-size: 16px;
  font-family: PingFang-SC-Medium;
  background: #f8f8f8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
</style>