diff --git a/api/member.js b/api/member.js
index 58dd7fc..9ff6717 100644
--- a/api/member.js
+++ b/api/member.js
@@ -29,9 +29,14 @@ export const getUserInfo = (data) => {
return http({
method: 'POST',
url: '/api/my/userInfo',
- data: data,
- header:{
- token:'014de5283d2930af6481ede591afd087'
- }
+ data: data
+ })
+}
+
+export const updateUserInfo = (data) => {
+ return http({
+ method: 'POST',
+ url: '/api/my/updateUserInfo',
+ data: data
})
}
\ No newline at end of file
diff --git a/components/IndexCard.vue b/components/IndexCard.vue
index 176fc6a..ac5447a 100644
--- a/components/IndexCard.vue
+++ b/components/IndexCard.vue
@@ -18,9 +18,8 @@
-
-
-
+
+
@@ -64,7 +63,18 @@ const props = defineProps({
});
const judgeSymbol = (num) => {
- return num[0] === "-" ? num : "+" + num;
+ // 兼容 undefined/null/数字/字符串
+ if (num === null || num === undefined) return '';
+ const n = Number(num);
+ if (!isNaN(n)) {
+ // 数值:正数加'+',负数原样
+ return (n < 0 ? '' : '+') + n;
+ }
+ // 字符串:去空格后判断前缀
+ const s = String(num).trim();
+ if (s.startsWith('-')) return s;
+ if (s.startsWith('+')) return s;
+ return '+' + s;
};
const getMarketFlag = (market) => {
@@ -97,10 +107,14 @@ const priceColor = computed(() => {
return props.isRising ? "#00C853" : "#FF1744";
});
-// 计算图表背景色
-const chartBgColor = computed(() => {
- return props.isRising ? "#E8F5E8" : "#FFEBEE";
+const timeChart = computed(() => {
+ return props.isRising ? "/static/marketSituation-image/upTimeChart.png" : "/static/marketSituation-image/downTimeChart.png";
});
+
+// 计算图表背景色
+// const chartBgColor = computed(() => {
+// return props.isRising ? "#E8F5E8" : "#FFEBEE";
+// });
diff --git a/components/h-loading.vue b/components/h-loading.vue
new file mode 100644
index 0000000..8bf1873
--- /dev/null
+++ b/components/h-loading.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index 14c932c..6bf25b1 100644
--- a/package.json
+++ b/package.json
@@ -1,4 +1,8 @@
{
+ "scripts": {
+ "dev:h5": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" uni build --watch",
+ "build:h5": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" uni build"
+ },
"dependencies": {
"@dcloudio/uni-ui": "^1.5.11",
"@element-plus/icons-vue": "^2.3.2",
@@ -8,5 +12,8 @@
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.5.0",
"vue-i18n": "^9.14.5"
+ },
+ "devDependencies": {
+ "cross-env": "^7.0.3"
}
}
diff --git a/pages/deepExploration/MainForceActions.vue b/pages/deepExploration/MainForceActions.vue
index 883048c..d4378c8 100644
--- a/pages/deepExploration/MainForceActions.vue
+++ b/pages/deepExploration/MainForceActions.vue
@@ -213,7 +213,7 @@
const recordId = ref('')
const parentId = ref('')
const stockId = ref('')
- const market = ref('')
+ const market = ref('usa')
const stockTime = ref('2025/10/24')
const loading = ref(true);
@@ -258,6 +258,7 @@
if (searchName.value == '') {
console.log('没有搜索', searchName.value);
handleDefault()
+ getServerData()
} else {
if (currentIndex.value == 0) {
console.log('搜索', searchName.value);
diff --git a/pages/home/member.vue b/pages/home/member.vue
index 3c02820..2ea2bb9 100644
--- a/pages/home/member.vue
+++ b/pages/home/member.vue
@@ -1,317 +1,367 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ username }}
-
-
- ID:{{ dccode }}
-
-
+
+
+
+
+
+
+
+
+ {{ username }}
+
+
+
+
+
+
+ ID:{{ dccode }}
+
+
-
-
-
-
-
- 行情设置
-
-
-
- 通用设置
-
-
-
-
-
-
-
-
-
-
- 账号与安全
-
-
-
-
- 联系我们
-
-
-
-
- 新版本更新
- 有新版本可更新
-
-
-
-
-
-
- 意见反馈
-
-
-
-
- 关于DeepChart
-
-
-
-
-
+
+
+
+
+
+ 行情设置
+
+
+
+ 通用设置
+
+
+
+
+
+
+
+
+
+
+ 账号与安全
+
+
+
+
+
+ 关于DeepChart
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/marketSituation/countryMarket.vue b/pages/marketSituation/countryMarket.vue
index a31933e..7f23c1c 100644
--- a/pages/marketSituation/countryMarket.vue
+++ b/pages/marketSituation/countryMarket.vue
@@ -17,7 +17,7 @@
-
+
@@ -95,6 +95,8 @@
import { ref, computed, onMounted, watch } from "vue";
import IndexCard from "../../components/IndexCard.vue";
import { queryStockDataAPI } from "@/api/marketSituation/marketSituation";
+import { useMarketSituationStore } from "../../stores/modules/marketSituation.js";
+const marketSituationStore = useMarketSituationStore();
onMounted(() => {
switchTab(0);
@@ -111,6 +113,11 @@ const switchTab = (i) => {
}).then((res) => {
if (res.code === 200) {
countryInfo.value = res.data.dataPage.records;
+ marketSituationStore.countryMarketCardData = countryInfo.value.map((item) => ({
+ market: item.market,
+ stockCode: item.code,
+ stockName: item.name,
+ }));
console.log(res.data)
console.log(res.data.dataPage.records)
console.log(countryInfo.value);
@@ -149,12 +156,23 @@ const props = defineProps({
// 计算当前国家信息
const countryInfo = ref('')
-
+// 方法:查看指数详情
+const viewIndexDetail = (item, index) => {
+ console.log("查看指数详情:", item);
+ uni.navigateTo({
+ url: `/pages/marketSituation/marketCondition?stockInformation=${encodeURIComponent(JSON.stringify(item))}&index=${index}&from=countryMarket`,
+ });
+};
// 处理从父组件接收的数据
const handleTabData = (tabData) => {
if (tabData && tabData.type === 'country' && tabData.data) {
if (tabData.data.dataPage && tabData.data.dataPage.records) {
countryInfo.value = tabData.data.dataPage.records;
+ marketSituationStore.countryMarketCardData = countryInfo.value.map((item) => ({
+ market: item.market,
+ stockCode: item.code,
+ stockName: item.name,
+ }));
console.log('countryMarket接收到数据:', countryInfo.value);
}
}
@@ -169,9 +187,6 @@ watch(() => props.tabData, (newTabData) => {
// 查看更多占位
const viewMore = (type) => {
- // 可根据 type 跳转到相应页面或加载更多
- // 例如:indices/sectors/stocks
- // uni.navigateTo({ url: `/pages/marketSituation/${type}List` })
};
diff --git a/pages/marketSituation/globalIndex.vue b/pages/marketSituation/globalIndex.vue
index 43e573e..40fff44 100644
--- a/pages/marketSituation/globalIndex.vue
+++ b/pages/marketSituation/globalIndex.vue
@@ -2,6 +2,8 @@
+
+