[JavaScript] 纯文本查看 复制代码 function generateJDUrl(paramValue) {
// Base64解码
let decoded = atob(paramValue);
console.log("Decoded string:", decoded); // 输出: "a0bPg8c1VMW4c8O"
// 提取子字符串
let part1 = decoded.substring(3, 5); // "Pg"
let part2 = decoded.substring(8, 12); // "VMW4"
let part3 = decoded.substring(14); // "O"
// 组合路径
let path = part1 + part2 + part3;
console.log("Combined path:", path); // 输出: "PgVMW4O"
// 拼接URL
let baseUrl = "https://u.jd.com/";
let finalUrl = baseUrl + path;
return finalUrl;
}
// 测试
let param = "YTBiUGc4YzFWTVc0YzhP";
let url = generateJDUrl(param);
console.log("Final URL:", url); // 输出: "https://u.jd.com/PgVMW4O"
HTML
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>京东短链参数转换工具</title>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.container {
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
width: 100%;
max-width: 600px;
padding: 30px;
}
h1 {
color: #e33333;
text-align: center;
margin-bottom: 20px;
font-size: 28px;
}
.description {
color: #666;
text-align: center;
margin-bottom: 30px;
line-height: 1.6;
}
.input-group {
margin-bottom: 25px;
}
label {
display: block;
margin-bottom: 8px;
font-weight: 600;
color: #333;
}
input {
width: 100%;
padding: 14px;
border: 2px solid #ddd;
border-radius: 6px;
font-size: 16px;
transition: border-color 0.3s;
}
input:focus {
border-color: #e33333;
outline: none;
}
button {
background-color: #e33333;
color: white;
border: none;
padding: 14px 20px;
border-radius: 6px;
cursor: pointer;
font-size: 16px;
font-weight: 600;
width: 100%;
transition: background-color 0.3s;
margin-bottom: 20px;
}
button:hover {
background-color: #c41a1a;
}
.result-container {
background-color: #f9f9f9;
border-radius: 8px;
padding: 20px;
margin-top: 20px;
border-left: 4px solid #e33333;
}
.result-title {
font-weight: 600;
margin-bottom: 10px;
color: #333;
}
.result-url {
word-break: break-all;
padding: 12px;
background-color: #eee;
border-radius: 4px;
margin-bottom: 15px;
font-family: monospace;
}
.copy-btn {
background-color: #4CAF50;
width: auto;
padding: 10px 15px;
font-size: 14px;
}
.copy-btn:hover {
background-color: #45a049;
}
.process-steps {
margin-top: 20px;
padding: 15px;
background-color: #f0f8ff;
border-radius: 8px;
font-size: 14px;
}
.step {
margin-bottom: 10px;
padding-left: 20px;
position: relative;
}
.step:before {
content: "→";
position: absolute;
left: 0;
color: #e33333;
}
.example {
margin-top: 20px;
padding: 15px;
background-color: #fff8e1;
border-radius: 8px;
font-size: 14px;
}
.example-title {
font-weight: 600;
margin-bottom: 8px;
color: #e65100;
}
</style>
</head>
<body>
<div class="container">
<h1>京东短链参数转换工具</h1>
<p class="description">输入param参数,将其转换为京东短链URL</p>
<div class="input-group">
<label for="param-input">Param参数:</label>
<input type="text" id="param-input" placeholder="例如: YTBiUGc4YzFWTVc0YzhP" autocomplete="off">
</div>
<button id="convert-btn">转换参数</button>
<div class="result-container">
<div class="result-title">转换结果:</div>
<div id="result-url" class="result-url">等待输入...</div>
<button id="copy-btn" class="copy-btn" disabled>复制链接</button>
</div>
<div class="process-steps">
<div class="result-title">转换过程:</div>
<div id="process-details">
<div class="step">等待输入参数</div>
</div>
</div>
<div class="example">
<div class="example-title">示例:</div>
<div>输入: YTBiUGc4YzFWTVc0YzhP</div>
<div>输出: https://u.jd.com/PgVMW4O</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const paramInput = document.getElementById('param-input');
const convertBtn = document.getElementById('convert-btn');
const resultUrl = document.getElementById('result-url');
const copyBtn = document.getElementById('copy-btn');
const processDetails = document.getElementById('process-details');
// 转换函数
function convertParam(paramValue) {
// 清空过程显示
processDetails.innerHTML = '';
// 添加第一步
addProcessStep(`输入参数: ${paramValue}`);
try {
// Base64解码
const decoded = atob(paramValue);
addProcessStep(`Base64解码: ${decoded}`);
// 检查长度
if (decoded.length < 15) {
throw new Error('解码后的字符串长度不足,无法提取所需部分');
}
// 提取子字符串
const part1 = decoded.substring(3, 5);
addProcessStep(`提取索引3-5: "${part1}"`);
const part2 = decoded.substring(8, 12);
addProcessStep(`提取索引8-12: "${part2}"`);
const part3 = decoded.substring(14);
addProcessStep(`提取索引14到末尾: "${part3}"`);
// 组合路径
const path = part1 + part2 + part3;
addProcessStep(`组合路径: "${path}"`);
// 拼接URL
const baseUrl = "https://u.jd.com/";
const finalUrl = baseUrl + path;
addProcessStep(`最终URL: ${finalUrl}`);
return finalUrl;
} catch (error) {
addProcessStep(`错误: ${error.message}`);
return null;
}
}
// 添加过程步骤
function addProcessStep(text) {
const step = document.createElement('div');
step.className = 'step';
step.textContent = text;
processDetails.appendChild(step);
}
// 转换按钮点击事件
convertBtn.addEventListener('click', function() {
const paramValue = paramInput.value.trim();
if (!paramValue) {
resultUrl.textContent = '请输入param参数';
copyBtn.disabled = true;
return;
}
const url = convertParam(paramValue);
if (url) {
resultUrl.textContent = url;
copyBtn.disabled = false;
} else {
resultUrl.textContent = '转换失败,请检查参数格式';
copyBtn.disabled = true;
}
});
// 复制按钮点击事件
copyBtn.addEventListener('click', function() {
const tempTextArea = document.createElement('textarea');
tempTextArea.value = resultUrl.textContent;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// 显示复制成功反馈
const originalText = copyBtn.textContent;
copyBtn.textContent = '已复制!';
setTimeout(() => {
copyBtn.textContent = originalText;
}, 1500);
});
// 示例参数
paramInput.addEventListener('focus', function() {
if (!this.value) {
this.value = 'YTBiUGc4YzFWTVc0YzhP';
}
});
});
</script>
</body>
</html>
步骤:
1.GET https://kzurl17.cn/7KOyJE
2.生成上面的京东的跳转链接 https://u.jd.com/PgVMW4O
3.获取最后地址
|