HTML+CSS实训——Day14——项目其他页面的完善

仓库地址:HTML实训

前言

今天我们继续用老师提供的api,完善一些剩余的功能,因为我的git push好像传乱了,所以仓库大家看看最新的就好,最新的一天一定包括前一天所做的内容。

Collect.html+css

收藏界面
HTML+CSS实训——Day14——项目其他页面的完善_第1张图片

DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.css">
  <link rel="stylesheet" href="./css/collect.css">
  <script>
    document.documentElement.style.fontSize = window.screen.width / 10 + 'px'
  script>
  
  <script src="./js/js/vue.js">script>
  <title>title>
head>

<body>
  <div id="app">
    <div class="info">
      <div class="left">
        <img src="img/song/996.jpg" alt="">
        <span>歌单span>
      div>
      <div class="count">
        <span class="fa fa-play">114万次span>
      div>
      <div class="right">
        <span class="title">
          我喜欢的歌曲
        span>
        <span class="comment">
          我喜欢的歌曲
        span>
        <div class="avator">
          <img src="./img/user/default.jpg" alt="">
          <span>GNC顾念辰span>
        div>
      div>
    div>

    <div class="sheet-list">
      歌曲列表
    div>

    


    <div class="box">
      <div class="item" v-for="(item,i) of collect">
        <div class="seq">{{ i+1 }}div>
        <div class="info-song">
          <div class="title">{{ item.title }} div>
        div>
        <button @click="rmCollect(item.sid)">取消收藏button>
        <div class="unlike">

        div>

      div>

    div>




    <div class="tab-bar">
      <div class="item active">
        <i class="fa fa-globe" @click="goToFind">i>
        <span @click="goToFind">发现span>
      div>
      <div class="item">
        <i class="fa fa-video-camera">i>
        <span>视频span>
      div>
      <div class="item">
        <i class="fa fa-music" @click="goToWode">i>
        <span @click="goToWode">我的span>
      div>
      <div class="item">
        <i class="fa fa-users">i>
        <span>云村span>
      div>
      <div class="item">
        <i class="fa fa-user" @click="goToUser()">i>
        <span @click="goToUser()">账号span>
      div>
    div>
  div>

  <script>
    var vm = new Vue({
      el: "#app",
      data: {
        collect: []
      },
      methods: {
        rmCollect(sid) {
          var uid = localStorage.getItem('uid')
          fetch('http://180.76.143.181:3000/collect/remove?uid=' + uid + '&sid=' + sid)
            .then(res => res.json()).then(res => {
              console.log(res)
              // 刷新页面
              location.reload()
            })
        },
        goToFind: function () {
          window.location.href = "find.html";
        },
        goToUser: function () {
          location.href = './user.html'
        },
        goToWode: function () {
          location.href = './wode.html'
        },
      },
      mounted() {
        var uid = localStorage.getItem('uid')
        fetch('http://180.76.143.181:3000/collect/list?uid=' + uid).then(res => res.json()).then(res => {
          console.log(res)
          this.collect = res.data
        })

      },

    })
  script>
body>

