diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..7a73a41
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/a-Vue3项目/vue3-typescript-stye.md b/a-Vue3项目/vue3-typescript-stye.md
index 0912c9d..2af6d71 100644
--- a/a-Vue3项目/vue3-typescript-stye.md
+++ b/a-Vue3项目/vue3-typescript-stye.md
@@ -1,6 +1,6 @@
**背景 (Context):**
-你是一名资深前端架构师,负责为一个 mission-critical 的企业级SaaS应用搭建前端框架和制定开发规范。该项目要求极高的代码质量、无缝的用户体验(跨设备、跨主题)以及长期的可维护性。
+你是一名资深前端架构师,负责搭建前端框架和制定开发规范。该项目要求极高的代码质量、无缝的用户体验(跨设备、跨主题)以及长期的可维护性。
**核心指令 (Core Directive):**
diff --git a/b-需求转换专业设计/转换的prompt.md b/b-需求转换专业设计/转换的prompt.md
index b588fd6..041b597 100644
--- a/b-需求转换专业设计/转换的prompt.md
+++ b/b-需求转换专业设计/转换的prompt.md
@@ -1,4 +1,4 @@
-你是一名经验丰富的系统架构师。你的任务是接收一个初步的、可能不完整或不严谨的需求设计,并将其转化为一份专业的、结构严谨、技术上可行的详细设计方案。这份方案最终将被格式化为一段高质量的Prompt,可以直接输入给AI(例如,一个编码助手或另一个架构设计AI),以生成代码、详细的架构图或进一步的实现细节。
+你是一名经验丰富的前端系统架构师。你的任务是接收一个初步的、可能不完整或不严谨的需求设计,并将其转化为一份专业的、结构严谨、技术上可行的详细设计方案。这份方案最终将被格式化为一段高质量的Prompt,可以直接输入给AI(例如,一个编码助手或另一个架构设计AI),以生成代码、详细的架构图或进一步的实现细节。
这个转化的过程将严格遵循几个核心优化方向:
@@ -10,4 +10,7 @@
- 优化设计方案: 提出更高效、可扩展、更具鲁棒性的技术选型和架构模式。
-- 语言专业化: 使用业界标准的术语和概念来描述架构组件、数据流和设计决策。
\ No newline at end of file
+- 语言专业化: 使用业界标准的术语和概念来描述架构组件、数据流和设计决策。
+
+
+请你遵守前端项目的风格vue3-typescript-stye.md,针对mask_binance_account.md的初始设计文稿,给出专业性的优化设计,回答内容必须是中文
\ No newline at end of file
diff --git a/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_account.md b/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_account.md
new file mode 100644
index 0000000..f04767e
--- /dev/null
+++ b/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_account.md
@@ -0,0 +1,133 @@
+# 页面地址 [BinanceAccountView.vue](TonyMask/src/pages/BinanceAccountView.vue)
+
+# 页面设计
+
+- 需要在 Header 右侧显示当前 用户名(加粗,加大显示)
+ - 从已登录信息中获取当前用户名
+
+# 页面功能
+
+## 接口信息
+
+- 接口地址 GET /api/binance/account/info
+- 接口返回的结构体
+
+```go
+// Account define account info
+type Account struct {
+ MakerCommission int64 `json:"makerCommission"`
+ TakerCommission int64 `json:"takerCommission"`
+ BuyerCommission int64 `json:"buyerCommission"`
+ SellerCommission int64 `json:"sellerCommission"`
+ CommissionRates CommissionRates `json:"commissionRates"`
+ CanTrade bool `json:"canTrade"`
+ CanWithdraw bool `json:"canWithdraw"`
+ CanDeposit bool `json:"canDeposit"`
+ UpdateTime uint64 `json:"updateTime"`
+ AccountType string `json:"accountType"`
+ Balances []Balance `json:"balances"`
+ Permissions []string `json:"permissions"`
+ UID int64 `json:"uid"`
+}
+
+type CommissionRates struct {
+ Maker string `json:"maker"`
+ Taker string `json:"taker"`
+ Buyer string `json:"buyer"`
+ Seller string `json:"seller"`
+}
+
+// Balance define user balance of your account
+type Balance struct {
+ Asset string `json:"asset"`
+ Free string `json:"free"`
+ Locked string `json:"locked"`
+}
+```
+
+## 账户支持的交易对信息
+
+### 账户支持的交易对模块
+
+- 查看状态
+ - 使用隐藏的输入框,包含胶囊按钮状交易对信息
+ - 输入框隐藏,不可见
+ -
+- 账户支持的交易对信息,通过如下接口获取
+ - 接口地址 GET /api/binance/account/symbols/get
+- 胶囊按钮状显示每一个支持的交易对信息
+ - 包含 交易对图标 简称
+ - 图标信息通过[CryptoIcon.vue](TonyMask/src/components/CryptoIcon.vue)获取
+- 右侧有编辑按钮,点击编辑之后进入编辑模式
+ - 隐藏输入框出现
+ - 胶囊按钮出现删除按键
+ - 右侧编辑按键变为保存按键
+
+### 添加账户支持加密货币
+
+- 账户支持的交易对模块进入编辑模式后
+- 空白侧支持点击
+- 点击之后,可以使用[CurrencySelector.vue](/TonyMask/src/components/CurrencySelector.vue)进行交易对选择
+ - 选择之后,立即调用添加接口
+ - 接口地址 POST /api/binance/account/symbols/add
+- 当点击保存按钮之后,退出编辑模式
+
+### 删除账户支持的加密货币
+
+- 账户支持的交易对模块进入编辑模式后
+- 可以通过胶囊按钮的删除键进行删除
+ - 点击删除按键后,立刻调用删除接口
+ - 接口地址 POST /api/binance/account/symbols/delete
+- 当点击保存按钮之后,退出编辑模式
+
+## 账户信息模块
+- 使用矩形长条状展示账户信息
+ - 账户UID
+ - 账户类型
+ - 能否交易
+ - 能否提款
+ - 能够充值
+ - 交易手续费
+ - 账户权限
+
+## 资产详情模块
+
+- 使用表格的形式展示当前用户的资产信息
+
+### 表格设计
+
+- 表格头从左到右依次展示
+
+ - 文字输入框-筛选功能-快速根据币种简称 币种名称筛选到币种
+ - 刷新按钮
+ - 用于刷新调用币种实时价格
+ - 汇总计算-当前账户总资产-累加每一行的资产总计
+ - 加粗显示
+
+- 表格内容展示
+
+ - 统一采用四舍五入保存两位小数
+ - 统一不显示单位
+
+- 按照如下的顺序展示列信息
+ - 币种图标
+ - 不显示表头
+ - 币种大写名称
+ - 表头显示名称
+ - 币种实时价格
+ - 表头显示实时价格
+ - 币种总数量
+ - 表头显示总数量
+ - 币种可使用数量
+ - 表头显示可使用数量
+ - 币种冻结数量
+ - 表头显示冻结数量
+ - 币种总计
+ - 表头显示币种总计
+ - 该行币种总数量与币种的实时价格相乘的结果
+
+### 币种实时价格列展示
+
+- 使用 symbols 参数,将 account_info 接口中的所有币种,一次查询
+- 查询币种的实时价格 接口地址为 POST /api/binance/market/ticker/price
+- 具体函数为 [binance_market_handler.go](TonyCryptoOctopus\handler\binance_market_handler.go)中的 GetPriceTickerHandler 方法
diff --git a/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_order.md b/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_order.md
new file mode 100644
index 0000000..d6bde72
--- /dev/null
+++ b/c-ProjectTonyStack/1-原始设计/1-页面/mask_binance_order.md
@@ -0,0 +1,46 @@
+
+
+# 页面地址 [BinanceOrder.vue](TonyMask/src/pages/BinanceOrder.vue)
+- 页面在侧边栏的名称为 交易订单
+- 在主内容区的页面Header部分 靠右侧显示 交易订单
+- 展示特定交易对,特定查询条件下的订单情况
+
+
+# 页面设计
+## 订单查询栏
+- 接口参数为 [binance_order_handler.go](TonyCryptoOctopus\handler\binance_order_handler.go) 中的MyTradesRequest
+ - 接口参数说明: 前端不呈现limit,固定为1000
+ - 忽略OrderID和FromID,不需要此参数
+ - 默认起始时间为 2025-01-01 08:00:00
+ - 新增固定时间段,最近三个月,最近一个月,最近一年,最近三年,当点击查询时候,根据当前时间作为endTime推算起始时间
+ - 取消固定时间选择之后,恢复到默认时间
+
+### 币种选择器
+- 使用通用组件中的CurrencySelector
+- 根据页面样式,合理调整大小
+
+### 订单接口数据
+- 接口地址 /api/binance/order/trades/save 查询
+- 具体接口为 [binance_order_handler.go](TonyCryptoOctopus\handler\binance_order_handler.go)中的GetMyTradesHandler
+
+### 文件保存地址栏
+- 需要显示返回接口中的的message字段内容
+- message字段的内容是本地保存的订单数据文件地址
+- 点击查询之后,在订单查询栏最下面出现
+- 居中显示
+
+## 订单展示区
+
+### 时间区域展示
+- 根据订单的cst_time,展示时间轴
+ - 每笔订单在时间轴上是一个小点,点击可以筛选到该笔订单
+- 时间轴可以划取范围,通过时间段筛选订单
+- 时间轴的范围自动根据最早和最晚交易时间进行修改
+- 时间轴的间距需要根据时间跨度,自动设置,便于美观
+
+### 订单列表区
+- 支持按照时间顺序排序,支持倒序或者正序排列
+- 可以筛选卖出和买入方向的订单
+- 设置分页展示
+ - 分页默认大小为20
+ - 分页的可选大小为20 50 100
diff --git a/c-ProjectTonyStack/1-原始设计/mask_login_page.md b/c-ProjectTonyStack/1-原始设计/1-页面/mask_login_page.md
similarity index 100%
rename from c-ProjectTonyStack/1-原始设计/mask_login_page.md
rename to c-ProjectTonyStack/1-原始设计/1-页面/mask_login_page.md
diff --git a/c-ProjectTonyStack/1-原始设计/mask_profit-loss.md b/c-ProjectTonyStack/1-原始设计/1-页面/mask_profit-loss.md
similarity index 100%
rename from c-ProjectTonyStack/1-原始设计/mask_profit-loss.md
rename to c-ProjectTonyStack/1-原始设计/1-页面/mask_profit-loss.md
diff --git a/c-ProjectTonyStack/1-原始设计/mask_single-pnl.md b/c-ProjectTonyStack/1-原始设计/1-页面/mask_single-pnl.md
similarity index 58%
rename from c-ProjectTonyStack/1-原始设计/mask_single-pnl.md
rename to c-ProjectTonyStack/1-原始设计/1-页面/mask_single-pnl.md
index 79453a7..5721b3a 100644
--- a/c-ProjectTonyStack/1-原始设计/mask_single-pnl.md
+++ b/c-ProjectTonyStack/1-原始设计/1-页面/mask_single-pnl.md
@@ -1,22 +1,20 @@
-
-
# 单一币种盈亏分析大屏 [SingleProfitAndLoss.vue](TonyMask/src/pages/SingleProfitAndLoss.vue)
## 数据接口及格式
-- 数据接口 /api/profit-loss/single
-- 数据格式 [profit_and_loss.go](TonyProfitLoss/models/profit_and_loss.go)
+- 数据接口 POST /api/profit-loss/single
+- 数据返回格式 [profit_and_loss.go](TonyProfitLoss/models/profit_and_loss.go)
- 数据统一不显示单位,不显示美元标识符
## 页面设计
-- 页面要求 设计的较为好看
-- 对于重点内容有突出显示
## 头部
-- 未选择币种时候,显示币种输入框,
-- 点击币种输入框,可以调用[cryptoIconData.ts](TonyMask/src/components/Icons/cryptoIconData.ts)中的findCoinByName方法,查询获取到任意支持的币种
-- 选择币种之后,币种输入框消失.显示币种图标,币种全名称,币种简介.使用选择体包裹币种,右侧显示 X 取消选择,点击之后,重新显示币种输入框
-- 右侧显示计算按钮,点击开始计算
+- 显示文字 单一币种盈亏分析
+- 靠右显示
+
+### 币种选择器
+- 使用通用组件中的CurrencySelector
+- 根据页面样式,合理调整大小
## 单一币种盈亏分析展示
- 使用绿色代表盈亏大于0,红色代表盈亏小于0
diff --git a/c-ProjectTonyStack/1-原始设计/mask_crypto_icon.md b/c-ProjectTonyStack/1-原始设计/2-组件/mask_crypto_icon.md
similarity index 51%
rename from c-ProjectTonyStack/1-原始设计/mask_crypto_icon.md
rename to c-ProjectTonyStack/1-原始设计/2-组件/mask_crypto_icon.md
index 6535a97..9a7f58c 100644
--- a/c-ProjectTonyStack/1-原始设计/mask_crypto_icon.md
+++ b/c-ProjectTonyStack/1-原始设计/2-组件/mask_crypto_icon.md
@@ -1,15 +1,17 @@
# 前端图标模组
+- 此模组作为前端项目的公共模组,可以供其他页面使用
## 样式说明
- 图标只需要满足明亮模式
- 图标的大小是可以调整的
- 图标应该采用svg的格式
-
## 图标管理
### 图标获取
-- 加密货币的图标,从[TradingView所有加密货币](https://cn.tradingview.com/markets/cryptocurrencies/prices-all/)爬取
+- 通过从[TradingView所有加密货币](https://cn.tradingview.com/markets/cryptocurrencies/prices-all/) 或者从稳定、公开的加密货币API(例如 CoinGecko 或 CoinMarketCap 的免费API)通过手动执行,获取前1000名加密货币的数据。
+- 按照市值排序,获取排名前一千的加密货币
+- 加密货币的全称 和 简称同样从此页面获取
### 图标存储
- 常见加密货币创建svg的图标数据存储起来,便其他的页面调用
@@ -28,15 +30,18 @@
### 交易对图标
- 交易对图标,仿照[TradingView交易对页面](https://cn.tradingview.com/symbols/BTCUSDT/?exchange=BINANCE)页面中图标放置的样式,将两种加密货币的图标进行叠放显示
--
+- 构建查用的交易对图标缓存Map,可以通过交易对名称快速获取到对应的图标
+ - 常用交易对如下 BTCUSDT ETHUSDT BNBUSDT NEXOUSDT XRPUSDT LINKUSDT SOLUSDT
+ - 此函数需要考虑后续能够手动添加其他的交易对
## 加密货币名称
-### 交易对名称
- - 后端的接口通常返回的是交易对名称
- - 交易对名称构成为 SOLUSDT LINKUSDT
- - 后端接口的symbol均改为 交易对名称
-
+### 前端后端接口-加密货币名称
+- 后端的接口返回的是交易对名称或者币种简称
+ - 交易对名称构成为 SOLUSDT LINKUSDT
+ - 后端接口的symbol均改为 交易对名称
+- 在前后端的接口中,需要设计函数解析接口中的参数
+
### 加密货币全称
- 前端应该优先展示加密货币大写全称
- -
+ - 前端必须要同时展示加密货币的图标和名称
diff --git a/c-ProjectTonyStack/1-原始设计/2-组件/mask_currency_selector.md b/c-ProjectTonyStack/1-原始设计/2-组件/mask_currency_selector.md
new file mode 100644
index 0000000..cfaf049
--- /dev/null
+++ b/c-ProjectTonyStack/1-原始设计/2-组件/mask_currency_selector.md
@@ -0,0 +1,51 @@
+
+
+# 组件名称 币种选择器 CurrencySelector
+
+## 组件功能
+- 通用组件
+- 用于其他页面中的加密货交易对选择器
+- 输入框交易对选择器
+
+## 组件参数说明
+- 输入框存在参数设置,支持单选和多选
+- 输入框可选择的币种选项支持配置
+ - 加密货币币种选项
+ - 交易对选项
+- 输入框默认币种或交易对名称
+ - 默认参数为 点击选择币种
+ - 有参数时,查找默认币种图标显示
+- 币种选项的展示数量
+ - 默认为6个
+ - 可以通过参数调节,通过滑动块展示选项
+
+## 样式
+- 可以通过参数进行自定义长度 宽度和高度,以适应各个页面使用
+- 匹配明亮和黑暗模式
+ - 币种图标不需要颜色变换
+- 输入框选项,均显示为图标 简称
+ - 币种选项- 图标 BNB
+ - 交易对选项- 图标 BNBUSDT
+- 输入框在页面中的层级处于最高层级
+ - 点击输入框选择时候,文字输入框和选项不会被其他内容遮挡
+
+## 功能设计
+- 输入框点击输入框空白处之后,出现文字输入框及币种选项
+ - 文字输入框按照币种名称快速查找交易对
+ - 文字输入框高度与交易对选项保持一致
+
+- 当点击选项后,币种图标 名称 删除键 出现在输入框
+ - 样式为胶囊按钮状
+ - 胶囊按钮状颜色不同于输入框的颜色
+
+- 币种选项部分有滑动功能
+ - 当鼠标处于币种选项部分时候,可以通过滑轮控制币种选项的滑动
+ - 币种选项部分右侧 有拖动滑动块,也可以通过滑动块控制选项展示
+
+- 已选择选项有删除键,点击删除键,输入框中去除此选项
+- 当输入框无选项时,自动显示默认的文字或者选项
+
+
+
+
+
diff --git a/c-ProjectTonyStack/1-原始设计/mask_layout.md b/c-ProjectTonyStack/1-原始设计/2-组件/mask_layout.md
similarity index 100%
rename from c-ProjectTonyStack/1-原始设计/mask_layout.md
rename to c-ProjectTonyStack/1-原始设计/2-组件/mask_layout.md
diff --git a/c-ProjectTonyStack/1-原始设计/3-工具/utils_time_exchange.md b/c-ProjectTonyStack/1-原始设计/3-工具/utils_time_exchange.md
new file mode 100644
index 0000000..16a4fcd
--- /dev/null
+++ b/c-ProjectTonyStack/1-原始设计/3-工具/utils_time_exchange.md
@@ -0,0 +1,28 @@
+
+# 时间工具类
+
+## 工具统一内容
+1 前后端之间的接口参数,时间统一使用"2025-01-01 08:00:00"的格式
+2 前后端之间接口的时间字符串,统一都为东八区时间
+
+## 函数功能
+
+### 获取一个月前的时间字符串
+- 当调用之后,根据当前之间,推算一个月前的时间,返回时间字符串
+- 格式为"2025-01-01 08:00:00"
+
+### 获取三个月前的时间字符串
+- 当调用之后,根据当前之间,推算三个月前的时间,返回时间字符串
+- 格式为"2025-01-01 08:00:00"
+
+### 获取一年前的时间字符串
+- 当调用之后,根据当前之间,推算一年前的时间,返回时间字符串
+- 格式为"2025-01-01 08:00:00"
+
+### 获取三年前的时间字符串
+- 当调用之后,根据当前之间,推算一年前的时间,返回时间字符串
+- 格式为"2025-01-01 08:00:00"
+
+### 解析时间字符串为时间
+- 传入为格式为"2025-01-01 08:00:00"的时间字符串
+- 使用东八区时区解析,转换为时间对象
diff --git a/c-ProjectTonyStack/1-原始设计/mask_binance_account.md b/c-ProjectTonyStack/1-原始设计/mask_binance_account.md
deleted file mode 100644
index d587844..0000000
--- a/c-ProjectTonyStack/1-原始设计/mask_binance_account.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-# 页面地址 [BinanceAccountView.vue](TonyMask/src/pages/BinanceAccountView.vue)
-
-# 页面设计
-
-## 页面修改
-- 需要在Header右侧显示当前 用户名(加粗,加大显示) 从已登录信息中获取
-
-- 缩小账户类型一行的大小
-- 时间使用后端返回数据中的timestamp字段,已经是东八区时间,直接展示即可
-
-## 页面功能
-
-### 账户支持的加密货币
-- 展示 账户支持的加密货币 图标 简称
-- 接口地址 GET /api/binance/account/symbols/get
-- 返回的接口币种是加以对名称,BNBUSDT,XRPUSDT等,请统一去除掉USDT后缀
-- 增大显示
-- 用一行显示
-
-### 添加账户支持加密货币
-- 接口地址 POST /api/binance/account/symbols/add
-- 下面内容都在同一行显示
-- 左侧显示文字 添加账户支持加密货币
-- 中间 动态显示 加密货币图标及名称 能够有删除键 可以取消选择
-- 右侧,输入框,可以调用[cryptoIconData.ts](TonyMask/src/components/Icons/cryptoIconData.ts)中的方法,根据输入的简称,匹配查询获取到任意支持的币种 显示币种图标和简称
-- 最右侧,显示添加按钮,显示删除按钮
-
-### 删除账户支持的加密货币
-- 接口地址 POST /api/binance/account/symbols/delete
-- 与添加共用逻辑,通过按钮区分调用方法
-
-
-# 资产详情页面
-- 修改 总计 列名称为 币种数量
-- 搜索框 右侧 显示 当前账户总资产
- - 累加每一行的资产总计
-
-## 币种实时价格展示
-- 新增一列,名称为币种价格 展示币种的实时价格
-- 查询币种的实时价格 接口地址为 POST /api/binance/market/ticker/price
-- 具体函数为 [binance_market_handler.go](TonyCryptoOctopus\handler\binance_market_handler.go)中的GetPriceTickerHandler方法
-- 使用列表形式 Symbols
-- 构建交易对名称 使用symbol+USDT,例如 BTC转换为 BTCUSDT
-
-## 资产总计
-- 新增一列 名称为 资产总计
-- 每一行 将 币种数量与 币种价格相乘的结果
diff --git a/c-ProjectTonyStack/1-原始设计/mask_binance_order.md b/c-ProjectTonyStack/1-原始设计/mask_binance_order.md
deleted file mode 100644
index 5efb3be..0000000
--- a/c-ProjectTonyStack/1-原始设计/mask_binance_order.md
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-# 页面地址 [BinanceOrder.vue](TonyMask/src/pages/BinanceOrder.vue)
-- 如果没有页面 请创建该页面
-- 页面在侧边栏的名称为 交易订单
-
-# 页面设计
-- 展示特定币种,特定查询条件下的订单情况
-- 接口参数为 [binance_order_handler.go](TonyCryptoOctopus\handler\binance_order_handler.go) 中的MyTradesRequest
- - 接口参数说明: 前端不呈现limit,固定为1000
- - 忽略OrderID和FromID,不需要此参数
- - 默认起始时间为 2025-01-01 08:00:00
- - 新增固定时间段,最近三个月,最近一个月,最近一年,最近三年,当点击查询时候,根据当前时间作为endTime推算起始时间
-
-- 支持按照时间顺序,倒序或者正序排列
-- 可以筛选卖出和买入方向的订单
-- 根据订单的cst_time,展示时间轴
- - 每笔订单在时间轴上是一个小点,点击可以筛选到该笔订单
- - 时间轴可以划取范围,通过时间段筛选订单
-
-
-
-## 订单接口数据
-- 接口地址 /api/binance/order/trades 查询
-- 接口地址 /api/binance/order/trades/save 查询+保存
-- 具体接口为 [binance_order_handler.go](TonyCryptoOctopus\handler\binance_order_handler.go)中的GetMyTradesHandler
-- 订单接口查询,有两个查询按钮,一个查询 一个查询保存,颜色不同
- - 查询保存之后,额外显示返回结果的message字段内容
-
-
-## 输入框设置
-- 使用 [CurrencySelector.vue](TonyMask\src\components\CurrencySelector.vue)中的输入框
-- 根据页面样式,合理调整大小
-
-## 开始时间
-- 当取消初始时间内容时候,自动变为默认的初始时间
\ No newline at end of file
diff --git a/c-ProjectTonyStack/1-原始设计/mask_currency_selector.md b/c-ProjectTonyStack/1-原始设计/mask_currency_selector.md
deleted file mode 100644
index cf34f4b..0000000
--- a/c-ProjectTonyStack/1-原始设计/mask_currency_selector.md
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-# 页面地址 [CurrencySelector.vue](TonyMask/src/components/CurrencySelector.vue)
-- 如果没有页面 请创建该页面
-
-# 页面设计
-- 作为所有其他设计币安账户支持币种的通用组件
-
-## 样式
-- 账户支持币种选择框
-- 大小可以通过样式自定义,以适应其他页面调用
-- 匹配明亮和黑暗模式
-
-## 功能设计
-- 呈现一个输入框 点击输入框空白处之后,出现文字输入框及币种选项
- - 支持通过输入按照币种名称快速查找币种
- - 输入框高度与选项保持一致
- - 输入框默认显示文字,点击选择币种,点击输入框之后消失,无选中币种时出现
- - 选项为账户支持的币种列表,显示为 币种图标 币种全名称
-- 当点击选项后,币种图标 名称 删除按键 出现在输入框 样式为按钮状样式
-- 币种选项部分有滑动功能
- - 当鼠标处于币种选项部分时候,可以通过滑轮控制币种选项的滑动
- - 币种选项部分右侧 有拖动滑动块
-- 已选择币种有取消选择按钮,点击取消按钮,输入框中去除此币种
-- 币种默认为 LINK,显示币种图标和币种全名称
-
-### 参数说明
-- 输入框存在参数设置,支持单选和多选
-- 输入框可选择的币种选项支持配置
- - 调用[account.ts](TonyMask/src/api/account.ts)获取账户支持的币种列表, 然后调用[cryptoIconData.ts](TonyMask/src/components/Icons/cryptoIconData.ts)获取到对应的图标和全名称
- - 直接调用[cryptoIconData.ts](TonyMask/src/components/Icons/cryptoIconData.ts)获取到全部的币种图标和全名称
-
-## 功能参考
-- 参照[ProfitAndLoss.vue](TonyMask/src/pages/ProfitAndLoss.vue)页面中的实现
-
-
diff --git a/c-ProjectTonyStack/1-原始设计/vue3-typescript-stye.md b/c-ProjectTonyStack/1-原始设计/vue3-typescript-stye.md
new file mode 100644
index 0000000..2af6d71
--- /dev/null
+++ b/c-ProjectTonyStack/1-原始设计/vue3-typescript-stye.md
@@ -0,0 +1,120 @@
+**背景 (Context):**
+
+你是一名资深前端架构师,负责搭建前端框架和制定开发规范。该项目要求极高的代码质量、无缝的用户体验(跨设备、跨主题)以及长期的可维护性。
+
+**核心指令 (Core Directive):**
+
+请你以架构师的身份,严格遵循并执行以下所有规范来生成代码、组件、模块和提供解决方案。你的任何产出都必须成为团队的代码典范。
+
+**1. 语言与语法 (Language & Syntax):**
+
+ * **TypeScript 至上 (TypeScript Supremacy):**
+
+ * 项目 **必须** 完全基于 TypeScript (`
+```
+
+-----
+
+**最终指令**: 请根据以上这份详尽、严谨的架构设计方案,生成 `CurrencySelector.vue` 组件的完整代码。代码必须是生产级别的,并体现出卓越的工程实践。
\ No newline at end of file
diff --git a/c-ProjectTonyStack/2-AI优化设计/2-组件/api_mask_layout.md b/c-ProjectTonyStack/2-AI优化设计/2-组件/api_mask_layout.md
new file mode 100644
index 0000000..260c55e
--- /dev/null
+++ b/c-ProjectTonyStack/2-AI优化设计/2-组件/api_mask_layout.md
@@ -0,0 +1,69 @@
+**角色 (Role):** 你是一位精通 Vue 3、TypeScript 和 Vuetify 的资深前端架构师。你的任务是构建基础布局框架。
+
+**背景 (Context):** 你必须严格遵守所提供的 `vue3-typescript-stye.md` 风格指南中的所有原则。最终目标是产出一个健壮、可维护、生产就绪的应用外壳,它将作为未来所有页面的实现蓝图。此布局必须是完全响应式、支持主题切换,并完全基于 Vue 3 组合式 API 和 Vuetify 3 组件构建。
+
+**核心任务 (Core Task):**
+
+在 `src/layouts/` 目录下,创建一个名为 `Default.vue` 的主应用布局组件。该组件需实现一个经典的三段式结构:一个持久化的导航抽屉、一个顶部应用栏和一个用于承载路由视图的主内容区。所有与布局 UI 相关的状态(例如,侧边栏的收缩状态、当前的主题)必须在一个专用的 Pinia store 中进行集中管理。
+
+---
+
+### **1. 状态管理:布局 Store (Pinia)**
+
+在创建组件之前,首先定义状态管理模块。
+
+* **文件位置:** `src/store/layout.ts`
+* **Store 名称:** `useLayoutStore`
+* **State:**
+ * `isSidebarMini: Ref`: 管理导航抽屉的收缩/展开状态,默认为 `false`。
+ * `theme: Ref<'light' | 'dark'>`: 存储当前的主题名称,默认为 `'light'`。
+* **Actions:**
+ * `toggleSidebar()`: 用于翻转 `isSidebarMini`布尔值的 action。
+ * `setTheme(newTheme: 'light' | 'dark')`: 用于更新 `theme` 状态的 action。
+
+**约束:** 所有的 state 属性和函数签名都必须拥有精确的 TypeScript 类型。
+
+### **2. 组件拆解: `Default.vue`**
+
+#### **a. Script 部分 (`