爱发电赞助改成api形式
This commit is contained in:
parent
8256264d62
commit
b3db075062
|
@ -684,28 +684,22 @@ spec:
|
|||
label: 爱发电赞助
|
||||
value:
|
||||
powerLink: /
|
||||
list:
|
||||
url: https://api.afdian.cnkj.site/api/creator/get-top-sponsors?user_id=
|
||||
userId:
|
||||
showNum: 3
|
||||
children:
|
||||
- $formkit: url
|
||||
name: powerLink
|
||||
label: 赞助地址
|
||||
- $formkit: repeater
|
||||
name: list
|
||||
label: 爱发电赞助列表
|
||||
value: [ ]
|
||||
children:
|
||||
- $formkit: attachment
|
||||
name: avatar
|
||||
label: 头像
|
||||
- $formkit: text
|
||||
name: name
|
||||
label: 名称
|
||||
- $formkit: url
|
||||
name: link
|
||||
label: 链接
|
||||
- $formkit: text
|
||||
name: descr
|
||||
label: 描述
|
||||
- $formkit: text
|
||||
name: url
|
||||
label: 接口地址
|
||||
- $formkit: text
|
||||
name: userId
|
||||
label: 用户ID
|
||||
- $formkit: number
|
||||
name: showNum
|
||||
label: 最大展示条数
|
||||
- $formkit: group
|
||||
name: welcome
|
||||
label: 小板报
|
||||
|
|
|
@ -355,6 +355,64 @@ let halo = {
|
|||
changeMarginLeft(element) {
|
||||
var randomMargin = Math.floor(Math.random() * 901) + 100; // 生成100-1000之间的随机数
|
||||
element.style.marginLeft = randomMargin + 'px';
|
||||
},
|
||||
|
||||
getTopSponsors() {
|
||||
var user_id = GLOBAL_CONFIG.source.power.userId
|
||||
var show_num = GLOBAL_CONFIG.source.power.showNum
|
||||
|
||||
function getPower() {
|
||||
const url = GLOBAL_CONFIG.source.power.url + user_id
|
||||
fetch(url)
|
||||
.then(res => res.json())
|
||||
.then(data => {
|
||||
if (200 === data["ec"]) {
|
||||
var values = data["data"]["list"]
|
||||
saveToLocal.set('power-data', JSON.stringify(values), 10 / (60 * 24))
|
||||
renderer(values);
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
function renderer(values){
|
||||
var data = getArrayItems(values, 1);
|
||||
let powerStar = document.getElementById("power-star")
|
||||
if (powerStar) {
|
||||
powerStar.href = "https://afdian.net/u/" + data[0].user_id
|
||||
powerStar.innerHTML = `
|
||||
<div id="power-star-image" style="background-image: url(${data[0].avatar})">
|
||||
</div>
|
||||
<div class="power-star-body">
|
||||
<div id="power-star-title">${data[0].name}</div>
|
||||
<div id="power-star-desc">更多支持,为爱发电</div>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
if (values.length > 1) {
|
||||
var i = 0;
|
||||
var htmlText = '';
|
||||
for (let value of values) {
|
||||
if (i > parseInt(show_num)) {
|
||||
break;
|
||||
}
|
||||
htmlText += ` <a href="${"https://afdian.net/u/" + value["user_id"]}" rel="external nofollow" target="_blank" th:title="${value["name"]}">${value["name"]}</a>`;
|
||||
i = i + 1;
|
||||
}
|
||||
if (document.getElementById("power-item-link")) {
|
||||
document.getElementById("power-item-link").innerHTML = htmlText;
|
||||
}
|
||||
}
|
||||
}
|
||||
function init(){
|
||||
const data = saveToLocal.get('power-data')
|
||||
if (data) {
|
||||
renderer(JSON.parse(data))
|
||||
} else {
|
||||
getPower()
|
||||
}
|
||||
}
|
||||
document.getElementById("power-star") && init()
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -597,7 +597,8 @@ function initBlog() {
|
|||
GLOBAL_CONFIG.loadingBox && heo.hideLoading(),
|
||||
heo.tagPageActive(),
|
||||
initObserver(),
|
||||
checkUrlAndAddHideBanner()
|
||||
checkUrlAndAddHideBanner(),
|
||||
halo.getTopSponsors()
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -53,7 +53,9 @@
|
|||
},
|
||||
source: {
|
||||
power:{
|
||||
list:[[${theme.config.sidebar.power.list}]]
|
||||
url:[[${theme.config.sidebar.power.url}]],
|
||||
userId:[[${theme.config.sidebar.power.userId}]],
|
||||
showNum:[[${theme.config.sidebar.power.showNum}]]
|
||||
},
|
||||
links: {
|
||||
linksUrl: [[${ theme.config.link.linksUrl }]],
|
||||
|
|
|
@ -1,30 +1,21 @@
|
|||
<!-- 爱发电赞助 -->
|
||||
<div >
|
||||
<div>
|
||||
<div class="card-widget card-power">
|
||||
<div class="item-headline"><i class="haofont hao-icon-aifadian-line"></i><span>爱发电赞助</span>
|
||||
<a class="power-charge" th:href="${theme.config.sidebar.power.powerLink}" target="_blank" title="赞助博主">赞助
|
||||
</a>
|
||||
</div>
|
||||
<th:block th:if="${not #lists.isEmpty(theme.config.sidebar.power.list)}" th:with="powerList = ${theme.config.sidebar.power.list}">
|
||||
<a id="power-star"
|
||||
th:href="${powerList[0].link}" rel="external nofollow" target="_blank" title="推荐博主">
|
||||
<div id="power-star-image"
|
||||
th:style="'background-image: url('+${powerList[0].avatar}+')'">
|
||||
</div>
|
||||
<div class="power-star-body">
|
||||
<div id="power-star-title">[[${powerList[0].name}]]</div>
|
||||
<div id="power-star-desc">[[${powerList[0].descr}]]</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="power-list">
|
||||
<div class="power-item">
|
||||
<div class="power-item-body" >
|
||||
<div class="power-item-link" th:each="power : ${powerList}">
|
||||
<a th:href="${power.link}" rel="external nofollow" target="_blank" th:title="${power.name}">[[${power.name}]]</a>
|
||||
</div>
|
||||
<a id="power-star" rel="external nofollow" target="_blank" title="推荐博主">
|
||||
|
||||
</a>
|
||||
<div class="power-list">
|
||||
<div class="power-item">
|
||||
<div class="power-item-body">
|
||||
<div class="power-item-link" id="power-item-link">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in New Issue