# 前端图标模组
- 此模组作为前端项目的公共模组，可以供其他页面使用

## 样式说明
- 图标只需要满足明亮模式
- 图标的大小是可以调整的
- 图标应该采用svg的格式

## 图标管理

### 图标获取
- 通过从[TradingView所有加密货币](https://cn.tradingview.com/markets/cryptocurrencies/prices-all/) 或者从稳定、公开的加密货币API（例如 CoinGecko 或 CoinMarketCap 的免费API）通过手动执行，获取前1000名加密货币的数据。 
- 按照市值排序，获取排名前一千的加密货币
- 加密货币的全称 和 简称同样从此页面获取
  
### 图标存储
- 常见加密货币创建svg的图标数据存储起来，便其他的页面调用
- 存储结构体包含
  - 加密货币全称 Bitcoin
  - 加密货币大写全称 BITCOIN
  - 加密货币简称 BTC
  - 加密货币描述 Bitcoin is balabala
  - 加密货币svg图标内容  
- 应该有未知货币的图标
- 应该设计类似Map的结构，可以快速通过加密货币名称获取到对应图标
  
### 图标查询
- 设计一个函数，能够通过交易对,前缀匹配,大写名称,加密货币简称均可查询到加密货币全称,即多对一的查询函数
- 查询速度应该在O(n)以下

### 交易对图标
- 交易对图标，仿照[TradingView交易对页面](https://cn.tradingview.com/symbols/BTCUSDT/?exchange=BINANCE)页面中图标放置的样式,将两种加密货币的图标进行叠放显示
- 构建查用的交易对图标缓存Map，可以通过交易对名称快速获取到对应的图标
  - 常用交易对如下 BTCUSDT ETHUSDT BNBUSDT NEXOUSDT XRPUSDT LINKUSDT SOLUSDT
  - 此函数需要考虑后续能够手动添加其他的交易对


## 加密货币名称
### 前端后端接口-加密货币名称
- 后端的接口返回的是交易对名称或者币种简称
    - 交易对名称构成为 SOLUSDT LINKUSDT
    - 后端接口的symbol均改为 交易对名称
- 在前后端的接口中，需要设计函数解析接口中的参数

### 加密货币全称
  - 前端应该优先展示加密货币大写全称
  - 前端必须要同时展示加密货币的图标和名称
