<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <script src="http/index.js"></script></head><body>    <script>        httpBanner(res=>{            console.log(res)        })        httpList(res=>{            console.log(res);        })    </script></body></html>
http:
index.js
var baseUrl   ="http://192.168.4.18:3000/"
function ajax({
    url,
    method = "get",
    success
}){
   var xhr =  new XMLHttpRequest();
   xhr.open(method,url=baseUrl+url,true);
   xhr.send();
   xhr.onreadystatechange = function(){
       if(xhr.readyState == 4 && xhr.status == 200){
           var result = JSON.parse(xhr.responseText);
           success(result)
       }
   }
}
/* banner的http为例 */
 function httpBanner(callback){
     ajax({
         url:"banner",
         success:res=>{
            callback(res)
         }
     })
 }
 function httpList(callback){
     ajax({
         url:"top/playlist?cat=华语",
         success:res=>{
             callback(res);
         }
     })
 }
render.js
window.onload = function () {
    var listUrl = "top/playlist?cat=华语";
    var bannerUrl  = "banner"
    /* 发送列表页的http */
    ajax({
        url:listUrl,
        success: res => {
            handleListHttpData(res)
        }
    })
    function handleListHttpData(res) {
        var { playlists } = res;
        var results = playlists.slice(0, 8);
        var musics = [];
        results.forEach(item => {
            var { name, coverImgUrl, playCount } = item;
            playCount = handleNum(playCount);
            musics.push({
                name,
                coverImgUrl,
                playCount
            })
        })
        musics.forEach((value,index)=>{
            var template = `
            <div>
                <img src=${value.coverImgUrl} alt="">
                <div class="opcity">
                    <i class="iconfont icon-erji"></i>
                    <em>${value.playCount}</em>
                    <a href="#"><i class="iconfont icon-bofang1" style="color: #ccc;"></i></a>
                </div>
                <p><a href="#">${value.name}</a></p>
             </div>
           `
           $(".hot-content").append(template);
        })
    }
    /* banner发送http */
   ajax({
       url:bannerUrl,
       success:res=>{
           handleBannerHttpData(res)
       }
   })
   function handleBannerHttpData(res){
       var {banners} = res;
       console.log(banners)
       banners.forEach(item=>{
           var template = `
           <img src=${item.imageUrl}>
           `
           $('#list').append(template);
       })
   }
}
search.js
window.onload = function () {
    $("#btn").click(function () {
        $(".container").html("");
        var value = $("#input").val();
        var url = `search?keywords=${value}&type=10`;
        ajax({
            url,
            success: res => {
                handleData(res)
            }
        })
    })
    function handleData(res) {
        var albums = res.result.albums
        albums.forEach(item => {
            var template = `
                    <div>
                        <img src=${item.blurPicUrl}>
                        <a href="#" class="title">${item.name}</a>
                        <p class="name">${item.artist.name}</p>
                    </div>
                `
            $(".container").append(template)
        })
    }
}
utils.js
function handleNum(num){
    if(num>=100000000){
        return Math.floor(num/100000000)+"亿"
    }else if(num>10000){
        return Math.floor(num/10000)+"万"
    }
    return num;
}