mirror of
https://github.com/kuaifan/dootask.git
synced 2026-04-23 10:18:41 +00:00
配合 dootask-app 仓库的 Expo 迁移(见 docs/migration-eeui-to-expo.md 的 Phase 5),
让服务端和前端同时识别旧 EEUI 壳与新 Expo 壳的 User-Agent,并让 eeui.js 的同步返回
方法在 Expo 壳下优先读取 injectedJS 启动时写入的 __EXPO_INIT_DATA__ / __EXPO_VARIATES__
缓存,避免原本同步 API 变成 Promise 后破坏调用方。
后端:
- Base::isEEUIApp():同时匹配 kuaifan_eeui / dootask_expo
- UserDevice:android_(kuaifan_eeui|dootask_expo) 正则捕获标识段,版本号按实际段名取
- IndexController PDF 预览:浏览器分类兼容 android_dootask_expo / ios_dootask_expo
- SystemController::prefetch:$isApp 同时接受两种 UA
- resources/views/download.blade.php:/eeui|dootask_expo/i
前端:
- app.js:
- isEEUIApp 正则新增 dootask_expo
- $preload 等待条件改为 requireModuleJs 可用 OR window.__EXPO_BRIDGE_READY__,
避免 Expo 壳下等 15 秒超时
- eeui.js:以下几个同步 getter 在 Expo 壳下先读 window.__EXPO_* 再回落到原生:
- eeuiAppVersion / eeuiAppLocalVersion → __EXPO_INIT_DATA__.version
- eeuiAppGetPageInfo → __EXPO_INIT_DATA__.pageInfo
- eeuiAppGetThemeName → __EXPO_INIT_DATA__.themeName
- eeuiAppKeyboardStatus → __EXPO_INIT_DATA__.keyboardVisible
- eeuiAppGetVariate → __EXPO_VARIATES__[key]
- eeuiAppGetCachesString → __EXPO_CACHES__[key](RN 侧后续要同步 broadcast)
旧 EEUI 壳不受影响:只读缓存不存在时自动回落到原有 $A.eeuiModule() 调用,
行为与改动前一致。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
DooTask - Open Source Task Management System
English | 中文文档
QQ Group
- Group Number:
546574618
📍 Migration from 0.x to 1.x
- Please ensure to back up your data before upgrading!
- If the upgrade fails, try running
./cmd updatemultiple times. - If you encounter "Container xxx not found" during upgrade, run
./cmd reupand then execute./cmd update. - If you see a 502 error after upgrading, run
./cmd reupto restart the services. - If you encounter "Application 'xxx' not installed" after upgrading, log in with the admin account and install the relevant applications from the App Store.
Installation Requirements
- Required:
Docker v20.10+andDocker Compose v2.0+ - Supported Systems:
CentOS/Debian/Ubuntu/macOSand other Linux/Unix systems - Hardware Recommendation: 2+ cores, 4GB+ memory
- Special Note: Windows users can install Linux environment using WSL2 before installing DooTask.
Deploy Project
# 1、Clone the project to your local machine or server
# Clone project from GitHub
git clone --depth=1 https://github.com/kuaifan/dootask.git
# Or you can use Gitee
git clone --depth=1 https://gitee.com/aipaw/dootask.git
# 2、Enter directory
cd dootask
# 3、One-click installation (Custom port installation: ./cmd install --port 80)
./cmd install
Reset Password
# Reset default administrator password
./cmd repassword
Change Port
# This method only changes HTTP port. For HTTPS port, please read SSL configuration below
./cmd port 80
Stop Service
./cmd down
Start Service
./cmd up
Development & Build
Please ensure you have installed NodeJs 20+
# Development mode
./cmd dev
# Build project (This is for web client. For desktop apps, refer to ".github/workflows/publish.yml")
./cmd prod
SSL Configuration
Method 1: Automatic Configuration
# Run command and follow the prompts
./cmd https
Method 2: Nginx Proxy Configuration
# 1、Add Nginx proxy configuration
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 2、Run command (To cancel Nginx proxy configuration: ./cmd https close)
./cmd https agent
Upgrade & Update
Note: Please backup your data before upgrading!
./cmd update
- Please retry if upgrade fails across major versions.
- If you encounter 502 errors after upgrade, run
./cmd reupto restart services.
Project Migration
After installing the new project, follow these steps to complete migration:
1、Backup original database
# Run command in the old project
./cmd mysql backup
2、Copy the following files and directories from old project to the same paths in new project
Database backup filedocker/appstorepublic/uploads
3、Restore database to new project
# Run command in the new project
./cmd mysql recovery
Uninstall Project
./cmd uninstall
More Commands
./cmd help
Description
DooTask是一款开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具;同时消息功能使用非对称加密技术让你的沟通更安全。
dootaskproject-managementproject-managerremote-worktask-management-systemtask-managerteam-chatto-dotodo
Readme
AGPL-3.0
1 GiB
Languages
PHP
56.7%
Vue
38.5%
HTML
3.4%
Shell
0.6%
Less
0.5%
Other
0.3%