diff --git a/README.md b/README.md index 21b3ded..2771c07 100644 --- a/README.md +++ b/README.md @@ -13,30 +13,24 @@ 首页|50% -- 音乐|☑ -- 抖音音乐榜|☑ --- 搜索|50%; --- 直播|50%; +-- 搜索|50% +-- 直播|50% 朋友|0% 消息|80% +-- 私聊|☑ 我|90% +-- 求更新|☑ -- 关注|0 -- 粉丝|0 -- 编辑资料|☑ -- 添加朋友|☑ --- 我的音乐|30% +-- 我的音乐|50% +-- 收藏视频\音乐|50% -- 抖音商城|0 --- 我的订单|0 --- 钱包|0 --- 我的二维码|☑ --- 我的二维码|☑ --- 设置|30% -首页| -首页| -首页| -首页| -首页| -首页| -首页| -首页| +-- 右侧菜单子页面|10% +-- 设置|☑ +-- -- 子页面|☑ +登录\注册|☑ 首页| ## 目标功能 diff --git a/src/assets/img/icon/newicon/left_menu/clock.png b/src/assets/img/icon/newicon/left_menu/clock.png index 7932ce9..7c4f37d 100644 Binary files a/src/assets/img/icon/newicon/left_menu/clock.png and b/src/assets/img/icon/newicon/left_menu/clock.png differ diff --git a/src/assets/less/custom.less b/src/assets/less/custom.less index 8f08b01..edc91b4 100644 --- a/src/assets/less/custom.less +++ b/src/assets/less/custom.less @@ -60,6 +60,7 @@ } .right { + max-width: 80%; display: flex; justify-content: space-between; align-items: center; diff --git a/src/pages/me/Me.vue b/src/pages/me/Me.vue index 810e6e4..a73d881 100644 --- a/src/pages/me/Me.vue +++ b/src/pages/me/Me.vue @@ -225,26 +225,30 @@
-
- - 观看历史 -
我的二维码
-
+
+ + 观看历史 +
+
+ + 时间管理 +
+
创作者服务中心
-
+
小程序
-
+
抖音公益
@@ -252,7 +256,7 @@ 未成年保护工具
-
+
我的客服
@@ -264,38 +268,38 @@
生活服务
-
+
卡券
-
+
免流量
-
+
视频彩铃
拓展功能
-
+
我的动态
-
+
我的缓存
-
+
上热门
-
+
小店随心推
-
+
投教园地
diff --git a/src/pages/me/MyMusic.vue b/src/pages/me/MyMusic.vue index 04c3ae8..6a9644b 100644 --- a/src/pages/me/MyMusic.vue +++ b/src/pages/me/MyMusic.vue @@ -16,15 +16,15 @@
-
+
-
{{ item.c }}
+
{{ item.c }}
-
+
-
+
{{ item.c }}
@@ -36,7 +36,8 @@
- + + 收藏
@@ -72,7 +73,46 @@
- + +
+
+
+ + 播放全部 + (2) +
+ +
+
+
+
+
+ +
+
+ {{ item.name }} +
{{ item.author }}
+
+
完整版
+
{{ $duration(item.duration) }}
+
+
+
+
+
+ + +
+
+
+
+
+ 推荐收藏 +
+ 自动播放 +
+
+
@@ -81,19 +121,14 @@ import {mapState} from "vuex"; import globalMethods from "../../utils/global-methods"; import {nextTick} from "vue"; -// import lyricsFaruxue from '../../assets/data/lyrics/faruxue.txt' import gaobaiqiqiu from '../../assets/data/lyrics/gaobaiqiqiu.lrc' - export default { name: "MyMusic", components: {}, - props: { - modelValue: false - }, data() { return { - slideIndex: 0, + slideIndex: 1, music: { name: '告白气球', mp3: 'https://mp32.9ku.com/upload/128/2017/02/05/858423.mp3', @@ -104,11 +139,14 @@ export default { is_collect: false, is_play: false, }, + collectMusic: [], + recommendMusic: [], lyricsTexts: [], lyricsFullTexts: [], isPlay: false, isLoop: false, isMove: false, + isCollect: false, isFullLyrics: false, lastPageX: 0, pageX: 0, @@ -124,6 +162,7 @@ export default { ...mapState(['bodyWidth']) }, created() { + this.getCollectMusic() }, mounted() { this.audio.src = this.music.mp3 @@ -178,6 +217,15 @@ export default { }) }, methods: { + async getCollectMusic() { + this.loading = true + let res = await this.$api.videos.collect() + this.loading = false + if (res.code === this.SUCCESS) { + this.collectMusic = res.data.music.list.slice(0, 2) + this.recommendMusic = res.data.music.list.slice(2, -1) + } + }, createLrcObj(lrc) { let oLRC = { ti: "", //歌曲名 @@ -290,6 +338,12 @@ export default { color: white; font-size: 1.4rem; + .base-slide-item { + &:nth-child(1) { + background: rgb(136, 132, 133); + } + } + .music-play { display: flex; flex-direction: column; @@ -480,6 +534,110 @@ export default { } } + .my-collect { + padding: @padding-page; + + .play-all { + margin-bottom: 2rem; + display: flex; + justify-content: space-between; + align-items: center; + + .left { + display: flex; + align-items: center; + + img { + width: 3rem; + margin-right: 1rem; + } + + .num { + color: gray; + margin-left: .5rem; + } + } + + .menu { + height: 2rem; + } + } + + .collect-list { + .item { + display: flex; + justify-content: space-between; + margin-bottom: 1.5rem; + + .left { + display: flex; + + .cover-wrapper { + margin-right: 1rem; + position: relative; + display: flex; + align-items: center; + justify-content: center; + + .cover { + border-radius: .2rem; + @width: 6rem; + width: @width; + object-fit: cover; + height: @width; + } + } + + .desc { + display: flex; + flex-direction: column; + justify-content: space-between; + + .name { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + max-width: 40vw; + } + + .author, .desc-bottom { + font-size: 1.2rem; + color: @second-text-color; + } + + .desc-bottom { + display: flex; + align-items: center; + + .tag { + font-size: 1rem; + background: @second-btn-color-tran; + padding: .2rem .5rem; + margin-right: .5rem; + } + + .duration { + margin-right: 1.4rem; + position: relative; + } + } + } + } + + .right { + display: flex; + align-items: center; + + .collect-icon { + img { + width: 2.4rem; + } + } + } + + } + } + } } diff --git a/src/pages/me/collect/VideoCollect.vue b/src/pages/me/collect/VideoCollect.vue index 576bb40..e0762de 100644 --- a/src/pages/me/collect/VideoCollect.vue +++ b/src/pages/me/collect/VideoCollect.vue @@ -6,33 +6,57 @@
- - + + + + +
@@ -50,7 +74,11 @@ export default { font-size: 1.4rem; .content { - padding-top: 6rem; + padding-top: @header-height; + + .Scroll { + height: calc(100vh - @header-height)!important; + } } } diff --git a/src/pages/me/rightMenu/LookHistory.vue b/src/pages/me/rightMenu/LookHistory.vue index 2f15798..cd6cf91 100644 --- a/src/pages/me/rightMenu/LookHistory.vue +++ b/src/pages/me/rightMenu/LookHistory.vue @@ -75,10 +75,10 @@ export default { computed: { isClear() { if (this.currentSlideItemIndex === 0) { - return this.historyVideo.list = [] + return this.historyVideo.list.length } - return this.historyOther.list = [] - } + return this.historyOther.list.length + }, }, created() { this.getHistoryVideo(true) diff --git a/src/pages/me/userinfo/EditUserInfo.vue b/src/pages/me/userinfo/EditUserInfo.vue index eb0a055..3b8dcf8 100644 --- a/src/pages/me/userinfo/EditUserInfo.vue +++ b/src/pages/me/userinfo/EditUserInfo.vue @@ -19,14 +19,14 @@
名字
- {{ isEmpty(userinfo.name) }} + {{ isEmpty(userinfo.nickname) }}
抖音号
- {{ isEmpty(userinfo.account) }} + {{ isEmpty(userinfo.unique_id) }}
diff --git a/src/pages/me/userinfo/EditUserInfoItem.vue b/src/pages/me/userinfo/EditUserInfoItem.vue index aa07020..0cec408 100644 --- a/src/pages/me/userinfo/EditUserInfoItem.vue +++ b/src/pages/me/userinfo/EditUserInfoItem.vue @@ -17,22 +17,22 @@
我的名字
- - + + @click="localUserinfo.nickname = ''">
-
{{ localUserinfo.name.length }}/20
+
{{ localUserinfo.nickname.length }}/20
我的抖音号
- + + @click="localUserinfo.unique_id = ''">
最多16个字,只允许包含字母、数字、下划线和点,30天内仅能修改一次
@@ -65,11 +65,11 @@ export default { }, computed: { isChanged() { - if (this.type === 1) if (!this.localUserinfo.name) return false + if (this.type === 1) if (!this.localUserinfo.nickname) return false if (this.type === 2) if (!this.localUserinfo.desc) return false - if (this.userinfo.name !== this.localUserinfo.name) return true + if (this.userinfo.nickname !== this.localUserinfo.nickname) return true if (this.userinfo.desc !== this.localUserinfo.desc) return true - return this.userinfo.account !== this.localUserinfo.account; + return this.userinfo.unique_id !== this.localUserinfo.unique_id; }, ...mapState({ userinfo: 'userinfo', @@ -89,7 +89,7 @@ export default { async save() { if (!this.isChanged) return if (this.type === 1) { - if (!this.localUserinfo.name) return this.$notice('名字不能为空') + if (!this.localUserinfo.nickname) return this.$notice('名字不能为空') } this.$showLoading() this.$store.commit('setUserinfo', this.localUserinfo) diff --git a/src/store/index.js b/src/store/index.js index 7afd597..1af2e9c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -37,7 +37,7 @@ const store = Vuex.createStore({ "last_login_time": "1630423555", "create_time": "1630423555", "status": 1, - "desc": `一个普普通通学表演的\n看到的人都能开开心心`, + "desc": `一个普普通通学表演的\n看到的人都能开开心心~~~~~~~~~~~~~`, "is_private": 1 }, friends: {