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 @@
-
+ {{ computedPrefix }}
+
{{ ar.name }}
- ,
+ ,
@@ -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 @@
-