diff --git a/package.json b/package.json index ccbb0ac..19d6db2 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "extract-zip": "^2.0.1", "howler": "^2.2.0", "js-cookie": "^2.2.1", + "localforage": "^1.9.0", "nprogress": "^0.2.0", "pac-proxy-agent": "^4.1.0", "plyr": "^3.6.2", diff --git a/public/img/logos/nyancat.gif b/public/img/logos/nyancat.gif new file mode 100644 index 0000000..bf0314f Binary files /dev/null and b/public/img/logos/nyancat.gif differ diff --git a/src/App.vue b/src/App.vue index dab84a1..1b7873d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -166,6 +166,7 @@ button { a { color: inherit; text-decoration: none; + cursor: pointer; &:hover { text-decoration: underline; } diff --git a/src/api/artist.js b/src/api/artist.js index 023f35d..08428b1 100644 --- a/src/api/artist.js +++ b/src/api/artist.js @@ -61,15 +61,15 @@ export function toplistOfArtists(type = null) { /** * 获取歌手 mv * 说明 : 调用此接口 , 传入歌手 id, 可获得歌手 mv 信息 , 具体 mv 播放地址可调 用/mv传入此接口获得的 mvid 来拿到 , 如 : /artist/mv?id=6452,/mv?mvid=5461064 - * @param {number} id 歌手 id, 可由搜索接口获得 + * @param {number} params.id 歌手 id, 可由搜索接口获得 + * @param {number} params.offset + * @param {number} params.limit */ -export function artistMv(id) { +export function artistMv(params) { return request({ url: "/artist/mv", method: "get", - params: { - id, - }, + params, }); } diff --git a/src/api/user.js b/src/api/user.js index 34601f0..aeeb719 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -64,6 +64,7 @@ export function dailySignin(type = 0) { method: "post", params: { type, + timestamp: new Date().getTime(), }, }); } diff --git a/src/assets/css/slider.css b/src/assets/css/slider.css index 58e197d..706c79e 100644 --- a/src/assets/css/slider.css +++ b/src/assets/css/slider.css @@ -62,3 +62,40 @@ .volume-control:hover .vue-slider-process { background-color: #335eea; } + +/* nyancat */ + +.nyancat .vue-slider-rail { + background-color: rgba(128, 128, 128, 0.18); + padding: 2.5px 0px; + border-radius: 0; +} + +.nyancat .vue-slider-process { + padding: 0px 1px; + top: -2px; + border-radius: 0; + background: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #f00), + color-stop(17%, #f90), + color-stop(33%, #ff0), + color-stop(50%, #3f0), + color-stop(67%, #09f), + color-stop(83%, #63f) + ); +} + +.nyancat .vue-slider-dot-handle { + background: url("/img/logos/nyancat.gif"); + background-size: 36px; + width: 36px; + height: 24px; + margin-top: -6px; + box-shadow: none; + border-radius: 0; + box-sizing: border-box; + visibility: visible; +} diff --git a/src/components/ArtistsInLine.vue b/src/components/ArtistsInLine.vue index 0d693f3..b834f47 100644 --- a/src/components/ArtistsInLine.vue +++ b/src/components/ArtistsInLine.vue @@ -1,8 +1,9 @@ @@ -15,16 +16,22 @@ export default { type: Array, required: true, }, - showFirstArtist: { - type: Boolean, - default: true, + exclude: { + type: String, + default: "", + }, + prefix: { + type: String, + default: "", }, }, computed: { - slicedArtists() { - return this.showFirstArtist - ? this.artists - : this.artists.slice(1, this.artists.length); + filteredArtists() { + return this.artists.filter((a) => a.name !== this.exclude); + }, + computedPrefix() { + if (this.filteredArtists.length !== 0) return this.prefix; + else return ""; }, }, }; diff --git a/src/components/ContextMenu.vue b/src/components/ContextMenu.vue index a224b35..838b4e2 100644 --- a/src/components/ContextMenu.vue +++ b/src/components/ContextMenu.vue @@ -1,5 +1,5 @@