Add read more button

pull/1/head
Hans362 5 years ago
parent f747c6c541
commit 9017ab16db
Signed by: hans362
GPG Key ID: B186D77ABEC2A785

@ -75,7 +75,11 @@ var userId = "66745436"; /* 替换成你的 Bilibili UID可在个人空间中
引入完成后在页面中需要添加追番列表的地方添加一个容器:
```html
<div class="bgm-collection" id="bgm-collection"></div>
<div class="bgm-container">
<div class="bgm-collection" id="bgm-collection">
<img style="margin: 0 auto;" src="https://cdn.jsdelivr.net/gh/hans362/Bilibili-Bangumi-JS/assets/bilibili.gif">
</div>
</div>
```
#### 方案二:静态博客插件

@ -1 +1 @@
/*! Bilibili-Bangumi-JS v1.0.1 | Hans362 (https://hans362.cn) | https://bilibili-bangumi-js.vercel.app | MIT License */.bgm-collection{margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-left:-15px;width:calc(100% + 15px)}.bgm-item{display:block;margin-left:15px;margin-bottom:15px;position:relative;-webkit-box-shadow:0 0 6px rgba(0,0,0,.2);box-shadow:0 0 6px rgba(0,0,0,.2);-webkit-transition:.3s ease box-shadow;-o-transition:.3s ease box-shadow;transition:.3s ease box-shadow;border:none!important;text-decoration:none!important;background:#fff}.bgm-item:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,.2);box-shadow:0 6px 12px rgba(0,0,0,.2);border:none!important;text-decoration:none!important}@media screen and (max-width:767.5px){.bgm-item{width:calc(33.33333333333% - 15px)}}@media screen and (max-width:450px){.bgm-item{width:calc(50% - 15px)}}@media screen and (min-width:767.5px){.bgm-item{width:calc(25% - 15px)}}.bgm-item-thumb{width:100%;background-position:center;background-repeat:no-repeat;background-size:cover}.bgm-item-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem;overflow:hidden}.bgm-item-info>*{display:block;text-align:center;margin:0 auto;max-width:100%}.bgm-item-title{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-size:.9rem;color:#333}.bgm-item-title:not(.main){color:#5e5b5c}.bgm-item-title.main{font-size:1.2rem}.bgm-item-statusBar-container{margin:.2rem auto;background:#7cd4f2;width:100%;position:relative;z-index:0;color:#fff;border-radius:16px}.bgm-item-statusBar{position:absolute;height:100%;background:#00a1d6;left:0;top:0;z-index:-1;border-radius:16px}.loader{text-align:center;padding:.3em;width:6.5em;margin:1.2rem auto;border:3px solid rgba(0,0,0,.2);color:#333;-webkit-transition:.3s ease all;-o-transition:.3s ease all;transition:.3s ease all;cursor:pointer;white-space:nowrap}body.theme-dark .loader{border:3px solid rgba(255,255,255,.2);color:#b0b0b0}.loader:hover,body.theme-dark .loader:hover{border:3px solid #00a1d6;color:#00a1d6}.dot{width:8px;height:8px;background:#00a1d6;border-radius:100%;display:inline-block;-webkit-animation:slide 1s infinite;animation:slide 1s infinite;margin:0 10px}.dot:nth-child(1){-webkit-animation-delay:.1s;animation-delay:.1s}.dot:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes slide{0%{-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.3;-webkit-transform:scale(2);transform:scale(2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes slide{0%{-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.3;-webkit-transform:scale(2);transform:scale(2)}100%{-webkit-transform:scale(1);transform:scale(1)}}
/*! Bilibili-Bangumi-JS v1.0.2 | Hans362 (https://hans362.cn) | https://bilibili-bangumi-js.vercel.app | MIT License */.bgm-collection{margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-left:-15px;width:calc(100% + 15px)}.bgm-item{display:block;margin-left:15px;margin-bottom:15px;position:relative;-webkit-box-shadow:0 0 6px rgba(0,0,0,.2);box-shadow:0 0 6px rgba(0,0,0,.2);-webkit-transition:.3s ease box-shadow;-o-transition:.3s ease box-shadow;transition:.3s ease box-shadow;border:none!important;text-decoration:none!important;background:#fff}.bgm-item:hover{-webkit-box-shadow:0 6px 12px rgba(0,0,0,.2);box-shadow:0 6px 12px rgba(0,0,0,.2);border:none!important;text-decoration:none!important}@media screen and (max-width:767.5px){.bgm-item{width:calc(33.33333333333% - 15px)}}@media screen and (max-width:450px){.bgm-item{width:calc(50% - 15px)}}@media screen and (min-width:767.5px){.bgm-item{width:calc(25% - 15px)}}.bgm-item-thumb{width:100%;background-position:center;background-repeat:no-repeat;background-size:cover}.bgm-item-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem;overflow:hidden}.bgm-item-info>*{display:block;text-align:center;margin:0 auto;max-width:100%}.bgm-item-title{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-size:.9rem;color:#333}.bgm-item-title:not(.main){color:#5e5b5c}.bgm-item-title.main{font-size:1.2rem}.bgm-item-statusBar-container{margin:.2rem auto;background:#7cd4f2;width:100%;position:relative;z-index:0;color:#fff;border-radius:16px}.bgm-item-statusBar{position:absolute;height:100%;background:#00a1d6;left:0;top:0;z-index:-1;border-radius:16px}.bgm-navigator{text-align:center}.bgm-btn{margin:0 auto;display:inline-block;text-decoration:none;height:36px;line-height:36px;border-radius:22px;text-align:center;padding:0 20px;min-width:80px;color:#fff;background-color:#2e9fff}.loader{text-align:center;padding:.3em;width:6.5em;margin:1.2rem auto;border:3px solid rgba(0,0,0,.2);color:#333;-webkit-transition:.3s ease all;-o-transition:.3s ease all;transition:.3s ease all;cursor:pointer;white-space:nowrap}body.theme-dark .loader{border:3px solid rgba(255,255,255,.2);color:#b0b0b0}.loader:hover,body.theme-dark .loader:hover{border:3px solid #00a1d6;color:#00a1d6}.dot{width:8px;height:8px;background:#00a1d6;border-radius:100%;display:inline-block;-webkit-animation:slide 1s infinite;animation:slide 1s infinite;margin:0 10px}.dot:nth-child(1){-webkit-animation-delay:.1s;animation-delay:.1s}.dot:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.dot:nth-child(3){-webkit-animation-delay:.3s;animation-delay:.3s}@-webkit-keyframes slide{0%{-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.3;-webkit-transform:scale(2);transform:scale(2)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes slide{0%{-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.3;-webkit-transform:scale(2);transform:scale(2)}100%{-webkit-transform:scale(1);transform:scale(1)}}

@ -1 +1 @@
/*! Bilibili-Bangumi-JS v1.0.1 | Hans362 (https://hans362.cn) | https://bilibili-bangumi-js.vercel.app | MIT License */"use strict";var bangumiJson=(apiUrl||"https://bilibili-bangumi-js.vercel.app/api")+"?vmid="+userId+"&token="+(new Date).getTime()+Math.random();$.getJSON(bangumiJson,function(e){$("#bgm-collection").empty(),$.each(e.data.list,function(e,s){var t=0;s.is_finish?t=s.total_count:s.is_started&&"即将开播"!=s.new_ep.index_show?(t=s.new_ep.title,$.isNumeric(t)||(t=s.total_count)):t=0,t<0&&(t=0);var i=0;s.is_started?0<=s.progress.indexOf("已看完")?i=t:void 0!==s.progress&&-1==s.progress.indexOf("PV")?(i=s.progress.substring(s.progress.indexOf("第")+1,s.progress.indexOf("话")),$.isNumeric(i)||(i=t)):i=0:i=0;var n=i/t*100,a=s.cover.replace("http","https");$("#bgm-collection").append('\n <a class="bgm-item" href="'+s.url+'" target="_blank">\n <img class="bgm-item-thumb" src="'+a+'" referrerpolicy="no-referrer"></img>\n <div class="bgm-item-info">\n <span class="bgm-item-title main">'+s.title+'</span>\n <span class="bgm-item-title">'+s.evaluate+'</span>\n <div class="bgm-item-statusBar-container">\n <div class="bgm-item-statusBar" style="width:'+n+'%"></div>\n <span class="bgm-item-percentage">进度:'+i+" / "+t+"</span>\n </div>\n </div>\n </a>\n ")})});
/*! Bilibili-Bangumi-JS v1.0.2 | Hans362 (https://hans362.cn) | https://bilibili-bangumi-js.vercel.app | MIT License */"use strict";var bangumiJson=(apiUrl||"https://bilibili-bangumi-js.vercel.app/api")+"?vmid="+userId+"&token="+(new Date).getTime()+Math.random();function getPage(t){$.getJSON(bangumiJson+"&pn="+t,function(e){1==t?$(".bgm-collection").empty():$(".bgm-navigator").remove(),$.each(e.data.list,function(e,t){var a=0;t.is_finish?a=t.total_count:t.is_started&&"即将开播"!=t.new_ep.index_show?(a=t.new_ep.title,$.isNumeric(a)||(a=t.total_count)):a=0,a<0&&(a=0);var i=0;t.is_started?0<=t.progress.indexOf("已看完")?i=a:void 0!==t.progress&&-1==t.progress.indexOf("PV")?(i=t.progress.substring(t.progress.indexOf("第")+1,t.progress.indexOf("话")),$.isNumeric(i)||(i=a)):i=0:i=0;var s=i/a*100,n=t.cover.replace("http","https");$(".bgm-collection").append('\n <a class="bgm-item" href="'+t.url+'" target="_blank">\n <img class="bgm-item-thumb" src="'+n+'" referrerpolicy="no-referrer"></img>\n <div class="bgm-item-info">\n <span class="bgm-item-title main">'+t.title+'</span>\n <span class="bgm-item-title">'+t.evaluate+'</span>\n <div class="bgm-item-statusBar-container">\n <div class="bgm-item-statusBar" style="width:'+s+'%"></div>\n <span class="bgm-item-percentage">进度:'+i+" / "+a+"</span>\n </div>\n </div>\n </a>\n ")}),t<Math.ceil(e.data.total/20)&&$(".bgm-container").append('\n <div class="bgm-navigator">\n <a href="javascript:getPage('+(t+1)+');" class="bgm-btn">加载更多</a>\n </div>\n ')})}getPage(1);

@ -5,6 +5,7 @@ const autoprefixer = require('gulp-autoprefixer');
const cleanCSS = require('gulp-clean-css');
const header = require('gulp-header');
const pkg = require('./package.json');
const connect = require('gulp-connect');
const jsBanner = ['/*! Bilibili-Bangumi-JS v<%= pkg.version %>',
@ -62,4 +63,12 @@ gulp.task('minify-css', () => gulp.src('src/**/*.css')
gulp.task('build', gulp.parallel('minify-js', 'minify-css'));
gulp.task('default', gulp.parallel('build'));
gulp.task('server', function() {
connect.server({
livereload: true,
port: 8888,
host: "0.0.0.0"
});
});
gulp.task('default', gulp.parallel('build'));

@ -140,8 +140,8 @@
<h2 style="margin: 16px auto; text-align: center; border-bottom: 2px dashed #2e9fff; width: 60px; color: #2e9fff">演示</h2>
<p>以下为作者本人的 Bilibili 追番进度:</p>
</div>
<div class="bgm-collection" id="bgm-collection">
<img style="margin: 0 auto;" src="https://cdn.jsdelivr.net/gh/hans362/Bilibili-Bangumi-JS/assets/bilibili.gif"></img>
<div class="bgm-collection">
<img style="margin: 0 auto;" src="https://cdn.jsdelivr.net/gh/hans362/Bilibili-Bangumi-JS/assets/bilibili.gif">
</div>
</div>
</body>

243
package-lock.json generated

@ -1224,6 +1224,11 @@
}
}
},
"batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
},
"binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
@ -1238,6 +1243,38 @@
"file-uri-to-path": "1.0.0"
}
},
"body": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
"integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
"requires": {
"continuable-cache": "^0.3.1",
"error": "^7.0.0",
"raw-body": "~1.1.0",
"safe-json-parse": "~1.0.1"
},
"dependencies": {
"bytes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g="
},
"raw-body": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
"integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
"requires": {
"bytes": "1",
"string_decoder": "0.10"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
},
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@ -1546,6 +1583,22 @@
}
}
},
"connect": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
"integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
"requires": {
"debug": "2.6.9",
"finalhandler": "1.1.2",
"parseurl": "~1.3.3",
"utils-merge": "1.0.1"
}
},
"connect-livereload": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.6.1.tgz",
"integrity": "sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g=="
},
"content-disposition": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
@ -1559,6 +1612,11 @@
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"continuable-cache": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
"integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8="
},
"convert-source-map": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
@ -1762,6 +1820,14 @@
"once": "^1.4.0"
}
},
"error": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz",
"integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==",
"requires": {
"string-template": "~0.2.1"
}
},
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@ -2026,6 +2092,14 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz",
"integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk="
},
"faye-websocket": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
"requires": {
"websocket-driver": ">=0.5.1"
}
},
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@ -2400,6 +2474,75 @@
}
}
},
"gulp-connect": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/gulp-connect/-/gulp-connect-5.7.0.tgz",
"integrity": "sha512-8tRcC6wgXMLakpPw9M7GRJIhxkYdgZsXwn7n56BA2bQYGLR9NOPhMzx7js+qYDy6vhNkbApGKURjAw1FjY4pNA==",
"requires": {
"ansi-colors": "^2.0.5",
"connect": "^3.6.6",
"connect-livereload": "^0.6.0",
"fancy-log": "^1.3.2",
"map-stream": "^0.0.7",
"send": "^0.16.2",
"serve-index": "^1.9.1",
"serve-static": "^1.13.2",
"tiny-lr": "^1.1.1"
},
"dependencies": {
"ansi-colors": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.5.tgz",
"integrity": "sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw=="
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.0",
"statuses": ">= 1.4.0 < 2"
}
},
"mime": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
},
"send": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "~1.6.2",
"mime": "1.4.1",
"ms": "2.0.0",
"on-finished": "~2.3.0",
"range-parser": "~1.2.0",
"statuses": "~1.4.0"
}
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"statuses": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
}
}
},
"gulp-header": {
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.9.tgz",
@ -2516,6 +2659,11 @@
"toidentifier": "1.0.0"
}
},
"http-parser-js": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
"integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg=="
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@ -2830,6 +2978,11 @@
"resolve": "^1.1.7"
}
},
"livereload-js": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
"integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw=="
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
@ -3118,6 +3271,11 @@
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
@ -3662,6 +3820,11 @@
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-json-parse": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
"integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c="
},
"safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
@ -3715,6 +3878,38 @@
}
}
},
"serve-index": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
"integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
"requires": {
"accepts": "~1.3.4",
"batch": "0.6.1",
"debug": "2.6.9",
"escape-html": "~1.0.3",
"http-errors": "~1.6.2",
"mime-types": "~2.1.17",
"parseurl": "~1.3.2"
},
"dependencies": {
"http-errors": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.0",
"statuses": ">= 1.4.0 < 2"
}
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
}
}
},
"serve-static": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
@ -3956,6 +4151,11 @@
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
},
"string-template": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
"integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0="
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@ -4030,6 +4230,34 @@
"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
},
"tiny-lr": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
"integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
"requires": {
"body": "^5.1.0",
"debug": "^3.1.0",
"faye-websocket": "~0.10.0",
"livereload-js": "^2.3.0",
"object-assign": "^4.1.0",
"qs": "^6.4.0"
},
"dependencies": {
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
}
}
},
"to-absolute-glob": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
@ -4352,6 +4580,21 @@
"source-map": "^0.5.1"
}
},
"websocket-driver": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
"integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"requires": {
"http-parser-js": ">=0.5.1",
"safe-buffer": ">=5.1.0",
"websocket-extensions": ">=0.1.1"
}
},
"websocket-extensions": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg=="
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",

