Files
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

261 lines
5.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 应用常量定义
*/
// 应用信息
export const APP_INFO = {
NAME: '玩Android',
VERSION: '1.0.0',
AUTHOR: '玩Android团队',
DESCRIPTION: '玩Android客户端'
}
// 存储键名
export const STORAGE_KEYS = {
// 用户相关
TOKEN: 'wanandroid_token',
USER_INFO: 'wanandroid_user_info',
LOGIN_STATE: 'wanandroid_login_state',
// 应用设置
THEME_MODE: 'wanandroid_theme_mode',
LANGUAGE: 'wanandroid_language',
FONT_SIZE: 'wanandroid_font_size',
// 缓存数据
HOME_CACHE: 'wanandroid_home_cache',
PROJECT_CACHE: 'wanandroid_project_cache',
SEARCH_HISTORY: 'wanandroid_search_history',
// 其他
FIRST_LAUNCH: 'wanandroid_first_launch',
LAST_VERSION: 'wanandroid_last_version'
}
// 主题模式
export const THEME_MODES = {
LIGHT: 'light',
DARK: 'dark',
AUTO: 'auto'
}
// 页面路由
export const PAGE_ROUTES = {
// 首页模块
HOME: '/pages/index/index',
HOME_INDEX: '/pages/index/index',
// 项目模块
PROJECT: '/pages/project/project',
PROJECT_DETAIL: '/pages/project-detail/project-detail',
// 公众号模块
WXARTICLE: '/pages/wxarticle/wxarticle',
// 体系模块
TREE: '/pages/tree/tree',
// 我的模块
MINE: '/pages/mine/mine',
// 其他页面
LOGIN: '/pages/login/login',
REGISTER: '/pages/register/register',
SETTINGS: '/pages/settings/settings',
ABOUT: '/pages/about/about',
WEBVIEW: '/pages/webview/webview'
}
// 事件名称(用于全局事件通信)
export const EVENT_NAMES = {
// 用户相关
USER_LOGIN: 'user_login',
USER_LOGOUT: 'user_logout',
USER_INFO_UPDATE: 'user_info_update',
// 主题切换
THEME_CHANGE: 'theme_change',
// 语言切换
LANGUAGE_CHANGE: 'language_change',
// 网络状态
NETWORK_CHANGE: 'network_change',
// 页面生命周期
PAGE_SHOW: 'page_show',
PAGE_HIDE: 'page_hide',
// 数据更新
DATA_REFRESH: 'data_refresh',
DATA_LOAD_MORE: 'data_load_more'
}
// 错误码
export const ERROR_CODES = {
// 网络错误
NETWORK_ERROR: 1001,
TIMEOUT_ERROR: 1002,
// API错误
API_ERROR: 2001,
PARAM_ERROR: 2002,
AUTH_ERROR: 2003,
PERMISSION_ERROR: 2004,
// 业务错误
DATA_NOT_FOUND: 3001,
OPERATION_FAILED: 3002,
// 系统错误
SYSTEM_ERROR: 5001,
UNKNOWN_ERROR: 5002
}
// 错误消息
export const ERROR_MESSAGES = {
[ERROR_CODES.NETWORK_ERROR]: '网络连接失败,请检查网络设置',
[ERROR_CODES.TIMEOUT_ERROR]: '请求超时,请稍后重试',
[ERROR_CODES.API_ERROR]: '接口请求失败',
[ERROR_CODES.PARAM_ERROR]: '参数错误',
[ERROR_CODES.AUTH_ERROR]: '身份验证失败,请重新登录',
[ERROR_CODES.PERMISSION_ERROR]: '权限不足',
[ERROR_CODES.DATA_NOT_FOUND]: '数据不存在',
[ERROR_CODES.OPERATION_FAILED]: '操作失败',
[ERROR_CODES.SYSTEM_ERROR]: '系统错误',
[ERROR_CODES.UNKNOWN_ERROR]: '未知错误'
}
// 分页配置
export const PAGINATION_CONFIG = {
DEFAULT_PAGE_SIZE: 20,
MAX_PAGE_SIZE: 100,
LOAD_MORE_THRESHOLD: 100, // 触发加载更多的阈值(像素)
LOADING_TEXT: {
LOADING: '加载中...',
NO_MORE: '没有更多了',
EMPTY: '暂无数据'
}
}
// 颜色配置
export const COLOR_SCHEME = {
// 主色调
PRIMARY: '#3cc51f',
PRIMARY_LIGHT: '#6cdd4d',
PRIMARY_DARK: '#2a9c12',
// 辅助色
SECONDARY: '#007aff',
SUCCESS: '#4cd964',
WARNING: '#f0ad4e',
DANGER: '#dd524d',
INFO: '#5ac8fa',
// 中性色
BLACK: '#000000',
WHITE: '#ffffff',
GRAY_1: '#f8f8f8',
GRAY_2: '#f0f0f0',
GRAY_3: '#e5e5e5',
GRAY_4: '#cccccc',
GRAY_5: '#999999',
GRAY_6: '#666666',
GRAY_7: '#333333',
// 背景色
BACKGROUND: '#f8f8f8',
CARD_BACKGROUND: '#ffffff',
// 文字色
TEXT_PRIMARY: '#333333',
TEXT_SECONDARY: '#666666',
TEXT_TERTIARY: '#999999',
TEXT_DISABLED: '#cccccc',
// 边框色
BORDER: '#e5e5e5',
BORDER_LIGHT: '#f0f0f0'
}
// 字体配置
export const FONT_CONFIG = {
// 字体大小(rpx)
SIZE: {
XXS: 20,
XS: 24,
SM: 28,
BASE: 32,
LG: 36,
XL: 40,
XXL: 48,
XXXL: 56
},
// 字重
WEIGHT: {
LIGHT: 300,
NORMAL: 400,
MEDIUM: 500,
SEMIBOLD: 600,
BOLD: 700
},
// 行高
LINE_HEIGHT: {
TIGHT: 1.2,
NORMAL: 1.5,
RELAXED: 1.75
}
}
// 动画配置
export const ANIMATION_CONFIG = {
DURATION: {
FAST: 150,
NORMAL: 300,
SLOW: 500
},
TIMING_FUNCTION: {
EASE: 'ease',
EASE_IN: 'ease-in',
EASE_OUT: 'ease-out',
EASE_IN_OUT: 'ease-in-out',
LINEAR: 'linear'
}
}
// 平台检测
export const PLATFORM = {
// 运行平台
MP_WEIXIN: 'mp-weixin',
MP_ALIPAY: 'mp-alipay',
MP_BAIDU: 'mp-baidu',
MP_TOUTIAO: 'mp-toutiao',
MP_QQ: 'mp-qq',
MP_360: 'mp-360',
APP_PLUS: 'app-plus',
APP_PLUS_NVUE: 'app-plus-nvue',
H5: 'h5',
// 设备类型
IOS: 'ios',
ANDROID: 'android',
WINDOWS: 'windows',
MAC: 'mac'
}
export default {
APP_INFO,
STORAGE_KEYS,
THEME_MODES,
PAGE_ROUTES,
EVENT_NAMES,
ERROR_CODES,
ERROR_MESSAGES,
PAGINATION_CONFIG,
COLOR_SCHEME,
FONT_CONFIG,
ANIMATION_CONFIG,
PLATFORM
}