“dzb”
2022-09-26 ccd7b3c5b24fa115a732ea915e2e586de717ea1c
src/App.vue
@@ -1,32 +1,54 @@
<template>
  <div id="app">
    <nav>
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link>
    </nav>
    <router-view/>
    <router-view />
  </div>
</template>
<script>
export default {
  data() {
    return {
      mytitle: '',
    }
  },
  async created() {
    const imgObj = await this.getIcon();
    this.changIcon(imgObj);
  },
  methods: {
    changIcon(obj) {
      var link = document.querySelector("link [rel*='icon']") || document.createElement("link");
      var title = document.querySelector("title") || document.createElement("title");
      link.type = "image/x-icon";
      link.rel = "shortcut icon";
      link.href = obj.chromeLinkUrl;  //icon图标
      title.innerHTML = obj.title;
      document.getElementsByTagName("head")[0].appendChild(link);
      document.getElementsByTagName("head")[0].appendChild(title);
    },
    // 获取icon
    async getIcon() {
      let result;
      const pic = JSON.parse(localStorage.getItem('pic'));
      if (pic) {
        result = pic;
        console.log('缓存')
      } else {
        console.log('请求');
        await this.$axios({
          method: 'get',
          url: 'sccg/system/portal/logo/search',
        }).then(res => {
          console.log(res);
          result = res.data;
          localStorage.setItem('pic',JSON.stringify(result));
        })
      }
      return result;
    },
  }
};
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
nav {
  padding: 30px;
}
nav a {
  font-weight: bold;
  color: #2c3e50;
}
nav a.router-link-exact-active {
  color: #42b983;
}
</style>
</style>