| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- function setFileStorage(path, seek, writeData) {
- return new Promise((resolve, reject) => {
- plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, fs => {
- fs.root.getFile(path, {
- create: true
- }, fileEntry => {
- fileEntry.file(file => {
- fileEntry.createWriter(writer => {
- plus.nativeUI.showWaiting("正在保存文件信息,请勿操作!");
- writer.seek(seek);
- const writeDataTemp = JSON.stringify(writeData, null,
- "\r").replace(/[\r]/g, "");
- writer.write(writeDataTemp);
- writer.onerror = function() {
- plus.nativeUI.closeWaiting();
- plus.nativeUI.toast("保存失败, 请重新操作", {
- background: "rgba(255, 255, 255, 0.6)",
- });
- reject("保存失败, 请重新操作");
- }
- writer.onwrite = function() {
- plus.nativeUI.closeWaiting();
- plus.nativeUI.toast("文件已保存", {
- background: "rgba(255, 255, 255, 0.6)",
- });
- }
- }, e => {
- plus.nativeUI.toast("启动文件保存流失败,请检查android版本!", {
- background: "rgba(255, 255, 255, 0.6)",
- });
- reject(e);
- })
- })
- }, e => {
- plus.nativeUI.toast("文件获取失败,请检查应用权限!", {
- background: "rgba(255, 255, 255, 0.6)",
- });
- reject(e);
- })
- })
- })
- }
- function getFileStorage(path) {
- return new Promise((resolve, reject) => {
- plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, fs => {
- fs.root.getFile(path, {
- create: false
- }, fileEntry => {
- fileEntry.file(function(file) {
- let fileReader = new plus.io.FileReader();
- fileReader.readAsText(file, "utf-8");
- fileReader.onerror = e => {
- // plus.nativeUI.toast("获取文件失败 " + e, {
- // background: "rgba(255, 255, 255, 0.6)",
- // });
- // fileReader.abort(); // 终止读取
- // fileReader = null; // 释放引用
- reject("获取文件失败");
- };
- // fileReader.onload = e => {
- // const result = e.target.result; // 先保存结果
- // fileReader.abort(); // 终止读取
- // fileReader = null; // 释放引用
- // resolve(result); // 再 resolve
- // };
- fileReader.onload = e => {
- // fileReader.abort(); // 终止读取
- // fileReader = null; // 释放引用
- resolve(e.target.result);
- };
- // plus.nativeUI.confirm("检测到本地存在已保存的服务器数据" + file.size +
- // "byte,是否读取?", ret => {
- // if (ret?.index == 0) {
- // let fileReader = new plus.io.FileReader();
- // fileReader.readAsText(file, "utf-8");
- // fileReader.onerror = e => {
- // plus.nativeUI.toast("获取文件失败 " + e, {
- // background: "rgba(255, 255, 255, 0.6)",
- // });
- // reject("获取文件失败");
- // };
- // fileReader.onload = e => {
- // resolve(e.target.result);
- // };
- // } else {
- // resolve(null);
- // }
- // })
- });
- }, e => {
- plus.nativeUI.toast("文件获取失败,请检查应用权限!", {
- background: "rgba(255, 255, 255, 0.6)",
- });
- reject(e);
- })
- })
- })
- }
- export {
- setFileStorage,
- getFileStorage
- }
|