添加项目基础文件结构、路由配置、API接口和核心组件 实现登录认证、权限控制、WebSocket通信等基础功能 引入antd-mobile UI组件库和Vite构建工具 配置TypeScript、ESLint、Prettier等开发环境 添加移动端适配方案和全局样式 完成首页、工作台、个人中心等基础页面框架
178 lines
4.3 KiB
Markdown
178 lines
4.3 KiB
Markdown
# 存客宝项目 - 浏览器兼容性说明
|
||
|
||
## 🎯 **兼容性目标**
|
||
|
||
本项目已配置为支持以下浏览器版本:
|
||
|
||
- **Chrome**: 50+
|
||
- **Firefox**: 50+
|
||
- **Safari**: 10+
|
||
- **Edge**: 12+
|
||
- **Internet Explorer**: 11+ (部分功能受限)
|
||
- **Android**: 4.4+ (特别优化Android 7)
|
||
- **iOS**: 9+
|
||
|
||
## 🔧 **兼容性配置**
|
||
|
||
### 1. **Polyfill 支持**
|
||
|
||
项目已集成以下 polyfill 来确保低版本浏览器兼容性:
|
||
|
||
- **core-js**: ES6+ 特性支持
|
||
- **regenerator-runtime**: async/await 支持
|
||
- **whatwg-fetch**: fetch API 支持
|
||
- **Android专用polyfill**: 针对Android 7等低版本系统优化
|
||
|
||
### 2. **构建配置**
|
||
|
||
- 使用 **terser** 进行代码压缩
|
||
- 配置了 **browserslist** 目标浏览器
|
||
- 添加了兼容性检测组件
|
||
- 特别针对Android设备优化
|
||
|
||
### 3. **特性支持**
|
||
|
||
项目通过 polyfill 支持以下 ES6+ 特性:
|
||
|
||
- ✅ Promise
|
||
- ✅ fetch API
|
||
- ✅ Array.from, Array.find, Array.includes, Array.findIndex
|
||
- ✅ Object.assign, Object.entries, Object.values, Object.keys
|
||
- ✅ String.includes, String.startsWith, String.endsWith
|
||
- ✅ Map, Set, WeakMap, WeakSet
|
||
- ✅ Symbol
|
||
- ✅ requestAnimationFrame
|
||
- ✅ IntersectionObserver
|
||
- ✅ ResizeObserver
|
||
- ✅ URLSearchParams
|
||
- ✅ AbortController
|
||
|
||
## 🚀 **使用方法**
|
||
|
||
### 开发环境
|
||
|
||
```bash
|
||
pnpm dev
|
||
```
|
||
|
||
### 生产构建
|
||
|
||
```bash
|
||
pnpm build
|
||
```
|
||
|
||
### 预览构建结果
|
||
|
||
```bash
|
||
pnpm preview
|
||
```
|
||
|
||
## 📱 **Android 特别优化**
|
||
|
||
### **Android 7 兼容性**
|
||
|
||
Android 7 (API 24) 系统对ES6+特性支持不完整,项目已特别优化:
|
||
|
||
#### **问题解决:**
|
||
|
||
- ✅ Array.prototype.includes 方法缺失
|
||
- ✅ String.prototype.includes 方法缺失
|
||
- ✅ Object.assign 方法缺失
|
||
- ✅ Array.from 方法缺失
|
||
- ✅ requestAnimationFrame 缺失
|
||
- ✅ IntersectionObserver 缺失
|
||
- ✅ URLSearchParams 缺失
|
||
|
||
#### **解决方案:**
|
||
|
||
- 使用自定义polyfill补充缺失方法
|
||
- 提供降级实现确保功能可用
|
||
- 自动检测Android版本并启用相应polyfill
|
||
|
||
### **Android WebView 优化**
|
||
|
||
- 针对系统WebView进行特别优化
|
||
- 支持微信、QQ等内置浏览器
|
||
- 提供降级方案确保基本功能可用
|
||
|
||
## ⚠️ **注意事项**
|
||
|
||
1. **Android 7 支持**
|
||
- 已启用兼容模式,基本功能可用
|
||
- 建议升级到Android 8+或使用最新版Chrome
|
||
- 部分高级特性可能受限
|
||
|
||
2. **Android 6 及以下**
|
||
- 支持有限,建议升级系统
|
||
- 使用最新版Chrome浏览器
|
||
- 部分功能可能不可用
|
||
|
||
3. **移动端兼容性**
|
||
- iOS Safari 10+
|
||
- Android Chrome 50+
|
||
- 微信内置浏览器 (部分功能受限)
|
||
- QQ内置浏览器 (部分功能受限)
|
||
|
||
4. **性能考虑**
|
||
- polyfill 会增加包体积
|
||
- 现代浏览器会自动忽略不需要的 polyfill
|
||
- Android设备上会有额外的兼容性检测
|
||
|
||
## 🔍 **兼容性检测**
|
||
|
||
项目包含自动兼容性检测功能:
|
||
|
||
### **通用检测**
|
||
|
||
- 在低版本浏览器中会显示警告提示
|
||
- 控制台会输出兼容性信息
|
||
- 建议用户升级浏览器
|
||
|
||
### **Android专用检测**
|
||
|
||
- 自动检测Android系统版本
|
||
- 检测Chrome和WebView版本
|
||
- 识别微信、QQ等内置浏览器
|
||
- 提供针对性的解决方案建议
|
||
|
||
## 📝 **更新日志**
|
||
|
||
### v3.0.0
|
||
|
||
- ✅ 添加 ES5 兼容性支持
|
||
- ✅ 集成 core-js polyfill
|
||
- ✅ 添加兼容性检测组件
|
||
- ✅ 优化构建配置
|
||
- ✅ **新增Android 7专用polyfill**
|
||
- ✅ **新增Android兼容性检测**
|
||
- ✅ **优化移动端体验**
|
||
|
||
## 🛠️ **故障排除**
|
||
|
||
如果遇到兼容性问题:
|
||
|
||
1. **Android设备问题**
|
||
- 检查Android系统版本
|
||
- 确认Chrome浏览器版本
|
||
- 查看控制台错误信息
|
||
- 尝试使用系统浏览器而非内置浏览器
|
||
|
||
2. **通用问题**
|
||
- 检查浏览器版本是否在支持范围内
|
||
- 查看控制台是否有错误信息
|
||
- 确认 polyfill 是否正确加载
|
||
- 尝试清除浏览器缓存
|
||
|
||
3. **性能问题**
|
||
- 在低版本设备上可能加载较慢
|
||
- 建议使用WiFi网络
|
||
- 关闭不必要的浏览器扩展
|
||
|
||
## 📞 **技术支持**
|
||
|
||
如有兼容性问题,请联系开发团队。
|
||
|
||
### **特别说明**
|
||
|
||
本项目已针对Android 7等低版本系统进行了特别优化,通过代码弥补了系统内核对ES6+特性支持不完整的问题。虽然不能完全替代系统升级,但可以确保应用在低版本Android设备上正常运行。
|