Initial commit: One Pipe System
完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
30
src/config/assets/images.ts
Normal file
30
src/config/assets/images.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import lightTheme from '@imgs/settings/theme_styles/light.png'
|
||||
import darkTheme from '@imgs/settings/theme_styles/dark.png'
|
||||
import systemTheme from '@imgs/settings/theme_styles/system.png'
|
||||
import verticalLayout from '@imgs/settings/menu_layouts/vertical.png'
|
||||
import horizontalLayout from '@imgs/settings/menu_layouts/horizontal.png'
|
||||
import mixedLayout from '@imgs/settings/menu_layouts/mixed.png'
|
||||
import dualColumnLayout from '@imgs/settings/menu_layouts/dual_column.png'
|
||||
import designStyle from '@imgs/settings/menu_styles/design.png'
|
||||
import darkStyle from '@imgs/settings/menu_styles/dark.png'
|
||||
import lightStyle from '@imgs/settings/menu_styles/light.png'
|
||||
|
||||
// 配置设置中心图片
|
||||
export const configImages = {
|
||||
themeStyles: {
|
||||
light: lightTheme,
|
||||
dark: darkTheme,
|
||||
system: systemTheme
|
||||
},
|
||||
menuLayouts: {
|
||||
vertical: verticalLayout,
|
||||
horizontal: horizontalLayout,
|
||||
mixed: mixedLayout,
|
||||
dualColumn: dualColumnLayout
|
||||
},
|
||||
menuStyles: {
|
||||
design: designStyle,
|
||||
dark: darkStyle,
|
||||
light: lightStyle
|
||||
}
|
||||
}
|
||||
94
src/config/constants/cardStatus.ts
Normal file
94
src/config/constants/cardStatus.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* 网卡状态配置
|
||||
*/
|
||||
|
||||
import { CardStatus } from '@/types/api'
|
||||
import type { ComponentSize } from 'element-plus'
|
||||
|
||||
// 网卡状态选项
|
||||
export const CARD_STATUS_OPTIONS = [
|
||||
{
|
||||
label: '激活',
|
||||
value: CardStatus.ACTIVATED,
|
||||
type: 'success' as const,
|
||||
color: '#67C23A'
|
||||
},
|
||||
{
|
||||
label: '停用',
|
||||
value: CardStatus.DEACTIVATED,
|
||||
type: 'danger' as const,
|
||||
color: '#F56C6C'
|
||||
},
|
||||
{
|
||||
label: '测试',
|
||||
value: CardStatus.TESTING,
|
||||
type: 'warning' as const,
|
||||
color: '#E6A23C'
|
||||
},
|
||||
{
|
||||
label: '库存',
|
||||
value: CardStatus.INVENTORY,
|
||||
type: 'info' as const,
|
||||
color: '#909399'
|
||||
},
|
||||
{
|
||||
label: '停机',
|
||||
value: CardStatus.SUSPENDED,
|
||||
type: 'danger' as const,
|
||||
color: '#F56C6C'
|
||||
},
|
||||
{
|
||||
label: '已过期',
|
||||
value: CardStatus.EXPIRED,
|
||||
type: 'info' as const,
|
||||
color: '#909399'
|
||||
}
|
||||
]
|
||||
|
||||
// 网卡状态映射
|
||||
export const CARD_STATUS_MAP = CARD_STATUS_OPTIONS.reduce(
|
||||
(map, item) => {
|
||||
map[item.value] = item
|
||||
return map
|
||||
},
|
||||
{} as Record<
|
||||
CardStatus,
|
||||
{
|
||||
label: string
|
||||
value: CardStatus
|
||||
type: 'success' | 'warning' | 'danger' | 'info'
|
||||
color: string
|
||||
}
|
||||
>
|
||||
)
|
||||
|
||||
// 获取网卡状态标签
|
||||
export function getCardStatusLabel(status: CardStatus): string {
|
||||
return CARD_STATUS_MAP[status]?.label || '未知'
|
||||
}
|
||||
|
||||
// 获取网卡状态类型(用于 ElTag)
|
||||
export function getCardStatusType(status: CardStatus) {
|
||||
return CARD_STATUS_MAP[status]?.type || 'info'
|
||||
}
|
||||
|
||||
// 获取网卡状态颜色
|
||||
export function getCardStatusColor(status: CardStatus): string {
|
||||
return CARD_STATUS_MAP[status]?.color || '#909399'
|
||||
}
|
||||
|
||||
// 网络类型选项
|
||||
export const NETWORK_TYPE_OPTIONS = [
|
||||
{ label: '2G', value: '2G' },
|
||||
{ label: '3G', value: '3G' },
|
||||
{ label: '4G', value: '4G' },
|
||||
{ label: '5G', value: '5G' },
|
||||
{ label: 'NB-IoT', value: 'NB-IoT' }
|
||||
]
|
||||
|
||||
// 卡类型选项
|
||||
export const CARD_TYPE_OPTIONS = [
|
||||
{ label: '月卡', value: 'monthly' },
|
||||
{ label: '年卡', value: 'annual' },
|
||||
{ label: '流量卡', value: 'flow' }
|
||||
]
|
||||
60
src/config/constants/commission.ts
Normal file
60
src/config/constants/commission.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* 佣金相关配置
|
||||
*/
|
||||
|
||||
import { CommissionStatus, WithdrawalStatus } from '@/types/api'
|
||||
|
||||
// 佣金状态选项
|
||||
export const COMMISSION_STATUS_OPTIONS = [
|
||||
{ label: '待结算', value: CommissionStatus.PENDING, type: 'warning' as const },
|
||||
{ label: '已结算', value: CommissionStatus.SETTLED, type: 'success' as const },
|
||||
{ label: '已提现', value: CommissionStatus.WITHDRAWN, type: 'info' as const },
|
||||
{ label: '冻结', value: CommissionStatus.FROZEN, type: 'danger' as const }
|
||||
]
|
||||
|
||||
// 提现状态选项
|
||||
export const WITHDRAWAL_STATUS_OPTIONS = [
|
||||
{ label: '待审核', value: WithdrawalStatus.PENDING, type: 'warning' as const },
|
||||
{ label: '已通过', value: WithdrawalStatus.APPROVED, type: 'success' as const },
|
||||
{ label: '已拒绝', value: WithdrawalStatus.REJECTED, type: 'danger' as const },
|
||||
{ label: '处理中', value: WithdrawalStatus.PROCESSING, type: 'primary' as const },
|
||||
{ label: '已完成', value: WithdrawalStatus.COMPLETED, type: 'success' as const },
|
||||
{ label: '失败', value: WithdrawalStatus.FAILED, type: 'danger' as const }
|
||||
]
|
||||
|
||||
// 支付方式选项
|
||||
export const PAYMENT_METHOD_OPTIONS = [
|
||||
{ label: '银行转账', value: 'bank', icon: 'bank' },
|
||||
{ label: '支付宝', value: 'alipay', icon: 'alipay' },
|
||||
{ label: '微信', value: 'wechat', icon: 'wechat' }
|
||||
]
|
||||
|
||||
// 获取佣金状态标签
|
||||
export function getCommissionStatusLabel(status: CommissionStatus): string {
|
||||
const option = COMMISSION_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.label || status
|
||||
}
|
||||
|
||||
// 获取佣金状态类型
|
||||
export function getCommissionStatusType(status: CommissionStatus) {
|
||||
const option = COMMISSION_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.type || 'info'
|
||||
}
|
||||
|
||||
// 获取提现状态标签
|
||||
export function getWithdrawalStatusLabel(status: WithdrawalStatus): string {
|
||||
const option = WITHDRAWAL_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.label || status
|
||||
}
|
||||
|
||||
// 获取提现状态类型
|
||||
export function getWithdrawalStatusType(status: WithdrawalStatus) {
|
||||
const option = WITHDRAWAL_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.type || 'info'
|
||||
}
|
||||
|
||||
// 获取支付方式标签
|
||||
export function getPaymentMethodLabel(method: string): string {
|
||||
const option = PAYMENT_METHOD_OPTIONS.find((item) => item.value === method)
|
||||
return option?.label || method
|
||||
}
|
||||
18
src/config/constants/index.ts
Normal file
18
src/config/constants/index.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* 公共配置和常量统一导出
|
||||
*/
|
||||
|
||||
// 运营商相关
|
||||
export * from './operators'
|
||||
|
||||
// 网卡状态相关
|
||||
export * from './cardStatus'
|
||||
|
||||
// 用户角色相关
|
||||
export * from './userRoles'
|
||||
|
||||
// 佣金相关
|
||||
export * from './commission'
|
||||
|
||||
// 通用状态相关
|
||||
export * from './status'
|
||||
36
src/config/constants/operators.ts
Normal file
36
src/config/constants/operators.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* 运营商配置
|
||||
*/
|
||||
|
||||
import { Operator } from '@/types/api'
|
||||
|
||||
// 运营商选项
|
||||
export const OPERATOR_OPTIONS = [
|
||||
{ label: '中国移动', value: Operator.CHINA_MOBILE, color: '#4CAF50' },
|
||||
{ label: '中国联通', value: Operator.CHINA_UNICOM, color: '#2196F3' },
|
||||
{ label: '中国电信', value: Operator.CHINA_TELECOM, color: '#FF9800' },
|
||||
{ label: 'GS移动', value: Operator.GS_MOBILE, color: '#4CAF50' },
|
||||
{ label: 'GS联通', value: Operator.GS_UNICOM, color: '#2196F3' },
|
||||
{ label: 'GS电信', value: Operator.GS_TELECOM, color: '#FF9800' },
|
||||
{ label: 'DC物联', value: Operator.DC_IOT, color: '#9C27B0' },
|
||||
{ label: 'GDWL', value: Operator.GDWL, color: '#F44336' }
|
||||
]
|
||||
|
||||
// 运营商映射
|
||||
export const OPERATOR_MAP = OPERATOR_OPTIONS.reduce(
|
||||
(map, item) => {
|
||||
map[item.value] = item
|
||||
return map
|
||||
},
|
||||
{} as Record<Operator, { label: string; value: Operator; color: string }>
|
||||
)
|
||||
|
||||
// 获取运营商标签
|
||||
export function getOperatorLabel(operator: Operator): string {
|
||||
return OPERATOR_MAP[operator]?.label || operator
|
||||
}
|
||||
|
||||
// 获取运营商颜色
|
||||
export function getOperatorColor(operator: Operator): string {
|
||||
return OPERATOR_MAP[operator]?.color || '#666'
|
||||
}
|
||||
133
src/config/constants/status.ts
Normal file
133
src/config/constants/status.ts
Normal file
@@ -0,0 +1,133 @@
|
||||
/**
|
||||
* 通用状态配置
|
||||
*/
|
||||
|
||||
// 通用状态枚举
|
||||
export enum CommonStatus {
|
||||
DISABLED = 0, // 禁用
|
||||
ENABLED = 1 // 启用/正常
|
||||
}
|
||||
|
||||
// 通用状态选项(完整版)
|
||||
export const STATUS_OPTIONS = [
|
||||
{
|
||||
label: '启用',
|
||||
value: CommonStatus.ENABLED,
|
||||
type: 'success' as const,
|
||||
color: '#67C23A',
|
||||
text: '正常'
|
||||
},
|
||||
{
|
||||
label: '禁用',
|
||||
value: CommonStatus.DISABLED,
|
||||
type: 'danger' as const,
|
||||
color: '#F56C6C',
|
||||
text: '禁用'
|
||||
}
|
||||
]
|
||||
|
||||
// 通用状态选项(精简版,用于搜索表单和下拉选择)
|
||||
export const STATUS_SELECT_OPTIONS = [
|
||||
{ label: '启用', value: CommonStatus.ENABLED },
|
||||
{ label: '禁用', value: CommonStatus.DISABLED }
|
||||
]
|
||||
|
||||
// 状态映射
|
||||
export const STATUS_MAP = STATUS_OPTIONS.reduce(
|
||||
(map, item) => {
|
||||
map[item.value] = item
|
||||
return map
|
||||
},
|
||||
{} as Record<
|
||||
CommonStatus,
|
||||
{
|
||||
label: string
|
||||
value: CommonStatus
|
||||
type: 'success' | 'danger'
|
||||
color: string
|
||||
text: string
|
||||
}
|
||||
>
|
||||
)
|
||||
|
||||
// 获取状态标签
|
||||
export function getStatusLabel(status: number): string {
|
||||
return STATUS_MAP[status as CommonStatus]?.label || '未知'
|
||||
}
|
||||
|
||||
// 获取状态文本(用于 ElSwitch)
|
||||
export function getStatusText(status: number): string {
|
||||
return STATUS_MAP[status as CommonStatus]?.text || '未知'
|
||||
}
|
||||
|
||||
// 获取状态类型(用于 ElTag)
|
||||
export function getStatusType(status: number) {
|
||||
return STATUS_MAP[status as CommonStatus]?.type || 'info'
|
||||
}
|
||||
|
||||
// 获取状态颜色
|
||||
export function getStatusColor(status: number): string {
|
||||
return STATUS_MAP[status as CommonStatus]?.color || '#909399'
|
||||
}
|
||||
|
||||
// ========== 权限类型相关 ==========
|
||||
|
||||
// 权限类型枚举
|
||||
export enum PermissionType {
|
||||
MENU = 1, // 菜单权限
|
||||
BUTTON = 2 // 按钮权限
|
||||
}
|
||||
|
||||
// 权限类型选项(完整版,用于表格显示等)
|
||||
export const PERMISSION_TYPE_OPTIONS = [
|
||||
{
|
||||
label: '菜单权限',
|
||||
value: PermissionType.MENU,
|
||||
type: '' as const,
|
||||
text: '菜单'
|
||||
},
|
||||
{
|
||||
label: '按钮权限',
|
||||
value: PermissionType.BUTTON,
|
||||
type: 'success' as const,
|
||||
text: '按钮'
|
||||
}
|
||||
]
|
||||
|
||||
// 权限类型选项(精简版,用于搜索表单和下拉选择)
|
||||
export const PERMISSION_TYPE_SELECT_OPTIONS = [
|
||||
{ label: '菜单权限', value: PermissionType.MENU },
|
||||
{ label: '按钮权限', value: PermissionType.BUTTON }
|
||||
]
|
||||
|
||||
// 权限类型映射
|
||||
export const PERMISSION_TYPE_MAP = PERMISSION_TYPE_OPTIONS.reduce(
|
||||
(map, item) => {
|
||||
map[item.value] = item
|
||||
return map
|
||||
},
|
||||
{} as Record<
|
||||
PermissionType,
|
||||
{
|
||||
label: string
|
||||
value: PermissionType
|
||||
type: '' | 'success'
|
||||
text: string
|
||||
}
|
||||
>
|
||||
)
|
||||
|
||||
// 获取权限类型标签
|
||||
export function getPermissionTypeLabel(type: number): string {
|
||||
return PERMISSION_TYPE_MAP[type as PermissionType]?.label || '未知'
|
||||
}
|
||||
|
||||
// 获取权限类型文本
|
||||
export function getPermissionTypeText(type: number): string {
|
||||
return PERMISSION_TYPE_MAP[type as PermissionType]?.text || '未知'
|
||||
}
|
||||
|
||||
// 获取权限类型标签类型(用于 ElTag)
|
||||
export function getPermissionTypeTag(type: number) {
|
||||
return PERMISSION_TYPE_MAP[type as PermissionType]?.type || 'info'
|
||||
}
|
||||
51
src/config/constants/userRoles.ts
Normal file
51
src/config/constants/userRoles.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* 用户角色配置
|
||||
*/
|
||||
|
||||
import { UserRole } from '@/types/api'
|
||||
|
||||
// 用户角色选项
|
||||
export const USER_ROLE_OPTIONS = [
|
||||
{ label: '超级管理员', value: UserRole.SUPER_ADMIN, color: '#F56C6C' },
|
||||
{ label: '管理员', value: UserRole.ADMIN, color: '#E6A23C' },
|
||||
{ label: '代理商', value: UserRole.AGENT, color: '#409EFF' },
|
||||
{ label: '企业客户', value: UserRole.ENTERPRISE, color: '#67C23A' }
|
||||
]
|
||||
|
||||
// 用户角色映射
|
||||
export const USER_ROLE_MAP = USER_ROLE_OPTIONS.reduce(
|
||||
(map, item) => {
|
||||
map[item.value] = item
|
||||
return map
|
||||
},
|
||||
{} as Record<UserRole, { label: string; value: UserRole; color: string }>
|
||||
)
|
||||
|
||||
// 获取用户角色标签
|
||||
export function getUserRoleLabel(role: UserRole): string {
|
||||
return USER_ROLE_MAP[role]?.label || role
|
||||
}
|
||||
|
||||
// 获取用户角色颜色
|
||||
export function getUserRoleColor(role: UserRole): string {
|
||||
return USER_ROLE_MAP[role]?.color || '#909399'
|
||||
}
|
||||
|
||||
// 账号状态选项
|
||||
export const ACCOUNT_STATUS_OPTIONS = [
|
||||
{ label: '启用', value: 1, type: 'success' as const },
|
||||
{ label: '禁用', value: 0, type: 'danger' as const },
|
||||
{ label: '锁定', value: 2, type: 'warning' as const }
|
||||
]
|
||||
|
||||
// 获取账号状态标签
|
||||
export function getAccountStatusLabel(status: number): string {
|
||||
const option = ACCOUNT_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.label || '未知'
|
||||
}
|
||||
|
||||
// 获取账号状态类型
|
||||
export function getAccountStatusType(status: number) {
|
||||
const option = ACCOUNT_STATUS_OPTIONS.find((item) => item.value === status)
|
||||
return option?.type || 'info'
|
||||
}
|
||||
23
src/config/festival.ts
Normal file
23
src/config/festival.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* 节日配置
|
||||
* 包含:礼花效果、滚动文字
|
||||
*/
|
||||
// 图片需要在 components/Ceremony/Fireworks 文件预先定义
|
||||
import { FestivalConfig } from '@/types/config'
|
||||
import sd from '@imgs/ceremony/sd.png'
|
||||
import yd from '@imgs/ceremony/yd.png'
|
||||
|
||||
export const festivalConfigList: FestivalConfig[] = [
|
||||
{
|
||||
date: '2025-01-01',
|
||||
name: '元旦',
|
||||
image: yd,
|
||||
scrollText: '新年快乐!Art Design Pro 祝您在2025年万事如意,事业腾飞,阖家幸福,好运连连!'
|
||||
},
|
||||
{
|
||||
date: '2024-12-25',
|
||||
name: '圣诞节',
|
||||
image: sd,
|
||||
scrollText: 'Merry Christmas!Art Design Pro 祝您圣诞快乐,愿节日的欢乐与祝福如雪花般纷至沓来!'
|
||||
}
|
||||
]
|
||||
136
src/config/index.ts
Normal file
136
src/config/index.ts
Normal file
@@ -0,0 +1,136 @@
|
||||
/**
|
||||
* 系统配置
|
||||
* 包含:系统信息、系统主题、菜单主题、菜单布局、系统主色、系统主色列表、系统主色、系统其他项默认配置
|
||||
*/
|
||||
import { MenuThemeEnum, MenuTypeEnum, SystemThemeEnum } from '@/enums/appEnum'
|
||||
import { SystemConfig } from '@/types/config'
|
||||
import { configImages } from './assets/images'
|
||||
|
||||
const appConfig: SystemConfig = {
|
||||
// 系统信息
|
||||
systemInfo: {
|
||||
name: '君鸿卡管系统' // 系统名称
|
||||
},
|
||||
// Element Plus 主题
|
||||
elementPlusTheme: {
|
||||
primary: '#5D87FF'
|
||||
},
|
||||
// 系统主题
|
||||
systemThemeStyles: {
|
||||
[SystemThemeEnum.LIGHT]: { className: '' },
|
||||
[SystemThemeEnum.DARK]: { className: SystemThemeEnum.DARK }
|
||||
},
|
||||
// 系统主题列表
|
||||
settingThemeList: [
|
||||
{
|
||||
name: 'Light',
|
||||
theme: SystemThemeEnum.LIGHT,
|
||||
color: ['#fff', '#fff'],
|
||||
leftLineColor: '#EDEEF0',
|
||||
rightLineColor: '#EDEEF0',
|
||||
img: configImages.themeStyles.light
|
||||
},
|
||||
{
|
||||
name: 'Dark',
|
||||
theme: SystemThemeEnum.DARK,
|
||||
color: ['#22252A'],
|
||||
leftLineColor: '#3F4257',
|
||||
rightLineColor: '#3F4257',
|
||||
img: configImages.themeStyles.dark
|
||||
},
|
||||
{
|
||||
name: 'System',
|
||||
theme: SystemThemeEnum.AUTO,
|
||||
color: ['#fff', '#22252A'],
|
||||
leftLineColor: '#EDEEF0',
|
||||
rightLineColor: '#3F4257',
|
||||
img: configImages.themeStyles.system
|
||||
}
|
||||
],
|
||||
// 菜单布局列表
|
||||
menuLayoutList: [
|
||||
{ name: 'Left', value: MenuTypeEnum.LEFT, img: configImages.menuLayouts.vertical },
|
||||
{ name: 'Top', value: MenuTypeEnum.TOP, img: configImages.menuLayouts.horizontal },
|
||||
{ name: 'Mixed', value: MenuTypeEnum.TOP_LEFT, img: configImages.menuLayouts.mixed },
|
||||
{ name: 'Dual Column', value: MenuTypeEnum.DUAL_MENU, img: configImages.menuLayouts.dualColumn }
|
||||
],
|
||||
// 菜单主题列表
|
||||
themeList: [
|
||||
{
|
||||
theme: MenuThemeEnum.DESIGN,
|
||||
background: '#FFFFFF',
|
||||
systemNameColor: 'var(--art-text-gray-800)',
|
||||
iconColor: '#6B6B6B',
|
||||
textColor: '#29343D',
|
||||
textActiveColor: '#3F8CFF',
|
||||
iconActiveColor: '#333333',
|
||||
tabBarBackground: '#FAFBFC',
|
||||
systemBackground: '#FAFBFC',
|
||||
leftLineColor: '#EDEEF0',
|
||||
rightLineColor: '#EDEEF0',
|
||||
img: configImages.menuStyles.design
|
||||
},
|
||||
{
|
||||
theme: MenuThemeEnum.DARK,
|
||||
background: '#191A23',
|
||||
systemNameColor: '#BABBBD',
|
||||
iconColor: '#BABBBD',
|
||||
textColor: '#BABBBD',
|
||||
textActiveColor: '#FFFFFF',
|
||||
iconActiveColor: '#FFFFFF',
|
||||
tabBarBackground: '#FFFFFF',
|
||||
systemBackground: '#F8F8F8',
|
||||
leftLineColor: '#3F4257',
|
||||
rightLineColor: '#EDEEF0',
|
||||
img: configImages.menuStyles.dark
|
||||
},
|
||||
{
|
||||
theme: MenuThemeEnum.LIGHT,
|
||||
background: '#ffffff',
|
||||
systemNameColor: '#68758E',
|
||||
iconColor: '#6B6B6B',
|
||||
textColor: '#29343D',
|
||||
textActiveColor: '#3F8CFF',
|
||||
iconActiveColor: '#333333',
|
||||
tabBarBackground: '#FFFFFF',
|
||||
systemBackground: '#F8F8F8',
|
||||
leftLineColor: '#EDEEF0',
|
||||
rightLineColor: '#EDEEF0',
|
||||
img: configImages.menuStyles.light
|
||||
}
|
||||
],
|
||||
|
||||
darkMenuStyles: [
|
||||
{
|
||||
theme: MenuThemeEnum.DARK,
|
||||
background: '#161618',
|
||||
systemNameColor: '#DDDDDD',
|
||||
iconColor: '#BABBBD',
|
||||
textColor: 'rgba(#FFFFFF, 0.7)',
|
||||
textActiveColor: '',
|
||||
iconActiveColor: '#FFFFFF',
|
||||
tabBarBackground: '#FFFFFF',
|
||||
systemBackground: '#F8F8F8',
|
||||
leftLineColor: '#3F4257',
|
||||
rightLineColor: '#EDEEF0'
|
||||
}
|
||||
],
|
||||
// 系统主色
|
||||
systemMainColor: [
|
||||
'#5D87FF',
|
||||
'#B48DF3',
|
||||
'#1D84FF',
|
||||
'#60C041',
|
||||
'#38C0FC',
|
||||
'#F9901F',
|
||||
'#FF80C8'
|
||||
] as const,
|
||||
// 系统其他项默认配置
|
||||
systemSetting: {
|
||||
defaultMenuWidth: 240, // 菜单宽度
|
||||
defaultCustomRadius: '0.75', // 自定义圆角
|
||||
defaultTabStyle: 'tab-default' // 标签样式
|
||||
}
|
||||
}
|
||||
|
||||
export default Object.freeze(appConfig)
|
||||
Reference in New Issue
Block a user