v1.0.3 (2026-04-12)
- 🗑️ 删除交易记录功能:支持删除误添加的交易记录,自动回滚账户余额和持仓变化 - 💰 显示货币选择器:支持 CNY/USD/HKD 三种货币显示,默认 CNY - 🔄 实时货币转换:根据汇率自动转换总资产显示 - 💱 账户货币联动:选择账户时自动设置对应结算货币(美股→USD、A股→CNY、加密→USDT、港股→HKD) - 🔧 加密货币格式化:USDT 映射为 USD 进行显示
This commit is contained in:
parent
1df2950097
commit
08b0b129bc
21
README.md
21
README.md
@ -175,14 +175,17 @@ npm install
|
||||
cp .env.example .env
|
||||
# 编辑 .env 填入数据库连接信息
|
||||
|
||||
# 4. 初始化数据库
|
||||
# 4. 生成 Prisma 客户端
|
||||
npx prisma generate
|
||||
|
||||
# 5. 初始化数据库
|
||||
npx prisma migrate dev --name init
|
||||
npx prisma db seed
|
||||
|
||||
# 5. 启动开发服务器
|
||||
# 6. 启动开发服务器
|
||||
npm run dev
|
||||
|
||||
# 6. 重置数据库
|
||||
# 7. 重置数据库
|
||||
npx prisma migrate reset --force
|
||||
```
|
||||
|
||||
@ -385,11 +388,21 @@ MIT License - 详见 [LICENSE](LICENSE) 文件
|
||||
|
||||
## 更新日志
|
||||
|
||||
### v1.0.2 (2026-04-12)
|
||||
### v1.0.3 (2026-04-12)
|
||||
|
||||
- 🗑️ 删除交易记录功能:支持删除误添加的交易记录,自动回滚账户余额和持仓变化
|
||||
- 💰 显示货币选择器:支持 CNY/USD/HKD 三种货币显示,默认 CNY
|
||||
- 🔄 实时货币转换:根据汇率自动转换总资产显示
|
||||
- 💱 账户货币联动:选择账户时自动设置对应结算货币(美股→USD、A股→CNY、加密→USDT、港股→HKD)
|
||||
- 🔧 加密货币格式化:USDT 映射为 USD 进行显示
|
||||
|
||||
### v1.0.2 (2026-04-12)
|
||||
|
||||
- 🔧 账户名称优化:改为港股账户、美股账户、A股账户、加密货币账户
|
||||
- ✨ 成交总额自动计算:根据数量 × 价格自动计算
|
||||
- 🗑️ 删除持仓功能:支持通过卖出全部来删除持仓
|
||||
- 🎨 Select 组件显示优化:修复了下拉框显示问题
|
||||
- 📝 代码注释中文化
|
||||
|
||||
### v1.0.1 (2026-04-12)
|
||||
|
||||
|
||||
@ -876,7 +876,15 @@ export default function Dashboard() {
|
||||
{/* 账户选择 */}
|
||||
<div className="space-y-2">
|
||||
<Label>账户</Label>
|
||||
<Select value={selectedAccountId} onValueChange={(v) => v && setSelectedAccountId(v)}>
|
||||
<Select value={selectedAccountId} onValueChange={(v) => {
|
||||
if (v) {
|
||||
setSelectedAccountId(v)
|
||||
const selected = accounts.find(a => a.id === v)
|
||||
if (selected) {
|
||||
setTxForm(prev => ({ ...prev, currency: selected.baseCurrency }))
|
||||
}
|
||||
}
|
||||
}}>
|
||||
<SelectTrigger>
|
||||
<SelectValue>
|
||||
{selectedAccount ? selectedAccount.name : '选择账户'}
|
||||
|
||||
@ -120,9 +120,11 @@ export async function createSecurity(data: {
|
||||
|
||||
// 格式化货币
|
||||
export function formatCurrency(amount: number, currency: string = 'USD'): string {
|
||||
// USDT 视为 USD 进行格式化显示
|
||||
const displayCurrency = currency === 'USDT' ? 'USD' : currency
|
||||
return new Intl.NumberFormat('en-US', {
|
||||
style: 'currency',
|
||||
currency,
|
||||
currency: displayCurrency,
|
||||
minimumFractionDigits: 2,
|
||||
maximumFractionDigits: 2,
|
||||
}).format(amount)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user