- 添加uni-ui组件库依赖 - 实现微信静默登录功能 - 创建资产、策略、我的等核心页面 - 添加策略组合配置功能 - 实现持仓详情展示 - 完善用户信息展示 - 添加全局样式和工具类 - 配置小程序项目设置
105 lines
3.8 KiB
JavaScript
105 lines
3.8 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const utils_api = require("../../utils/api.js");
|
|
if (!Array) {
|
|
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
|
|
_easycom_uni_icons2();
|
|
}
|
|
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
|
|
if (!Math) {
|
|
_easycom_uni_icons();
|
|
}
|
|
const _sfc_main = {
|
|
__name: "index",
|
|
setup(__props) {
|
|
const assetData = common_vendor.ref({
|
|
totalValue: 0,
|
|
todayProfit: 0,
|
|
totalReturnRate: 0
|
|
});
|
|
const holdings = common_vendor.ref([]);
|
|
const fetchAssetData = async () => {
|
|
try {
|
|
const response = await utils_api.api.assets.getAssetData();
|
|
if (response.code === 200) {
|
|
assetData.value = response.data;
|
|
}
|
|
} catch (error) {
|
|
common_vendor.index.__f__("error", "at pages/index/index.vue:115", "获取资产数据失败:", error);
|
|
}
|
|
};
|
|
const fetchHoldingsData = async () => {
|
|
try {
|
|
const response = await utils_api.api.assets.getHoldings();
|
|
if (response.code === 200) {
|
|
holdings.value = response.data;
|
|
}
|
|
} catch (error) {
|
|
common_vendor.index.__f__("error", "at pages/index/index.vue:127", "获取持仓数据失败:", error);
|
|
}
|
|
};
|
|
common_vendor.onMounted(async () => {
|
|
await Promise.all([
|
|
fetchAssetData(),
|
|
fetchHoldingsData()
|
|
]);
|
|
});
|
|
const goConfig = () => {
|
|
common_vendor.index.navigateTo({ url: "/pages/config/config" });
|
|
};
|
|
const goDetail = (holdingId) => {
|
|
common_vendor.index.navigateTo({ url: `/pages/detail/detail?id=${holdingId}` });
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return {
|
|
a: common_vendor.p({
|
|
type: "eye-filled",
|
|
size: "18",
|
|
color: "rgba(255,255,255,0.7)"
|
|
}),
|
|
b: common_vendor.t(assetData.value.totalValue.toLocaleString("zh-CN", {
|
|
minimumFractionDigits: 2,
|
|
maximumFractionDigits: 2
|
|
})),
|
|
c: common_vendor.t(assetData.value.todayProfit >= 0 ? "+" : ""),
|
|
d: common_vendor.t(assetData.value.todayProfit.toLocaleString("zh-CN", {
|
|
minimumFractionDigits: 2,
|
|
maximumFractionDigits: 2
|
|
})),
|
|
e: common_vendor.t(assetData.value.totalReturnRate >= 0 ? "+" : ""),
|
|
f: common_vendor.t(assetData.value.totalReturnRate),
|
|
g: common_vendor.p({
|
|
type: "plus",
|
|
size: "20",
|
|
color: "#9CA3AF"
|
|
}),
|
|
h: common_vendor.o(goConfig),
|
|
i: common_vendor.f(holdings.value, (holding, k0, i0) => {
|
|
return {
|
|
a: common_vendor.t(holding.iconChar),
|
|
b: common_vendor.n(holding.iconTextClass),
|
|
c: common_vendor.n(holding.iconBgClass),
|
|
d: common_vendor.t(holding.name),
|
|
e: common_vendor.t(holding.tags),
|
|
f: common_vendor.t(holding.status),
|
|
g: common_vendor.n(holding.statusType === "green" ? "text-green-600" : "text-gray-500"),
|
|
h: common_vendor.n(holding.statusType === "green" ? "bg-green-50" : "bg-gray-100"),
|
|
i: common_vendor.t(holding.value.toLocaleString("zh-CN", {
|
|
minimumFractionDigits: 2,
|
|
maximumFractionDigits: 2
|
|
})),
|
|
j: common_vendor.t(holding.returnRate >= 0 ? "+" : ""),
|
|
k: common_vendor.t(holding.returnRate),
|
|
l: common_vendor.n(holding.returnType === "positive" ? "text-red" : "text-green"),
|
|
m: holding.id,
|
|
n: common_vendor.o(($event) => goDetail(holding.id), holding.id)
|
|
};
|
|
})
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1cf27b2a"]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map
|