From b3db075062666a86f40e2ba7f5555def70d75de4 Mon Sep 17 00:00:00 2001 From: "1152958806@qq.com" <1152958806@qq.com> Date: Tue, 19 Dec 2023 23:04:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=88=B1=E5=8F=91=E7=94=B5=E8=B5=9E=E5=8A=A9?= =?UTF-8?q?=E6=94=B9=E6=88=90api=E5=BD=A2=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- settings.yaml | 30 ++++------ templates/assets/js/halo.js | 58 ++++++++++++++++++++ templates/assets/zhheo/blogex.js | 3 +- templates/modules/variables/site-config.html | 4 +- templates/modules/widgets/aside/power.html | 31 ++++------- 5 files changed, 86 insertions(+), 40 deletions(-) diff --git a/settings.yaml b/settings.yaml index f8686e4a..13ae8c59 100644 --- a/settings.yaml +++ b/settings.yaml @@ -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: 小板报 diff --git a/templates/assets/js/halo.js b/templates/assets/js/halo.js index b93e840f..e361ae6b 100644 --- a/templates/assets/js/halo.js +++ b/templates/assets/js/halo.js @@ -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 = ` +