金蛋的 提示词
# 金蛋钱包AI开发提示词
## 🎯 项目概述
我需要开发一个基于Polygon网络的去中心化钱包应用"金蛋钱包",支持三种数字资产的管理和实时价值计算。
---
## 📋 核心需求
### 1. 三种资产类型
- **Private Egg(私有金蛋)**:有涨停限制,VIP用户可超过涨停继续赚
- **Diamond(钻石)**:无上限限制
- **Public Egg(公开金蛋)**:市场价格主导者
### 2. 价格计算逻辑(核心算法)
**基础机制**:
- 私有价格 = 公开价格 / 100(挂钩价格)
- 钻石价格 = 公开价格 / 100
- 公开价格由市场或管理员设置
**私有金蛋价值计算流程**:
```
1. 先用挂钩价格计算价值:挂钩价值 = 持有数量 × (公开价格 / 100)
2. 计算涨停上限:涨停上限 = 初始投资 × 涨停倍数(默认10倍)
3. 判断:
- 如果 挂钩价值 < 涨停上限:
→ 使用挂钩价格,VIP算法不生效
→ 实际价值 = 挂钩价值
- 如果 挂钩价值 >= 涨停上限:
→ 无VIP用户:实际价值 = 涨停上限(固定)
→ 有VIP但公开价格 < $0.03:实际价值 = 涨停上限(固定)
→ 有VIP且公开价格 >= $0.03:VIP算法生效,可超过涨停上限
```
**VIP算法(减速齿轮机制)**:
- **生效条件**:价值达到涨停上限 + 有VIP等级 + 公开价格 >= $0.03
- **基准价格**:$0.0003(公开起点价格$0.03 / 100)
- **计算公式**:
```
VIP基准价格 = $0.03 / 100 = $0.0003
公开涨幅比例 = (当前公开价格 - $0.03) / $0.03
进度系数 = 公开涨幅比例 / 9
私有涨幅 = 进度系数 × (VIP百分比 / 100)
VIP算法价格 = $0.0003 × (1 + 私有涨幅)
```
**示例**(VIP5,公开价格从$0.03涨到$0.30):
- 公开涨幅比例 = ($0.30 - $0.03) / $0.03 = 9.0(900%)
- 进度系数 = 9.0 / 9 = 1.0
- VIP5百分比 = 10%
- 私有涨幅 = 1.0 × (10% / 100) = 0.1(10%)
- VIP算法价格 = $0.0003 × (1 + 0.1) = $0.00033
### 3. VIP等级映射表
```javascript
VIP等级 → 百分比:
0: 0%
1: 0.1%, 2: 0.5%, 3: 1%, 4: 5%, 5: 10%, 6: 15%, 7: 20%, 8: 25%, 9: 30%,
10: 35%, 11: 40%, 12: 45%, 13: 50%, 14: 52.5%, 15: 55%, 16: 60%, 17: 65%,
18: 70%, 19: 75%, 20: 80%, 21: 85%, 22: 90%, 23: 95%, 24: 100%
```
---
## 💻 技术栈
- HTML5 + CSS3 + Vanilla JavaScript(无框架)
- Font Awesome 6.0.0(CDN图标库)
- 单文件HTML应用
---
## 📐 数据模型
### 用户数据结构
```javascript
{
name: string, // 用户名称
investment: number, // 初始投资金额(美元)
privateBasePrice: number, // 私有起点价格(购买时价格,仅记录用)
privateHoldings: number, // 私有持有数量
capMultiplier: number, // 涨停倍数(默认10,可自定义)
vipLevel: number, // VIP等级(0-24,默认0)
diamondHoldings: number, // 钻石持有数量(默认0)
publicHoldings: number // 公开持有数量(默认0)
}
```
### 系统配置
```javascript
{
PUBLIC_BASE_PRICE: 0.03, // 公开起点价格(美元)
PRICE_RATIO: 100, // 价格挂钩比例
DEFAULT_CAP_MULTIPLIER: 10, // 默认涨停倍数
PRICE_SLIDER: {
MIN: 50,
MAX: 15000,
STEP: 50,
INITIAL: 100
}
}
```
---
## 🎨 UI要求
### 布局结构
1. **顶部导航栏**:钱包标识 + 网络标识
2. **资产总览区**:总资产余额(大字)+ 用户标识 + PnL百分比
3. **功能按钮区**:Swap、Staking、DEX、Upgrade(预留)
4. **资产列表区**:三个资产卡片
5. **管理员面板**(底部固定):用户切换 + 价格滑块
### 资产卡片要求
**Private Egg卡片**:
- 金色边框和图标
- 显示价值、价格、持有数量
- 进度条(距离涨停进度)
- 达到涨停时显示红色警告
**Diamond卡片**:
- 蓝色边框和图标
- 显示价值、价格、持有数量
- "无上限限制"提示
**Public Egg卡片**:
- 紫色边框和图标
- 显示价值、AMM价格、持有数量
### 样式要求
- 暗色主题(背景#050505,卡片#141416)
- Polygon紫色主题色(#8a2be2)
- 响应式设计(移动端优先)
- 平滑动画过渡
---
## 🔧 核心函数(必须实现)
### 1. VIP百分比获取函数
```javascript
function getVipPercentage(vipLevel) {
// 返回VIP等级对应的百分比
}
```
### 2. VIP算法价格计算函数
```javascript
function calculateVipPrice(currentPublicPrice, publicBasePrice, vipLevel) {
// 如果VIP算法未生效,返回null
// 如果生效,返回VIP算法价格
}
```
### 3. 私有金蛋价值计算函数
```javascript
function calculatePrivateEggValue(
privateHoldings,
currentPublicPrice,
investment,
capMultiplier,
vipLevel,
publicBasePrice
) {
// 返回包含实际价值、是否涨停、是否VIP生效等信息的对象
}
```
### 4. 完整资产计算函数
```javascript
function calculateUserAssets(user, currentPublicPrice, config) {
// 计算用户的所有资产价值,返回完整结果对象
}
```
### 5. UI更新函数
```javascript
function updateSystem() {
// 根据当前公开价格和用户数据,更新所有UI显示
}
```
---
## ✅ 关键实现要点
### 1. 价格计算优先级
- **第一步**:总是先用挂钩价格计算价值
- **第二步**:判断是否达到涨停上限
- **第三步**:如果达到涨停且满足条件,应用VIP算法
### 2. VIP算法生效条件
必须同时满足:
1. 挂钩价值 >= 涨停上限
2. 用户有VIP等级(vipLevel > 0)
3. 公开价格 >= $0.03
### 3. 涨停限制应用规则
- 无VIP用户:达到涨停后价值固定
- 有VIP但公开价格 < $0.03:达到涨停后价值固定
- 有VIP且公开价格 >= $0.03:VIP算法生效,可以超过涨停上限
### 4. 钻石价值
- 始终使用简单挂钩:钻石价格 = 公开价格 / 100
- 无上限限制
---
## 📝 测试用例示例
参考 `FINAL_COMPLETE_CASES.md`,包含17个完整测试案例。
**关键测试场景**:
1. 无VIP用户,达到涨停后价值固定
2. 有VIP用户,还没达到涨停,使用挂钩价格
3. 有VIP用户,达到涨停但公开价格 < $0.03,价值固定
4. 有VIP用户,达到涨停且公开价格 >= $0.03,VIP算法生效,超过涨停上限
---
## 🚀 开发步骤建议
1. **搭建基础HTML结构**:页面布局、导航栏、资产卡片
2. **实现数据模型**:用户数据结构、配置对象
3. **实现核心算法**:价格计算函数(按优先级实现)
4. **实现UI更新逻辑**:根据计算结果更新界面
5. **添加管理员面板**:价格滑块、用户切换
6. **样式优化**:暗色主题、动画效果
7. **测试验证**:使用测试用例验证所有场景
---
## 📚 参考文档
完整的技术文档请参考:
- `完整PRD_开发文档.md` - 完整的PRD和开发文档
- `FINAL_COMPLETE_CASES.md` - 17个完整测试案例
---
## ⚠️ 注意事项
1. **精度处理**:使用 `toLocaleString()` 格式化显示,保留适当小数位
2. **性能优化**:价格滑块使用防抖,避免过于频繁的计算
3. **错误处理**:验证数据完整性,处理边界情况
4. **代码组织**:保持代码清晰,注释充分
---
**开始开发**:请基于以上需求,实现一个完整的单文件HTML应用。