feat: redesign crypto market with synced favorites
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
CREATE TABLE IF NOT EXISTS `la_crypto_favorite` (
|
||||
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||||
`user_id` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
`symbol` varchar(20) NOT NULL DEFAULT '' COMMENT '币种代码',
|
||||
`status` tinyint UNSIGNED NOT NULL DEFAULT 1 COMMENT '自选状态 0-取消 1-自选',
|
||||
`create_time` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
|
||||
`update_time` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
`delete_time` int NULL DEFAULT NULL COMMENT '删除时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_user_symbol` (`user_id`, `symbol`),
|
||||
KEY `idx_user_status` (`user_id`, `status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户加密行情自选表';
|
||||
|
||||
INSERT INTO `la_config` (`type`, `name`, `value`, `create_time`, `update_time`)
|
||||
SELECT 'crypto_market', 'api_base', 'https://api.coingecko.com/api/v3', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `la_config` WHERE `type` = 'crypto_market' AND `name` = 'api_base'
|
||||
);
|
||||
|
||||
INSERT INTO `la_config` (`type`, `name`, `value`, `create_time`, `update_time`)
|
||||
SELECT 'crypto_market', 'cache_seconds', '60', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `la_config` WHERE `type` = 'crypto_market' AND `name` = 'cache_seconds'
|
||||
);
|
||||
|
||||
SET @crypto_market_coins = JSON_ARRAY(
|
||||
JSON_OBJECT('id', 'bitcoin', 'symbol', 'BTC', 'name_zh', '比特币'),
|
||||
JSON_OBJECT('id', 'ethereum', 'symbol', 'ETH', 'name_zh', '以太坊'),
|
||||
JSON_OBJECT('id', 'binancecoin', 'symbol', 'BNB', 'name_zh', '币安币'),
|
||||
JSON_OBJECT('id', 'solana', 'symbol', 'SOL', 'name_zh', 'Solana'),
|
||||
JSON_OBJECT('id', 'ripple', 'symbol', 'XRP', 'name_zh', '瑞波币'),
|
||||
JSON_OBJECT('id', 'cardano', 'symbol', 'ADA', 'name_zh', '艾达币'),
|
||||
JSON_OBJECT('id', 'dogecoin', 'symbol', 'DOGE', 'name_zh', '狗狗币'),
|
||||
JSON_OBJECT('id', 'tron', 'symbol', 'TRX', 'name_zh', '波场'),
|
||||
JSON_OBJECT('id', 'avalanche-2', 'symbol', 'AVAX', 'name_zh', 'Avalanche'),
|
||||
JSON_OBJECT('id', 'chainlink', 'symbol', 'LINK', 'name_zh', 'Chainlink'),
|
||||
JSON_OBJECT('id', 'the-open-network', 'symbol', 'TON', 'name_zh', 'Toncoin'),
|
||||
JSON_OBJECT('id', 'shiba-inu', 'symbol', 'SHIB', 'name_zh', '柴犬币'),
|
||||
JSON_OBJECT('id', 'polkadot', 'symbol', 'DOT', 'name_zh', '波卡币'),
|
||||
JSON_OBJECT('id', 'sui', 'symbol', 'SUI', 'name_zh', 'Sui'),
|
||||
JSON_OBJECT('id', 'near', 'symbol', 'NEAR', 'name_zh', 'NEAR'),
|
||||
JSON_OBJECT('id', 'litecoin', 'symbol', 'LTC', 'name_zh', '莱特币'),
|
||||
JSON_OBJECT('id', 'bitcoin-cash', 'symbol', 'BCH', 'name_zh', '比特币现金'),
|
||||
JSON_OBJECT('id', 'uniswap', 'symbol', 'UNI', 'name_zh', 'Uniswap'),
|
||||
JSON_OBJECT('id', 'aave', 'symbol', 'AAVE', 'name_zh', 'Aave'),
|
||||
JSON_OBJECT('id', 'ethereum-classic', 'symbol', 'ETC', 'name_zh', '以太坊经典')
|
||||
);
|
||||
|
||||
INSERT INTO `la_config` (`type`, `name`, `value`, `create_time`, `update_time`)
|
||||
SELECT 'crypto_market', 'coins', CAST(@crypto_market_coins AS CHAR), UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `la_config` WHERE `type` = 'crypto_market' AND `name` = 'coins'
|
||||
);
|
||||
|
||||
UPDATE `la_decorate_tabbar`
|
||||
SET `name` = '行情', `update_time` = UNIX_TIMESTAMP()
|
||||
WHERE `link` LIKE '%pages%crypto%crypto%'
|
||||
AND `name` <> '行情';
|
||||
Reference in New Issue
Block a user