index.vue 3.73 KB
<template>
  <div class="box">
    <div v-for="(item,index) of homelist" :key="item.id" class="box_img">
      <img :src="item.imgUrl" alt @click="handclick(index)">
      <p>{{item.title}}</p>
    </div>
  </div>
</template>
<script>
import list from "@/assets/json/public.json";

export default {
  name: "index",
  components: {},
  data() {
    return {
      homelist: []
    };
  },
  methods: {
    handclick(index) {
      this.$share.toTop();
      if (/from=[^&$?]{1,}(&|$)/.test(location.search) || /isappinstalled=[^&$?]{1,}(&|$)/.test(location.search)) {var newSearch = location.search.replace(/from=[^&$?]{1,}(&|$)/, "").replace(/isappinstalled=[^&$?]{1,}(&|$)/, "").replace(/&$|\?$/, "");
        var newUrl =location.origin + location.pathname + newSearch + location.hash;
        location.replace(newUrl);
      }
      var ourl = window.location.href;
      var ourls = ourl.substr(1);
      if (ourl.indexOf("fromUser") != -1) {
        var oUrls = ourl.split("&")[0];
        var urls = oUrls.split("=")[1];
        var tokens = urls;
      } else {
        var tokens = ourls.split("=")[1];
      }
      let url = location.href.split("#")[0];

      this.$router.push({
        path: "/activePage/detail",
        query: {
          id: index,
          token: tokens
        }
      });
    },
    initWx() {
      const baseUrl = this.$config.baseURL;
      if (/from=[^&$?]{1,}(&|$)/.test(location.search) || /isappinstalled=[^&$?]{1,}(&|$)/.test(location.search)) {
        var newSearch = location.search.replace(/from=[^&$?]{1,}(&|$)/, "").replace(/isappinstalled=[^&$?]{1,}(&|$)/, "").replace(/&$|\?$/, "");
        var newUrl =location.origin + location.pathname + newSearch + location.hash;
        location.replace(newUrl);
      }
      var ourl = window.location.href;
      var ourls = ourl.substr(1);
      if (ourl.indexOf("fromUser") != -1) {
        var oUrls = ourl.split("&")[0];
        var urls = oUrls.split("=")[1];
        var tokens = urls;
      } else {
        var tokens = ourls.split("=")[1];
      }
      let url = location.href.split("#")[0];
      $.ajax({
        url: "https://esjelly.com/jsApi",
        type: "GET",
        data: {
          url: url
        },
        dataType: "json",
        success: function(res) {
          wx.config({
            debug: false,
            appId: res.appid,
            timestamp: res.timestamp,
            nonceStr: res.nonceStr,
            signature: res.signature,
            jsApiList: [
              "onMenuShareTimeline",
              "onMenuShareAppMessage",
              "checkJsApi"
            ]
          });
          let shareParam = {
            title: "慧学习", // 分享标题
            link: `${baseUrl}test?page=/activePage&fromUser=${tokens}`,
            desc: "会学习,免费学,从此以后让你爱上学习。", // 分享描述
            type: "link", // 分享类型
            dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空
            imgUrl: "https://gxbfile-gs.gaoxiaobang.com/Huixuexi/logo.jpg", //分享图标
            success: function(res) {
              console.log("分享成功");
            },
            fail: function(res) {
              console.log("分享失败");
            }
          };
          wx.ready(function() {
            wx.onMenuShareTimeline(shareParam);
            wx.onMenuShareAppMessage(shareParam);
          });
        },
        err: function(err) {
          console.log(err);
        }
      });
    }
  },
  created() {
    this.initWx();
    this.homelist = list.homecenter.home;
  }
};
</script>

<style lang="" scoped>
.box_img img {
  width: 100%;
}
.box_img p {
  text-align: center;
  line-height: 0.8rem;
  color: #000;
  font-size: 0.28rem;
  letter-spacing: 0.01rem;
}
</style>