//脚本标签
let tag = document.querySelector("#insertWebJs");
//外部脚本列表
let loadlist=[
    "/static/theme/default/js/vue.global.js",
    "/static/theme/default/js/axios.min.js",
];
//加载量
var loadnum=0;
//加载
loadlist.map((addurl)=>loadScript(addurl,pagejs,"text/javascript"))
//加载函数
function loadScript(url, callback,type) {
  var script = document.createElement("script");
  script.type = type;
  script.async = "async";
  script.src = url;
  document.body.appendChild(script);
  if (script.readyState) {
    //IE
    script.onreadystatechange = function () {
      if (script.readyState == "complete" || script.readyState == "loaded") {
        script.onreadystatechange = null;
        loadnum++;
        callback();
      }
    };
  } else {
    //非IE
    script.onload = function () {
        loadnum++;
        callback();
    };
  }
}
//获得本地脚本函数
function getParams(url) {
  let urlStr = url.split("?")[1];
  const params = new URLSearchParams(urlStr);
  const res = Object.fromEntries(params.entries());
  return res;
}

//获得本地脚本函数参数
const params = getParams(tag.src);
//加载本地脚本
function pagejs(){
    if(loadnum==loadlist.length){
        import("./../js/"+params.load+".js?r="+Math.random()).then(Module=>{
          createVue(Module.myMixin)
        })
    }
}


//创建VUE
function createVue(myMixin){
  const app=Vue.createApp({
    mixins:[myMixin],
    data(){
      return{
        base:'顶层',
        keywords:''
      }
    },
    created(){

    },
    mounted(){
        document.body.classList.remove('hidden')
    },

    methods:{
        
        search(){
            if(this.keywords.trim()!=''){
                window.location.href="/search-"+this.keywords.trim()+'.html'
            }else{
                alert('缺少关键词')
            }
        },
      YPajax(method,path,params){
        let config={
          method:method,
          baseURL: 'https://www.wenshu99.cn/',
          url:path,
          timeout: 5000,
          validateStatus: function (status) {
            return status >= 200 && status < 300;
          },
        }
        if(method=='get'){
          config.params=params
        }
        if(method=='post'){
          config.data=params
        }
        return axios(config)
      }
    }
  })
  const vm=app.mount('#app')
}