https://github.com/postor/swoft-flashair
https://github.com/postor/swoft-flashair
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/postor/swoft-flashair
- Owner: postor
- License: apache-2.0
- Created: 2019-02-27T06:19:49.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-28T07:04:40.000Z (almost 7 years ago)
- Last Synced: 2025-03-20T20:15:03.366Z (10 months ago)
- Language: PHP
- Size: 529 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# swoft 尝试 - 从 flashair 备份文件
会用到
- websocket 与页面实时通信
- composer 安装第三方包
## 环境准备
创建项目
```
composer create-project swoft/swoft swoft-flashair
```
因为windows不支持swoole,依赖安装会因为没有swoole插件而报错,所以需要增加忽略参数
```
composer install --ignore-platform-reqs
```
启动借助于docker
> 因为windows目录映射总是有问题,所以使用build的方式,如果目录映射没问题还是使用swoft官方镜像比较好,不用每次composer安装
>
> 如遇到同样问题可参考本仓库修改以下文件:Dockerfile、.dockerignore、docker-compose.yml
```
docker-compose build
docker-compose up --force-recreate
```
测试运行
http://localhost
## 编码
guzzle换成swoole的http,同样要使用`--ignore-platform-reqs`
```
composer require yurunsoft/guzzle-swoole --ignore-platform-reqs
composer require guzzlehttp/guzzle --ignore-platform-reqs
```
最后 `yurunsoft/guzzle-swoole` 没有使用上,关键代码如下
- resources/views/index/index.php 首页内容及JS处理websocket逻辑
- app/WebSocket/EchoController.php 没有改代码,但是使用了这个websocket通信
- app/Tasks/SyncTask.php 使用自动每秒调度任务来启动扫描flashair的流程,跟新进度会群发websocket
- app/Models/Logic/FlashairService.php 具体flashair逻辑,跟新进度会群发websocket
- app/Models/Logic/FlashairWorker.php 具体flashair逻辑,跟新进度会群发websocket
- app/Models/Logic/FlashairItem.php flashair逻辑所需结构
其他配置修改参考swoft https://doc.swoft.org/
