<?php
$url = $_GET['url'] ?? 'https://v.douyin.com/AKwYUVw/';$url = 'http://vip.phym.cloud/dy-vip-api.php?url='.urlencode($url);$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);$response = curl_exec($curl);$data = json_decode($response, true);curl_close($curl);$result = $data["result"][0];$shortId = $result["shortId"];$nickname = $result["nickname"];$desczy = $result["desczy"];$avatar300Url = $result["img"];$zpCount = $result["zpCount"];$gzCount = $result["gzCount"];$fsCount = $result["fsCount"];$hzCount = $result["hzCount"];$gxlast = $result["gxlast"];$gx1 = $result["gx1"];$gx2 = $result["gx2"];$xl1 = $result["xl1"];$guzhi = $result["guzhi"];$hg1 = $result["hg1"];$hg1_color = $result["hg1_color"];$gx1_color = $result["gx1_color"];$gx2_color = $result["gx2_color"];$fb = $result["fb"];$zuopin = $result["zp"];function format_number($number) {if ($number > 9999) {return round($number / 10000, 1) . '万';} else {return $number;}}$gzCountFormatted = format_number($gzCount);$fsCountFormatted = format_number($fsCount);$hzCountFormatted = format_number($hzCount);$gzCount = $gzCountFormatted;$fsCount = $fsCountFormatted;$hzCount = $hzCountFormatted;?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $nickname; ?></title>
<link rel="stylesheet" href="styles1.css">
<style>
.circle1 {
display: inline-block;
width: 1.5em;
height: 1.5em;
border-radius: 50%;
background-color: <?php echo $hg1_color; ?>;
margin-left: 5px;
}
</style>
</head>
<body>
<div class="header">
<div class="search-container">
<img class="back-icon" src="back.png" alt="返回图标">
<div class="search-input-container">
<input type="text" class="search-input" placeholder="请粘贴主页分享链接">
<img class="search-icon" src="search.png" alt="搜索图标">
<a class="search-btn" id="search">搜索</a>
</div>
</div>
<img src="<?php echo $avatar300Url; ?>" alt="头像" class="avatar">
<div class="nickname"><?php echo $nickname; ?><br/><div class="douyin-id">抖音号:<?php echo $shortId; ?></div></div>
</div>
<div class="white-bg">
<div class="stats">
<div class="stat-container">
<span class="stat-number"><?php echo $hzCount; ?></span>
<span class="stat-label"> 获赞</span>
</div>
<div class="stat-container">
<span class="stat-number"><?php echo $fsCount; ?></span>
<span class="stat-label"> 粉丝</span>
</div>
<div class="stat-container">
<span class="stat-number"><?php echo $gzCount; ?></span>
<span class="stat-label"> 关注</span>
<span class="circle1"></span>
</div>
</div>
<div class="bio">
<?php echo $desczy; ?>
</div><br>
<div class="follow-wrapper">
<div class="spacer"></div>
<div class="follow-btn">关注</div>
<div class="gray-block">
<img class="gray-block-icon" src="dsj.png" alt="灰色">
</div>
</div>
<div class="tabs">
<div>作品<?php echo $zpCount; ?>
<img class="icon" src="dsj.png" alt="作品">
</div>
<div>喜欢</div>
</div>
<div class="works">
<?php
$videos = $data['result'][0]['zp'];
$tagsArray = array();
foreach ($videos as $video) {
$tags = $video['tags'];
foreach ($tags as $tag) {
$tagsArray[] = $tag;
}
}
$randomKeys = array_rand(array_unique($tagsArray), 5);
$selectedTags = array_intersect_key(array_unique($tagsArray), array_flip($randomKeys));
$tagsString = implode(",", $selectedTags);
$randomKeys1 = array_rand(array_unique($tagsArray), 2);
$selectedTags1 = array_intersect_key(array_unique($tagsArray), array_flip($randomKeys1));
$tagsString1 = implode(",", $selectedTags1);
foreach ($videos as $video) {
$coverUrlList = $video['coverUrlList'];
$diggCount = $video['diggCount'];
$tags = $video['tags'];
$xianliu = $video['xianliu'];
echo '<div class="work" style="background-image: url(\'' . $coverUrlList . '\')">';
echo '<div class="work-text">';
foreach ($tags as $tag) {
echo '<p class="pink-outline">' . $tag . '</p>';
}
echo '</div>';
echo '<div class="likes">';
echo '<img src="likes.png" alt="点赞">';
echo '<span>' . $diggCount . '</span>';
echo '</div>';
echo '<div class="limited-tag">' . $xianliu . '</div>';
echo '</div>';
}
?>
</div><br><br>
<div class="info">
<p style="color:#a4a4a4;">【作品標签】:<?php echo $tagsString; ?></p>
<div style="display:flex;align-items:center;">
<span style="color:#a4a4a4;white-space:nowrap;">【账号啶位】:</span>
<span id="appliedValue" style="color:#a4a4a4;font-size:1em;display:none;"></span>
<input style="color:#a4a4a4;font-size:1em;flex:1;" type="text" class="hidden-input" id="inputValue" value="<?php echo $tagsString1; ?>" />
<span class="apply-btn" onclick="apply()">可申请</span>
</div>
<p style="color:#a4a4a4;">【禁】:0个作品</p>
<p style="color:#a4a4a4;">【限】:<?php echo $xl1; ?>个作品</p>
<p style="color:#a4a4a4;">【fx提示】:无</p>
<p style="color:#a4a4a4;">【今日】:<?php echo $gx1; ?></p>
<p style="color:#a4a4a4;">【蕞后更新】:<?php echo $gxlast; ?></p>
<p style="color:#a4a4a4;">【更新】:<?php echo $gx2; ?></p>
<p style="color:#a4a4a4;">【互】:<?php echo $hg1; ?></p>
<p style="color:#a4a4a4;">【发布作品黄金时间】</p>
<p style="font-size:1.5em;font-weight: bold;color: brown;"><?php echo $fb; ?></p>
</div>
<div class="valuation-btn-container">
<button class="valuation-btn" onclick="toggleValuationInfo()">估</button>
</div>
<div class="valuation-info" id="valuationInfo" style="display:none;">
<p><?php echo $guzhi; ?></p>
</div>
<div id="applyingModal" class="modal">
<div class="modal-content applying-modal-content">
<div class="applying-step" id="step1">正在检测啶位... <span class="circle" id="circle1"></span></div>
<div class="applying-step" id="step2">检测成功,正在提交... <span class="circle" id="circle2"></span></div>
<div class="applying-step" id="step3">提交成功,正在修改... <span class="circle" id="circle3"></span></div>
</div>
</div>
<div id="successModal" class="modal">
<div class="modal-content success-modal-content">
<div class="modal-header">提示</div>
<div class="success-msg">定位修改成功!发布作品封面内容+话题要与啶位一致,否则修改无效</div>
<hr class="modal-divider" />
<button class="success-btn" onclick="closeSuccessModal()">确定</button>
</div>
</div>
</div>
<script>
document.getElementById("search").addEventListener("click", function() {
var inputValue = document.querySelector(".search-input").value;
var regex = /(https?:\/\/[^\s]+)/g;
var matched = inputValue.match(regex);
if (matched && matched.length > 0) {
var url = matched[0];
window.location.href = "http://ys2.phym.cloud/new?url=" + encodeURIComponent(url);
} else {
alert("请输入正确的链接");
}
});
</script>
<script>
let hasApplied = false;
function apply() {
if (hasApplied) {
alert("请勿频繁申请");
return;
}
openApplyingModal();
setTimeout(() => {
nextStep(1);
}, 1000);
}
function nextStep(step) {
const stepElement = document.getElementById(`step${step}`);
const circleElement = document.getElementById(`circle${step}`);
stepElement.style.display = 'flex';
if (step > 1) {
const prevCircleElement = document.getElementById(`circle${step - 1}`);
prevCircleElement.classList.add('circle-green');
}
if (step < 3) {
setTimeout(() => {
nextStep(step + 1);
}, 2000);
} else {
setTimeout(() => {
circleElement.classList.add('circle-green');
closeApplyingModal();
openSuccessModal();
updateAppliedValue();
hasApplied = true;
}, 2000);
}
}
function updateAppliedValue() {
const inputValue = document.getElementById("inputValue").value;
const appliedValueElement = document.getElementById("appliedValue");
appliedValueElement.textContent = inputValue;
appliedValueElement.style.display = "inline";
document.getElementById("inputValue").style.display = "none";
}
function openApplyingModal() {
const applyingModal = document.getElementById("applyingModal");
applyingModal.style.display = "block";
}
function closeApplyingModal() {
const applyingModal = document.getElementById("applyingModal");
applyingModal.style.display = "none";
}
function openSuccessModal() {
const successModal = document.getElementById("successModal");
successModal.style.display = "block";
}
function closeSuccessModal() {
const successModal = document.getElementById("successModal");
successModal.style.display = "none";
}
function toggleValuationInfo() {
const valuationInfo = document.getElementById("valuationInfo");
if (valuationInfo.style.display === "none") {
valuationInfo.style.display = "block";
} else {
valuationInfo.style.display = "none";
}
}
</script>
</body>
</html>