html>
body {
    margin: 0rem;
  }
  
  .info {
    height: 4rem;
    background-color: gray;
    padding-top: .8rem;
    padding-left: .5333rem;
    display: flex;
  }
  
  
  .info .left img {
    width: 3.2rem;
    height: 3.2rem;
  }
  
  .info .left {
    position: relative;
  }
  
  .info .left span {
    position: absolute;
    left: 0;
    top: .2667rem;
    background-color: #b94257;
    color: white;
    width: 1.0667rem;
    height: .6933rem;
    line-height: .6933rem;
  
    border-radius: 0 .3467rem .3467rem 0;
    padding-left: .16rem;
    font-size: .3733rem;
    margin-left: 0rem;
    margin-right: 0rem;
  }
  
  .info .count span {
    position: absolute;
    left: 2.2133rem;
    width: 2.1333rem;
    /* border: .0267rem solid red ; */
    color: white;
    display: inline-block;
    font-size: small;
  }
  
  .info .right {
    margin-left: .2667rem;
    /* border: .0267rem solid red; */
  }
  
  .info .right .title {
    font-size: .4267rem;
    
    /* border: .0267rem solid red; */
  }
  
  .info .right span {
    margin-left: 0rem;
    margin-right: 0rem;
    color: white;
    font-size: .48rem;
  }
  
  .info .right .title {
    display: flex;
    align-items: center;
  
    font-size: .5333rem;
  }
  .info .right .comment {
    display: flex;
    font-size: 12px;
  }
  
  .info .right div{
    position: relative;
    display: flex;
    font-size: .3733rem;
    margin-top: .8rem;
  
    /* border: .0267rem solid red; */
  }
  .info .right img {
    position: absolute;
    width: .8rem;
    height: .8rem;
    border-radius: .5333rem;
    margin-top: 10.0012px;
  }
  
  .info .right div span {
    margin-left: 34.9988px;
    margin-top: 19.9988px;
    font-size: .3733rem;
  
    /* border: .0267rem solid red; */
  }
  .sheet-list {
    top: 2.9333rem;
    background-color: gainsboro;
    font-size: .3733rem;
    color: gray;
    line-height: .8rem;
    padding-left: .2667rem;
  }


  .box .item .seq {

    height: .5333rem;
    width: .1333rem;
    color: black;
    font-size: .5333rem;
  }
  .box{
    margin-top: .16rem;
  }
  .box .item{

    display: flex;
    justify-content: center;
    border-bottom: .0267rem solid gainsboro; 
    padding-bottom: .1333rem;
    margin-bottom: .2667rem;
    margin-top: .2667rem;
  }
  .box .item .unlike button{
    
    border: .0267rem solid black;
    background-color: red;
    color: white;
    border-radius: .08rem;
  }
  .box .item .info-song .title{
    margin-left: .2333rem;

  
  }
  .box .item .info-song{
    width: 5.8667rem;
    
    /* border: .0267rem solid red; */
  }






  .tab-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    height: 2.1333rem;
    /* border: .0267rem solid red; */
    display: flex;
    justify-content: space-evenly;
  }
  
  .tab-bar>.item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  
  .tab-bar>.item>i {
    font-size: .8rem;
  }
  
  .tab-bar>.item>span {
    margin-top: .16rem;
    font-size: .3733rem;
  }
  
  .tab-bar>.active {
    color: red;
  }
  .info-song .title{
    font-size: .4533rem;
  }

add-sheet.html+css

添加歌曲页面
HTML+CSS实训——Day14——项目其他页面的完善_第2张图片

DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.css">
  <link rel="stylesheet" href="./css/add-sheet.css">
  <script>
    document.documentElement.style.fontSize = window.screen.width / 10 + 'px'
  script>
  
  <script src="./js/js/vue.js">script>
  <title>添加歌单title>
head>

<body>
  <div id="app">
    <div class="top-nav">
			<i class="fa fa-arrow-left" @click="goBack()">i>
		div>
    <di class="addedlist">已添加歌曲:{{ sheetSongs }}di>
    <div class="ps">
      歌单名:<br><input type="text" v-model="title"> <br>
      描述:<br><input type="text" v-model="intro"> <br>
      <button @click="add">添加button>
    div>
    <div class="box">
      <div v-for="song of songs">
        <input type="checkbox" v-model="sheetSongs" :value="song.sid"> {{ song.title }}
      div>
    div>

  div>

  <script>
    var vm = new Vue({
      el: "#app",
      data: {
        songs: [],
        sheetSongs: [],
        title: '',
        intro: ''
      },
      mounted() {
        fetch('http://180.76.143.181:3000/song/list')
          .then(res => res.json()).then(res => {
            console.log(res)
            this.songs = res.data
          })
      },
      methods: {
        add() {
          var uid = localStorage.getItem('uid')
          fetch('http://180.76.143.181:3000/sheet/add',
            {
              method: 'POST',
              headers: {
                'Content-Type': 'application/json'
              },
              body: JSON.stringify({
                uid: uid,
                title: this.title,
                intro: this.intro,
                sids: this.sheetSongs.join()
              })
            })
            .then(res => res.json()).then(res => {
              console.log(res)
            })
        },
        goBack: function () {
					history.back()
				},
      },
    })
  script>
body>

html>
body{
    background-color: red;
}
.top-nav{
    display: flex;
    justify-content: space-between;
    margin-left: .2667rem;
    margin-right: .2667rem;
    margin-top: .2667rem;


}

.top-nav>.fa{  
    font-size: .6933rem;
    color: white;

}
.addedlist {
    font-size: 20px;
    color: white;
}

.ps {
    color: white;
    font-size: 20px;
    text-align: center;

}
.ps input {
    width: 7.2rem;
    height: 20px;
    border: none;
    margin-bottom: .16rem;
    /* 清除轮廓 */
    outline: none;
}
button {
    width: 7.2rem;
    height: 20px;
    border: none;
    margin-bottom: .16rem;
    /* 清除轮廓 */
    outline: none;
}
.box div{
    margin-top: 10px;
    margin-left: 30px;
    font-size: 20px;
    color: white;
}

还有几个页面,我就不一一展示了,大家去我的仓库直接下载就可以

你可能感兴趣的:(前端实训课,html,css,前端)