|
|
@ -96,9 +96,9 @@ |
|
|
</view> |
|
|
</view> |
|
|
<view class="contentItem"> |
|
|
<view class="contentItem"> |
|
|
<view class="row" v-for="(item, index) in stockData" :key="index"> |
|
|
<view class="row" v-for="(item, index) in stockData" :key="index"> |
|
|
<view class="nameItem">{{ item.name }}</view> |
|
|
|
|
|
|
|
|
<view class="nameItem">{{ item.tscode }}</view> |
|
|
<view class="closeItem">{{ item.close }}</view> |
|
|
<view class="closeItem">{{ item.close }}</view> |
|
|
<view class="priceItem">{{ item.select }}</view> |
|
|
|
|
|
|
|
|
<view class="priceItem">{{ item.preClose }}</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
@ -131,9 +131,9 @@ |
|
|
</view> |
|
|
</view> |
|
|
<view class="contentItem"> |
|
|
<view class="contentItem"> |
|
|
<view class="row" v-for="(item, index) in stockData" :key="index"> |
|
|
<view class="row" v-for="(item, index) in stockData" :key="index"> |
|
|
<view class="nameItem">{{ item.name }}</view> |
|
|
|
|
|
|
|
|
<view class="nameItem">{{ item.tscode }}</view> |
|
|
<view class="closeItem">{{ item.close }}</view> |
|
|
<view class="closeItem">{{ item.close }}</view> |
|
|
<view class="priceItem">{{ item.select }}</view> |
|
|
|
|
|
|
|
|
<view class="priceItem">{{ item.preClose }}</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
@ -189,73 +189,45 @@ const searchStock = () => { |
|
|
//查看全部选股策略 |
|
|
//查看全部选股策略 |
|
|
const viewAll = () => { |
|
|
const viewAll = () => { |
|
|
uni.navigateTo({ |
|
|
uni.navigateTo({ |
|
|
url: "/pages/deepExploration/stockSelectDetail", |
|
|
|
|
|
}); |
|
|
|
|
|
}; |
|
|
|
|
|
//选股策略数据 |
|
|
|
|
|
const stockData = [ |
|
|
|
|
|
{ |
|
|
|
|
|
name: "(MKTW)MarketWise Inc", |
|
|
|
|
|
close: "$14.190", |
|
|
|
|
|
select: "$13.180", |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
name: "(MTCH)Match Group Inc", |
|
|
|
|
|
close: "$32.120", |
|
|
|
|
|
select: "$28.120", |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
name: "(MKTW)MarketWise Inc", |
|
|
|
|
|
close: "$14.190", |
|
|
|
|
|
select: "$13.180", |
|
|
|
|
|
}, |
|
|
|
|
|
]; |
|
|
|
|
|
onMounted(() => { |
|
|
|
|
|
// 状态栏高度 |
|
|
|
|
|
iSMT.value = uni.getSystemInfoSync().statusBarHeight; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查看全部选股策略 |
|
|
|
|
|
const viewAll = () => { |
|
|
|
|
|
uni.navigateTo({ |
|
|
|
|
|
url: '/pages/deepExploration/stockSelectDetail' |
|
|
url: '/pages/deepExploration/stockSelectDetail' |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
//选股策略数据 |
|
|
|
|
|
const stockData = [{ |
|
|
|
|
|
name: "(MKTW)MarketWise Inc", |
|
|
|
|
|
close: "$14.190", |
|
|
|
|
|
select: "$13.180" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
name: "(MTCH)Match Group Inc", |
|
|
|
|
|
close: "$32.120", |
|
|
|
|
|
select: "$28.120" |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
name: "(MKTW)MarketWise Inc", |
|
|
|
|
|
close: "$14.190", |
|
|
|
|
|
select: "$13.180" |
|
|
|
|
|
} |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
//选股策略数据(接口填充) |
|
|
|
|
|
const stockData = ref([]); |
|
|
|
|
|
|
|
|
// 加载选股策略(接口) |
|
|
// 加载选股策略(接口) |
|
|
const loadStockSelection = async () => { |
|
|
const loadStockSelection = async () => { |
|
|
try { |
|
|
try { |
|
|
const res = await stocSelectApi({ |
|
|
|
|
|
language: 'cn' |
|
|
|
|
|
}) |
|
|
|
|
|
console.log('选股策略接口响应:', res) |
|
|
|
|
|
const list = Array.isArray(res?.data?.list) ? res.data.list : (Array.isArray(res?.data) ? res.data : []) |
|
|
|
|
|
|
|
|
const res = await stocSelectApi({ language: 'cn', size: 3 }) |
|
|
|
|
|
// console.log('选股策略接口响应原始:', typeof res === 'object' ? JSON.stringify(res) : res) |
|
|
|
|
|
const raw = res?.data |
|
|
|
|
|
const listCandidates = [ |
|
|
|
|
|
raw?.list, |
|
|
|
|
|
raw?.data?.list, |
|
|
|
|
|
raw?.data?.rows, |
|
|
|
|
|
raw?.rows, |
|
|
|
|
|
Array.isArray(raw) ? raw : null |
|
|
|
|
|
].filter(Array.isArray) |
|
|
|
|
|
let list = listCandidates.length ? listCandidates[0] : [] |
|
|
|
|
|
|
|
|
|
|
|
// 若是对象包含多个数组(如不同市场),进行扁平化 |
|
|
|
|
|
if ((!Array.isArray(list) || !list.length) && raw && typeof raw === 'object' && !Array.isArray(raw)) { |
|
|
|
|
|
const arrays = Object.values(raw).filter(Array.isArray) |
|
|
|
|
|
if (arrays.length) { |
|
|
|
|
|
list = arrays.flat() |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (Array.isArray(list) && list.length) { |
|
|
if (Array.isArray(list) && list.length) { |
|
|
stockData.value = list.map(item => ({ |
|
|
|
|
|
name: item.name || item.stockName || item.code || '', |
|
|
|
|
|
close: item.close || item.lastClose || item.closePrice || '', |
|
|
|
|
|
select: item.select || item.selectPrice || item.price || '' |
|
|
|
|
|
|
|
|
const mapped = list.map(item => ({ |
|
|
|
|
|
tscode: item.tsCode ?? item.tscode ?? item.code ?? '', |
|
|
|
|
|
close: item.close ?? item.lastClose ?? '', |
|
|
|
|
|
preClose: item.preClose ?? item.preclose ?? item.prevClose ?? '' |
|
|
})) |
|
|
})) |
|
|
|
|
|
stockData.value = mapped.slice(0, 3) |
|
|
|
|
|
console.log('选股策略列表长度:', stockData.value.length, '首项:', stockData.value[0]) |
|
|
} else { |
|
|
} else { |
|
|
console.warn('选股策略接口返回空列表或结构不匹配') |
|
|
|
|
|
|
|
|
console.warn('选股策略接口返回空列表或结构不匹配', raw) |
|
|
} |
|
|
} |
|
|
} catch (e) { |
|
|
} catch (e) { |
|
|
console.error('选股策略接口调用失败', e) |
|
|
console.error('选股策略接口调用失败', e) |
|
|
|