<!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;
}