致谢名单
<h2><span style="color: #66ccff;">在此万分感谢对本站做出贡献的锦依卫们!❤ (ɔˆз(ˆ⌣ˆc) 是你们使这个后花园越来越好,最终变成大家想要的样子哦~</span></h2><h2><span style="font-size: x-large;">注入共鸣能量的锦依卫</span><span style="color: #000000; font-size: 12pt;">(仅显示>10共鸣能量)</span></h2>
<h4><span style="color: #66ccff; font-size: 12pt;"><a style="color: #66ccff;" href="https://i.lty.fan/plugin.php?id=one_credits" target="_blank" rel="noopener">>>点我注入共鸣能量</a></span></h4>
<div class="hot-top layui-clear">
<div class="right">
<div class="right-overflow" id="yhturns">
<div class="right-main">
<div class="sponsor-list-wrapper">
<div class="sponsor-list" id="userTableBody">
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function calculateNameBytesLength(name) {
let length = 0;
for (let i = 0; i < name.length; i++) {
const charCode = name.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
length += 1;
} else {
length += 2;
}
}
return length;
}
document.addEventListener('DOMContentLoaded', function() {
fetch('https://i.lty.fan/plugin.php?id=tybbs_member_count_api:get_data')
.then(response => response.json())
.then(data => {
if (data.status === 'success' && Array.isArray(data.data)) {
const users = data.data
.filter(user => user.extcredits3 >= 10)
.sort((a, b) => b.extcredits3 - a.extcredits3);
const sponsorList = document.getElementById('userTableBody');
users.forEach(user => {
const nickname = user.username || '无昵称';
const avatarUrl = `http://i.lty.fan/uc_server/avatar.php?uid=${user.uid}&size=big`;
const sponsorAmount = `¥${user.extcredits3}`;
const profileLink = `https://i.lty.fan/home.php?mod=space&uid=${user.uid}&do=profile`;
const sponsorItem = document.createElement('div');
sponsorItem.className = 'sponsor-item';
const nameBytesLength = calculateNameBytesLength(nickname);
const displayName = nameBytesLength > 8
? `<span class="scroll-text">${nickname}</span>`
: nickname;
sponsorItem.innerHTML =
`<a href="${profileLink}" target="_blank">
<span class="avatar-img" title="赞助用户">
<img decoding="async" alt="${nickname}的头像" src="${avatarUrl}" class="avatar avatar-id-${user.uid}" title="${nickname}">
</span>
<p class="user-name" title="${nickname}">
${displayName}
</p>
<p class="sponsor-amount" title="赞助积分">${sponsorAmount}</p>
</a>`;
sponsorList.appendChild(sponsorItem);
});
} else {
alert('无法获取用户数据,或数据格式不正确');
console.error('Unexpected data format:', data);
}
})
.catch(error => console.error('Error fetching data:', error));
});
</script>
<style>
.sponsor-list {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 10px;
}
.sponsor-item {
width: 60px;
text-align: center;
border: 1px solid #ddd;
padding: 5px;
border-radius: 5px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}
.sponsor-item a {
text-decoration: none;
color: inherit;
}
.avatar-img img {
width: 50px;
height: 50px;
border-radius: 50%;
}
.user-name {
margin-top: 5px;
font-size: 12px;
font-weight: bold;
white-space: nowrap;
overflow: hidden;
width: 100%;
}
.scroll-text {
display: inline-block;
animation: scroll 5s linear infinite;
white-space: nowrap;
}
.sponsor-amount {
margin-top: 3px;
font-size: 15px;
color: #e00;
}
@keyframes scroll {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
</style>
<h2><span style="font-size: x-large;">正在注入V能量的锦依卫</span></h2>
<p><span style="color: #66ccff; font-size: 12pt;"><a style="color: #66ccff;" href="https://i.lty.fan/plugin.php?id=one_group" target="_blank" rel="noopener">>>点我注入V能量</a></span></p>
<div class="injection-user-list">
<div class="injection-right">
<div class="injection-overflow" id="injection-yhturns">
<div class="injection-main">
<div class="injection-list-wrapper">
<div class="injection-list" id="injectionUserTableBody">
</div>
</div>
</div>
</div>
</div>
</div>
<script>
const apiUrl = 'https://i.lty.fan/plugin.php?id=tybbs_function_list_users:api&action=get_injection_users';
function getCurrentTimestamp() {
return Math.floor(new Date().getTime() / 1000);
}
function calculateRemainingDays(expiryTimestamp) {
const currentTimestamp = getCurrentTimestamp();
const remainingSeconds = expiryTimestamp - currentTimestamp;
const remainingDays = Math.floor(remainingSeconds / (60 * 60 * 24));
return remainingDays > 0 ? remainingDays : 0;
}
function calculateNameBytesLength(name) {
let length = 0;
for (let i = 0; i < name.length; i++) {
const charCode = name.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) {
length += 1;
} else {
length += 2;
}
}
return length;
}
function generateUserItem(user) {
const avatarUrl = `http://i.lty.fan/uc_server/avatar.php?uid=${user.uid}&size=big`;
// 计算名字的字节长度
const nameBytesLength = calculateNameBytesLength(user.username);
// 根据 groupid 生成角标图片 URL
let groupIconUrl = '';
if (user.groupid == 23) {
groupIconUrl = 'https://i.lty.fan/data/attachment/common/37/common_23_usergroup_icon.png'; // 激发态
} else if (user.groupid == 22) {
groupIconUrl = 'https://i.lty.fan/data/attachment/common/b6/common_22_usergroup_icon.png'; // 基态
}
// 计算剩余天数,不需要除以1000
const remainingDays = calculateRemainingDays(user.groupexpiry);
// 判断用户名是否需要滚动显示
const scrollClass = nameBytesLength > 8 ? 'injection-scroll-text' : '';
// 生成用户的 HTML 结构
return `
<div class="injection-item">
<a href="https://i.lty.fan/home.php?mod=space&uid=${user.uid}&do=profile" target="_blank">
<div class="injection-avatar-container">
<img decoding="async" alt="${user.username}的头像" src="${avatarUrl}" class="injection-avatar-id-${user.uid}" title="${user.username}">
${groupIconUrl ? `<img src="${groupIconUrl}" alt="用户组角标" class="injection-group-icon">` : ''}
</div>
<p class="injection-user-name" title="${user.username}">
<span class="${scrollClass}">${user.username}</span>
</p>
</a>
</div>`;
}
fetch(apiUrl)
.then(response => response.json())
.then(data => {
if (data.status === 'success') {
let users = data.data;
users.sort((a, b) => {
if (a.groupid !== b.groupid) {
return b.groupid - a.groupid;
}
const remainingDaysA = calculateRemainingDays(new Date(a.groupexpiry).getTime() / 1000);
const remainingDaysB = calculateRemainingDays(new Date(b.groupexpiry).getTime() / 1000);
return remainingDaysB - remainingDaysA;
});
const userTableBody = document.getElementById('injectionUserTableBody');
users.forEach(user => {
const userItemHTML = generateUserItem(user);
userTableBody.innerHTML += userItemHTML;
});
}
})
.catch(error => {
console.error('获取用户数据时出错:', error);
});
</script>
<style>
.injection-list {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 10px;
}
.injection-item {
width: 60px;
text-align: center;
border: 1px solid #ddd;
padding: 5px;
border-radius: 5px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}
.injection-item a {
text-decoration: none;
color: inherit;
}
.injection-avatar-container {
position: relative;
display: inline-block;
}
.injection-avatar-container img {
width: 50px;
height: 50px;
border-radius: 50%;
}
.injection-group-icon {
position: absolute;
bottom: 0;
right: 0;
width: 25px !important;
height: 25px !important;
border-radius: 50%;
}
.injection-user-name {
margin-top: 5px;
font-size: 12px;
font-weight: bold;
white-space: nowrap;
overflow: hidden;
width: 100%;
}
.injection-scroll-text {
display: inline-block;
animation: injection-scroll 5s linear infinite;
white-space: nowrap;
}
@keyframes injection-scroll {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
</style>
<h2><font size="5">对本站有贡献的锦依卫</font></h2>
<h3><font size="3">本站logo设计出谋划策</font></h3>
<div id="userList">
</div>
<script>
const specifiedUIDsResonance = ;
document.addEventListener('DOMContentLoaded', function() {
const apiUrlResonance = `https://i.lty.fan/plugin.php?id=tybbs_show_user_list_by_uid:api&action=get_user_data_by_uids&uids=${specifiedUIDsResonance.join(',')}`;
fetch(apiUrlResonance)
.then(response => response.json())
.then(data => {
if (data.status === 'success' && Array.isArray(data.data)) {
const users = data.data;
const userList = document.getElementById('userList');
const userLinks = [];
users.forEach(user => {
const nickname = user.username || '无昵称';
const profileLink = `https://i.lty.fan/home.php?mod=space&uid=${user.uid}&do=profile`;
const userLink = document.createElement('a');
userLink.href = profileLink;
userLink.target = '_blank';
userLink.textContent = nickname;
userLink.style.color = 'grey';
userLinks.push(userLink.outerHTML);
});
userList.innerHTML = userLinks.join('、');
} else {
alert('无法获取用户数据,或数据格式不正确');
console.error('Unexpected data format:', data);
}
})
.catch(error => console.error('Error fetching data:', error));
});
</script>
页:
[1]