部署改回/opt;接入同花顺iFinD HTTP行情,新浪作回退

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-15 11:14:10 +08:00
parent bd7f0da1ca
commit fb61153a4d
11 changed files with 403 additions and 158 deletions
+13 -7
View File
@@ -3,6 +3,7 @@
const input = wrapper.querySelector('.symbol-input');
const hiddenThs = wrapper.querySelector('input[name="symbol"]');
const hiddenName = wrapper.querySelector('input[name="symbol_name"]');
const hiddenMarket = wrapper.querySelector('input[name="market_code"]');
const hiddenSina = wrapper.querySelector('input[name="sina_code"]');
const dropdown = wrapper.querySelector('.symbol-dropdown');
const selectedEl = wrapper.querySelector('.symbol-selected');
@@ -16,21 +17,25 @@
input.value = item.name;
hiddenThs.value = item.ths_code;
hiddenName.value = item.name;
if (hiddenSina) hiddenSina.value = item.sina_code;
selectedEl.textContent = '同花顺: ' + item.ths_code + ' | 主力 ' + (item.contract || item.ths_code);
if (hiddenMarket) hiddenMarket.value = item.market_code || '';
if (hiddenSina) hiddenSina.value = item.sina_code || '';
selectedEl.textContent = '同花顺: ' + item.ths_code +
(item.market_code ? ' (' + item.market_code + ')' : '');
hideDropdown();
}
function renderItems(items) {
dropdown.innerHTML = '';
if (!items.length) {
dropdown.innerHTML = '<div class="symbol-option">无匹配品种,可输入同花顺合约如 ag2606</div>';
dropdown.innerHTML = '<div class="symbol-option">无匹配,可输入同花顺代码如 ag2608</div>';
} else {
items.forEach(function (item) {
const div = document.createElement('div');
div.className = 'symbol-option';
div.innerHTML = item.display +
'<div class="sub">同花顺 ' + item.ths_code + ' · ' + item.exchange + '</div>';
'<div class="sub">同花顺 ' + item.ths_code +
(item.market_code ? ' · ' + item.market_code : '') +
' · ' + item.exchange + '</div>';
div.addEventListener('mousedown', function (e) {
e.preventDefault();
selectItem(item);
@@ -44,6 +49,7 @@
input.addEventListener('input', function () {
hiddenThs.value = '';
hiddenName.value = '';
if (hiddenMarket) hiddenMarket.value = '';
if (hiddenSina) hiddenSina.value = '';
selectedEl.textContent = '';
const q = input.value.trim();
@@ -81,15 +87,15 @@
if (!form.querySelector('.symbol-wrap')) return;
form.addEventListener('submit', function (e) {
const ths = form.querySelector('input[name="symbol"]');
const sina = form.querySelector('input[name="sina_code"]');
const market = form.querySelector('input[name="market_code"]');
if (ths && !ths.value.trim()) {
e.preventDefault();
alert('请从下拉列表选择品种');
return;
}
if (sina && !sina.value.trim()) {
if (market && !market.value.trim()) {
e.preventDefault();
alert('请从下拉列表选择品种(需含同花顺合约代码)');
alert('请从下拉列表选择品种(需含同花顺行情代码)');
}
});
});