feat: 首页更新

This commit is contained in:
2025-11-11 18:48:54 +08:00
parent 230191f181
commit b48cce06f4
43 changed files with 3186 additions and 1029 deletions

View File

@@ -1,7 +1,6 @@
/**
* 主题颜色配置
*
* 支持 light 和 dark 两种主题
* 可以通过 settingsStore 切换主题
*/
@@ -59,6 +58,56 @@ export default {
// 覆盖层
overlay: 'rgba(0, 0, 0, 0.5)',
},
orange: {
// 文本颜色
text: '#000000',
textSecondary: '#666666',
textTertiary: '#999999',
textInverse: '#FFFFFF',
// 背景颜色
background: '#FFFFFF',
backgroundSecondary: '#F5F5F5',
backgroundTertiary: '#E5E5E5',
// 主题色
tint: tintColorLight,
primary: '#007AFF',
secondary: '#5856D6',
success: '#34C759',
warning: '#FF9500',
error: '#FF3B30',
info: '#5AC8FA',
// 边框颜色
border: '#E5E5E5',
borderSecondary: '#D1D1D6',
// Tab 图标
tabIconDefault: '#8E8E93',
tabIconSelected: tintColorLight,
// 卡片
card: '#FFFFFF',
cardShadow: 'rgba(0, 0, 0, 0.1)',
// 输入框
inputBackground: '#FFFFFF',
inputBorder: '#D1D1D6',
inputPlaceholder: '#C7C7CC',
// 按钮
buttonPrimary: '#007AFF',
buttonSecondary: '#5856D6',
buttonDisabled: '#E5E5E5',
buttonText: '#FFFFFF',
// 分隔线
separator: '#E5E5E5',
// 覆盖层
overlay: 'rgba(0, 0, 0, 0.5)',
},
dark: {
// 文本颜色
text: '#FFFFFF',

182
constants/game.ts Normal file
View File

@@ -0,0 +1,182 @@
import { filter, toNumber, isNaN, forEach } from 'lodash-es';
// 1:棋牌 2:彩票 3:电子 4:捕鱼 5:真人 6:体育 7:红包 8:原创 10: 区块链
export enum GameMainTypesEnum {
CHESS = 1,
LOTTERY = 2,
ELECTRONIC = 3,
FISHING = 4,
LIVE = 5,
SPORTS = 6,
BLOCK = 8,
BLOCK_THIRD = 39,
// 自定义
LOBBY = 100, // 大厅
COLLECT = 101, // 收藏
RECENT = 102, // 最近
RECOMMEND = 103, // 推荐
HIGH_HIT = 104, // 高暴奖
TRIAL = 105, // 试玩
HOT = 0, // 热门
HOT_GAME = 10000, // 热门游戏
HOT_CHESS = 10001, // 热门棋牌
HOT_LOTTERY = 10002, // 热门彩票
HOT_ELECTRONIC = 10003, // 热门电子
HOT_FISHING = 10004, // 热门捕鱼
HOT_LIVE = 10005, // 热门真人
HOT_SPORTS = 10006, // 热门体育
HOT_BLOCK = 10008, // 热门原创
HOT_BLOCK_THIRD = 10039, // 热门区块链
}
export enum GameBigTypesEnum {
CHESS = 1,
ELECTRONIC = 2,
FISHING = 3,
LIVE = 4,
SPORTS = 5,
LOTTERY = 7,
BLOCK_THIRD = 10,
}
// 首页三级菜单
export enum GameChildTypesEnum {
ALL = '1', // 所有
HOT = '2', // 热门
RECENT = '3', // 最近
COLLECT = '4', // 收藏
}
export enum LotteryTypeKeysEnum {
tianCheng = 15,
GPI = 16,
SBCP = 30,
DB = 31,
SGWIN = 32,
}
export enum LotteryTypeIdEnum {
GPI = 504,
DB = 1385,
SBCP = 1326,
SGWIN = 1410,
tianCheng = 468,
}
export const LotteryNameByKey = {
GPI: 'GPI',
DB: 'DB',
SGWIN: 'SGWin',
tianCheng: '天成',
};
export enum GameMainKeysEnum {
CHESS = 'chess',
LOTTERY = 'lottery', // 热门彩票
LOTTERY_ALL = 'lotteryAll', // 全部彩票
ELECTRONIC = 'electronic',
FISHING = 'fishing',
BLOCK_THIRD = 'blockThird',
LIVE = 'live',
SPORTS = 'sports',
BLOCK = 'block',
LOBBY = 'lobby', // 大厅
COLLECT = 'collect', // 收藏
RECENT = 'recent', // 最近
RECOMMEND = 'recommend', // 推荐
HIGH_HIT = 'highHit', // 高暴奖
TRIAL = 'trial', // 试玩
HOT = 'hot', // 热门
HOT_GAME = 'hotGame', // 热门游戏
HOT_CHESS = 'hotChess', // 热门棋牌
HOT_LOTTERY = 'hotLottery', // 热门彩票
HOT_ELECTRONIC = 'hotElectronic', // 热门电子
HOT_FISHING = 'hotFishing', // 热门捕鱼
HOT_LIVE = 'hotLive', // 热门真人
HOT_SPORTS = 'hotSports', // 热门体育
HOT_BLOCK = 'hotBlock', // 热门原创
HOT_BLOCK_THIRD = 'hotBlockThird', // 热门区块链
}
export const gameMainTypesMap = (() => {
const result = {};
forEach(
filter(Object.keys(GameMainTypesEnum), val => isNaN(toNumber(val))),
(key) => {
if (GameMainKeysEnum[key]) {
result[GameMainTypesEnum[key]] = GameMainKeysEnum[key];
}
}
);
console.log('resultresultresult', result);
return result as Record<GameMainTypesEnum, GameMainKeysEnum>;
})();
// 默认首页游戏分类菜单
export const defaultHomeGameTabMenus = [
{ name: '推荐', key: GameMainTypesEnum.RECOMMEND, icon: 'recommend' },
// { name: '试玩', key: GameMainTypesEnum.TRIAL, icon: 'try' },
{ name: '收藏', key: GameMainTypesEnum.COLLECT, icon: 'home-star-solid' },
{ name: '最近', key: GameMainTypesEnum.RECENT, icon: 'clock-solid' },
];
export const gameTypeName = name => {
console.log(name);
let iconName = '';
switch (name) {
case '棋牌':
iconName = 'chess';
break;
case '电子':
iconName = 'electronic';
break;
case '捕鱼':
iconName = 'fishing';
break;
case '真人':
iconName = 'live';
break;
case '体育':
iconName = 'sports';
break;
case '彩票':
iconName = 'lottery';
break;
case '原创':
iconName = 'block';
break;
default:
break;
}
return iconName;
};
export const bigTypeNameConfig = {
1: GameMainKeysEnum.CHESS,
2: GameMainKeysEnum.ELECTRONIC,
3: GameMainKeysEnum.FISHING,
4: GameMainKeysEnum.LIVE,
5: GameMainKeysEnum.SPORTS,
7: GameMainKeysEnum.LOTTERY,
10: GameMainKeysEnum.BLOCK_THIRD,
};
export const serverImgPathMap = {
[GameBigTypesEnum.CHESS]: 'qipai',
[GameBigTypesEnum.ELECTRONIC]: 'dianzi',
[GameBigTypesEnum.FISHING]: 'buyu',
[GameBigTypesEnum.BLOCK_THIRD]: 'qukuailian',
};
export const bigTypeToMainTypeMap = {
1: GameMainTypesEnum.CHESS,
2: GameMainTypesEnum.ELECTRONIC,
3: GameMainTypesEnum.FISHING,
4: GameMainTypesEnum.LIVE,
5: GameMainTypesEnum.SPORTS,
7: GameMainTypesEnum.LOTTERY,
10: GameMainTypesEnum.BLOCK_THIRD,
};

6
constants/theme.ts Normal file
View File

@@ -0,0 +1,6 @@
// theme enum
export enum ThemeEnum {
LIGHT = 'light',
DARK = 'dark',
ORANGE = 'orange',
}

8
constants/user.ts Normal file
View File

@@ -0,0 +1,8 @@
// 用户注册方式
export enum RegisterWayEnum {
SMS_REGISTRATION = 1, // 短信注册
ACCOUNT_REGISTRATION = 2, // 账号注册
EMAIL_REGISTRATION = 3, // 邮箱注册
AGENT_ACCOUNT_OPENING_REGISTRATION = 4, // 代理开户注册
BULK_ACCOUNT_OPENING_REGISTRATION = 5, // 批量开户注册
}