download.sh 支持合并本地静态列表

This commit is contained in:
zhangkun9038@dingtalk.com 2025-11-07 01:40:44 +08:00
parent 4488ff399c
commit 76126d4d81

View File

@ -1,5 +1,8 @@
#!/bin/bash
# Global default pairs list
default_pairs="BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT RIO/USDT LTC/USDT SUI/USDT PEPE/USDT TRB/USDT FIL/USDT UNI/USDT KAITO/USDT"
# Function to extract the value of a parameter
get_param_value() {
local param="$1"
@ -83,7 +86,7 @@ if [[ -z "$pairs" ]]; then
if [[ "$use_local_pairlist" == true ]]; then
# 使用代码中定义的默认交易对列表
echo "Using local pairlist from code"
pairs="BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT RIO/USDT LTC/USDT SUI/USDT PEPE/USDT TRB/USDT FIL/USDT UNI/USDT KAITO/USDT"
pairs="$default_pairs"
echo "Pairs: $pairs"
else
# 从API获取交易对列表
@ -92,23 +95,37 @@ if [[ -z "$pairs" ]]; then
# 检查API响应是否成功
if [[ $? -ne 0 || -z "$pairs_json" ]]; then
echo "Error: Failed to fetch pairs from API, using fallback list"
pairs="BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT RIO/USDT LTC/USDT SUI/USDT PEPE/USDT TRB/USDT FIL/USDT UNI/USDT KAITO/USDT"
echo "Error: Failed to fetch pairs from API, using default list"
pairs="$default_pairs"
else
# 解析JSON并提取交易对将连字符替换为斜杠
pairs=$(echo "$pairs_json" | python3 -c "
api_pairs=$(echo "$pairs_json" | python3 -c "
import sys, json
data = json.load(sys.stdin)
pairs = [pair.replace('-', '/') for pair in data.get('pairlist', [])]
print(' '.join(pairs) if pairs else '')
")
# 如果解析失败,使用备用列表
if [[ -z "$pairs" ]]; then
echo "Error: Failed to parse API response, using fallback list"
pairs="BTC/USDT TON/USDT DOT/USDT XRP/USDT OKB/USDT SOL/USDT DOGE/USDT RIO/USDT LTC/USDT SUI/USDT PEPE/USDT TRB/USDT FIL/USDT UNI/USDT KAITO/USTS"
# 如果解析失败,使用默认列表
if [[ -z "$api_pairs" ]]; then
echo "Error: Failed to parse API response, using default list"
pairs="$default_pairs"
else
echo "Successfully fetched $(echo "$pairs" | wc -w) pairs from API"
# 合并API获取的pairlist和本地default_pairs
echo "Successfully fetched $(echo "$api_pairs" | wc -w) pairs from API"
# 使用关联数组去重
declare -A pairs_map
for pair in $api_pairs; do
pairs_map["$pair"]=1
done
for pair in $default_pairs; do
pairs_map["$pair"]=1
done
# 合并后的交易对列表
pairs=$(printf '%s ' "${!pairs_map[@]}")
pairs="${pairs% }" # 移除末尾空格
echo "Merged pairs from API and default list"
echo "Total pairs: $(echo "$pairs" | wc -w)"
echo "Pairs: $pairs"
fi
fi