@ -27,6 +27,7 @@
"gulp-autoprefixer": "^7.0.1",
"gulp-babel": "^8.0.0",
"gulp-clean-css": "^4.3.0",
"gulp-connect": "^5.7.0",
"gulp-header": "^2.0.9",
"gulp-uglify": "^3.0.2",
"module-alias": "^2.2.2"

@ -94,6 +94,22 @@
z-index: -1;
border-radius: 16px;
}
.bgm-navigator{
text-align: center;
}
.bgm-btn{
margin: 0 auto;
display: inline-block;
text-decoration: none;
height: 36px;
line-height: 36px;
border-radius: 22px;
text-align: center;
padding: 0 20px;
min-width: 80px;
color: white;
background-color: #2e9fff;
}
.loader{
text-align: center;

@ -1,43 +1,58 @@
var bangumiJson = (apiUrl || "https://bilibili-bangumi-js.vercel.app/api") + "?vmid=" + userId + "&token=" + new Date().getTime() + Math.random();
$.getJSON(bangumiJson, function (data) {
$("#bgm-collection").empty();
$.each(data.data.list, function (index, value) {
var total = 0;
if (value.is_finish) {
total = value.total_count;
} else if (!value.is_started || value.new_ep.index_show == '即将开播') {
total = 0;
function getPage(pageNum) {
$.getJSON(bangumiJson + "&pn=" + pageNum, function (data) {
if (pageNum == 1) {
$(".bgm-collection").empty();
} else {
total = value.new_ep.title;
if (!$.isNumeric(total)) total = value.total_count;
$(".bgm-navigator").remove();
}
if (total < 0) total = 0;
var ep = 0;
if (!value.is_started) {
ep = 0;
} else if (value.progress.indexOf('已看完') >= 0) {
ep = total;
} else if (typeof value.progress !== 'undefined' && value.progress.indexOf('PV') == -1) {
ep = value.progress.substring(value.progress.indexOf('第') + 1, value.progress.indexOf('话'));
if (!$.isNumeric(ep)) ep = total;
} else {
ep = 0;
}
var percentage = ep / total * 100;
var cover = value.cover.replace('http','https');
$("#bgm-collection").append(`
<a class="bgm-item" href="${value.url}" target="_blank">
<img class="bgm-item-thumb" src="${cover}" referrerpolicy="no-referrer"></img>
<div class="bgm-item-info">
<span class="bgm-item-title main">${value.title}</span>
<span class="bgm-item-title">${value.evaluate}</span>
<div class="bgm-item-statusBar-container">
<div class="bgm-item-statusBar" style="width:${percentage}%"></div>
<span class="bgm-item-percentage">进度${ep} / ${total}</span>
$.each(data.data.list, function (index, value) {
var total = 0;
if (value.is_finish) {
total = value.total_count;
} else if (!value.is_started || value.new_ep.index_show == '即将开播') {
total = 0;
} else {
total = value.new_ep.title;
if (!$.isNumeric(total)) total = value.total_count;
}
if (total < 0) total = 0;
var ep = 0;
if (!value.is_started) {
ep = 0;
} else if (value.progress.indexOf('已看完') >= 0) {
ep = total;
} else if (typeof value.progress !== 'undefined' && value.progress.indexOf('PV') == -1) {
ep = value.progress.substring(value.progress.indexOf('第') + 1, value.progress.indexOf('话'));
if (!$.isNumeric(ep)) ep = total;
} else {
ep = 0;
}
var percentage = ep / total * 100;
var cover = value.cover.replace('http', 'https');
$(".bgm-collection").append(`
<a class="bgm-item" href="${value.url}" target="_blank">
<img class="bgm-item-thumb" src="${cover}" referrerpolicy="no-referrer"></img>
<div class="bgm-item-info">
<span class="bgm-item-title main">${value.title}</span>
<span class="bgm-item-title">${value.evaluate}</span>
<div class="bgm-item-statusBar-container">
<div class="bgm-item-statusBar" style="width:${percentage}%"></div>
<span class="bgm-item-percentage">进度${ep} / ${total}</span>
</div>
</div>
</a>
`)
});
if (pageNum < Math.ceil(data.data.total / 20)) {
$(".bgm-container").append(`
<div class="bgm-navigator">
<a href="javascript:getPage(${pageNum + 1});" class="bgm-btn">加载更多</a>
</div>
</a>
`)
`)
}
});
});
}
getPage(1);
Loading…
Cancel
Save