AssetManager.UniApp/unpackage/dist/dev/mp-weixin/pages/config/config.js
fanfpy bc48e8f7a3 feat: 初始化项目并添加基础功能
- 添加uni-ui组件库依赖
- 实现微信静默登录功能
- 创建资产、策略、我的等核心页面
- 添加策略组合配置功能
- 实现持仓详情展示
- 完善用户信息展示
- 添加全局样式和工具类
- 配置小程序项目设置
2026-02-18 20:51:42 +08:00

147 lines
5.3 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.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: "config",
setup(__props) {
const strategies = [
{ name: "HFEA 风险平价", desc: "利用 3x 杠杆股债平衡,适合长期持有。", color: "#10B981" },
{ name: "双均线趋势跟踪", desc: "金叉买入死叉卖出,捕捉大波段。", color: "#3B82F6" },
{ name: "网格交易 (Grid)", desc: "震荡行情下的高抛低吸策略。", color: "#F59E0B" },
{ name: "手动自管", desc: "不使用自动化策略,仅做资产记账。", color: "#6B7280" }
];
const strategyIndex = common_vendor.ref(-1);
const form = common_vendor.ref({
name: "",
stocks: [
{ name: "", price: "", amount: "", date: "" }
// 默认有一行
]
});
const selectedStrategy = common_vendor.computed(() => {
if (strategyIndex.value === -1)
return null;
return strategies[strategyIndex.value];
});
const totalInvestment = common_vendor.computed(() => {
let total = 0;
form.value.stocks.forEach((stock) => {
const p = parseFloat(stock.price) || 0;
const a = parseFloat(stock.amount) || 0;
total += p * a;
});
return total.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
});
const onStrategyChange = (e) => {
strategyIndex.value = e.detail.value;
};
const onDateChange = (e, index) => {
form.value.stocks[index].date = e.detail.value;
};
const addStockRow = () => {
form.value.stocks.push({ name: "", price: "", amount: "", date: "" });
};
const removeStockRow = (index) => {
form.value.stocks.splice(index, 1);
};
const submitForm = () => {
if (!form.value.name)
return common_vendor.index.showToast({ title: "请输入组合名称", icon: "none" });
if (strategyIndex.value === -1)
return common_vendor.index.showToast({ title: "请选择策略", icon: "none" });
common_vendor.index.__f__("log", "at pages/config/config.vue:162", "提交的数据:", {
...form.value,
strategy: strategies[strategyIndex.value].name
});
common_vendor.index.showLoading({ title: "创建中..." });
setTimeout(() => {
common_vendor.index.hideLoading();
common_vendor.index.showToast({ title: "创建成功" });
setTimeout(() => common_vendor.index.navigateBack(), 1500);
}, 1e3);
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
type: "settings",
size: "18",
color: "#064E3B"
}),
b: form.value.name,
c: common_vendor.o(($event) => form.value.name = $event.detail.value),
d: selectedStrategy.value
}, selectedStrategy.value ? {
e: selectedStrategy.value.color,
f: common_vendor.t(selectedStrategy.value.name)
} : {}, {
g: common_vendor.p({
type: "bottom",
size: "14",
color: "#9CA3AF"
}),
h: common_vendor.o(onStrategyChange),
i: strategyIndex.value,
j: strategies,
k: selectedStrategy.value
}, selectedStrategy.value ? {
l: common_vendor.t(selectedStrategy.value.desc)
} : {}, {
m: common_vendor.p({
type: "wallet",
size: "18",
color: "#1D4ED8"
}),
n: common_vendor.p({
type: "plus",
size: "14",
color: "#064E3B"
}),
o: common_vendor.o(addStockRow),
p: common_vendor.f(form.value.stocks, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(index + 1)
}, form.value.stocks.length > 1 ? {
b: common_vendor.o(($event) => removeStockRow(index), index),
c: "4d7ff163-4-" + i0,
d: common_vendor.p({
type: "trash",
size: "18",
color: "#EF4444"
})
} : {}, {
e: item.name,
f: common_vendor.o(($event) => item.name = $event.detail.value, index),
g: item.price,
h: common_vendor.o(($event) => item.price = $event.detail.value, index),
i: item.amount,
j: common_vendor.o(($event) => item.amount = $event.detail.value, index),
k: common_vendor.t(item.date || "请选择日期"),
l: "4d7ff163-5-" + i0,
m: item.date,
n: common_vendor.o((e) => onDateChange(e, index), index),
o: index
});
}),
q: form.value.stocks.length > 1,
r: common_vendor.p({
type: "calendar",
size: "16",
color: "#9CA3AF"
}),
s: common_vendor.t(totalInvestment.value),
t: common_vendor.o(submitForm)
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4d7ff163"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/config/config.js.map