261 lines
5.1 KiB
JavaScript
261 lines
5.1 KiB
JavaScript
/**
|
||
* 应用常量定义
|
||
*/
|
||
|
||
// 应用信息
|
||
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
|
||
} |