Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eafy/ftpsyncfilemanager
https://github.com/eafy/ftpsyncfilemanager
Last synced: about 6 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/eafy/ftpsyncfilemanager
- Owner: Eafy
- License: apache-2.0
- Created: 2019-03-18T03:04:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-05-13T08:59:21.000Z (over 5 years ago)
- Last Synced: 2024-01-08T05:08:51.096Z (10 months ago)
- Language: JavaScript
- Size: 23.4 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FTPSyncFileManager
此为几米圈后视镜等设备FTP视频、图片同步模块组件,组件已集成到几米圈SDK引擎中,无需额外下载。
## 导入RN组件模块
```
import {
NativeModules,
NativeEventEmitter
} from 'react-native';
const { FTPSyncFileManager } = NativeModules;
```## 添加回调监听接口
```
export default class FTPSyscFile extends Component {
constructor(props) {
super(props);
this.state = {
......
ftpSyncMrgListener: new NativeEventEmitter(FTPSyncFileManager),
......
};
}componentWillMount() {
this.state.ftpSyncMrgListener.addListener(FTPSyncFileManager.kRNFTPSyncFileManager, (reminder) => {
this.onHandleFTPCallbackData(reminder); //reminder为组件回调的数据
});
}
onHandleFTPCallbackData(cbData) {
let cbObj = JSON.parse(cbData);
let methodName = cbObj.method;
let dataStr = cbObj.data;
let dataObj = JSON.parse(stringObj(dataStr));
......
}
......
}
```## 模块接口
| Method | define | result
| ------------------------- | ------------------------- | -------------------------
| Promise currentWiFi((ssid) => {}) | 获取当前手机连接的WiFi名称 | 成功则为WiFi名称,否则null
| Promise openDeviceWIFI(String url, String imei, String appKey, String secret, String token) | 发送设备启动WiFi热点命令 | 情况1:{\"method\":\"onOpenDeviceWIFI\",\"data\":{\"success\":true,\"msg\":\"设备WIFI打开成功,请连接wifi\"}}
情况2:{\"method\":\"onOpenDeviceWIFI\",\"data\":{\"success\":true,\"msg\":\"设备WIFI打开成功,wifi已连接\"}}失败:{\"method\":\"onOpenDeviceWIFI\",\"data\":{\"success\":false,\"msg\":\"设备WIFI打开失败\",\"errMsg":\"错误信息\"}}
| Promise connectFTP() | 启动并连接设备端FTP服务 | 成功:{\"method\":\"onConnectFTP\",\"data\":{\"success\":true,\"msg\":\"已经成功连接设备!\"}}
失败:{\"method\":\"onConnectFTP\",\"data\":{\"success\":false,\"msg\":\"与设备连接异常!\"}}
| Promise closeFTP() | 关闭与设备端的FTP连接服务 | 无回调
| Promise findAllFile(bool isVideo) | 查找设备端视图或图片列表(返回接口为2级列表),若查找图片会自动下载图片,视频则不会 |{\"method\": \"onFindAllFile\", \"data\": [ [{ \"time\": \"2019-03-04\", //日期 \"localUrl\": \"\\/var\\/mobile\\/Containers\\/Data\\/Application\\/670F1CEA-D67A-4B8A-95F7-CC4522A37DC1\\/Library\\/Caches\\/JM_Cache\\/123\\/Thumb\\/351609080199717\\/2019_03_04_09_37_40.jpg\", //文件存在当前手机的地址 \"totalSize\": 637852, //文件大小 \"isDownload\": false, //是否已下载 \"progress\": 0, //下载进度0~1.0 \"fileType\": false, //文件类型,图片:false,视频:true \"name\": \"2019_03_04_09_37_40.jpg\" //文件的名称,后面的下载、暂停、删除则使用此关键词 }] ] }
PS:2维数组中地一维数组表示一天中的数据,第二维表示当前的所有数据;
| Promise downloadFile(Array fileName) | 下载文件,图片资源默认查找时已下载 | {\"method\":\"onDownloadFile\",\"data\":{\"name\":\"2019_03_18_10_25_34.3gp\",\"progress\":0.13543144808932833, \"state\": 1}}
PS:下载成功之后的进度progress为1或1.0
state:0:暂停或未下载,1:正在下载,2:已完成,-1:下载失败
| Promise pauseFile(String fileName) | 暂停正在下载的文件,参数只支持单一的文件名称(非数组) | 无回调
| Promise deleteFile(Array fileName) | 删除文件,同时删除设备端和本地的已下载或已缓存的文件 |
成功:{\"method\":\"onDeleteFile\",\"data\":{\"success\":true}}失败:{\"method\":\"onDeleteFile\",\"data\":{\"success\":false}}