188 lines
5.1 KiB
JavaScript
Executable File
188 lines
5.1 KiB
JavaScript
Executable File
import response from "./response";
|
|
import moduleHelper from "./module-helper";
|
|
|
|
//暂存readFile的数据
|
|
const tempCacheObj = {};
|
|
|
|
export default {
|
|
/*env*/
|
|
WXGetUserDataPath(){
|
|
return wx.env.USER_DATA_PATH;
|
|
},
|
|
WXWriteFileSync(filePath, data, encoding){
|
|
try{
|
|
const fs = wx.getFileSystemManager();
|
|
fs.writeFileSync(filePath, data, encoding)
|
|
}catch (e) {
|
|
console.error(e);
|
|
return e.message;
|
|
}
|
|
return "ok";
|
|
},
|
|
WXAccessFileSync(filePath){
|
|
try{
|
|
const fs = wx.getFileSystemManager();
|
|
fs.accessSync(filePath);
|
|
return "access:ok";
|
|
}catch (e) {
|
|
// console.error(e);
|
|
return e.message;
|
|
}
|
|
},
|
|
WXAccessFile(path,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.access({
|
|
path:path,
|
|
...response.handleText(s,f,c)
|
|
});
|
|
},
|
|
WXCopyFileSync(src,dst){
|
|
try{
|
|
const fs = wx.getFileSystemManager();
|
|
fs.copyFileSync(src,dst);
|
|
return "copyFile:ok";
|
|
}catch (e) {
|
|
console.error(e);
|
|
return e.message;
|
|
}
|
|
},
|
|
WXCopyFile(srcPath,destPath,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.copyFile({
|
|
srcPath,
|
|
destPath,
|
|
...response.handleText(s,f,c)
|
|
});
|
|
},
|
|
WXUnlinkSync(filePath){
|
|
try{
|
|
const fs = wx.getFileSystemManager();
|
|
fs.unlinkSync(filePath);
|
|
return "unlink:ok";
|
|
}catch (e) {
|
|
console.error(e);
|
|
return e.message;
|
|
}
|
|
},
|
|
WXUnlink(filePath,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.unlink({
|
|
filePath,
|
|
...response.handleText(s,f,c)
|
|
});
|
|
},
|
|
WXWriteFile(filePath,data,encoding,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.writeFile({
|
|
filePath,
|
|
data:data.buffer,
|
|
encoding,
|
|
...response.handleTextLongBack(s,f,c)
|
|
})
|
|
},
|
|
WXWriteStringFile(filePath,data,encoding,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.writeFile({
|
|
filePath,
|
|
data,
|
|
encoding,
|
|
...response.handleTextLongBack(s,f,c)
|
|
})
|
|
},
|
|
WXAppendFile(filePath,data,encoding,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.appendFile({
|
|
filePath,
|
|
data:data.buffer,
|
|
encoding,
|
|
...response.handleTextLongBack(s,f,c)
|
|
})
|
|
},
|
|
WXAppendStringFile(filePath,data,encoding,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.appendFile({
|
|
filePath,
|
|
data,
|
|
encoding,
|
|
...response.handleTextLongBack(s,f,c)
|
|
})
|
|
},
|
|
WXWriteBinFileSync(filePath,data,encoding){
|
|
const fs = wx.getFileSystemManager();
|
|
try{
|
|
fs.writeFileSync(
|
|
filePath,
|
|
data.buffer,
|
|
encoding
|
|
)
|
|
}catch (e) {
|
|
console.error(e);
|
|
return e.message;
|
|
}
|
|
return "ok";
|
|
|
|
},
|
|
WXReadFile(filePath, encoding, callbackId){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.readFile({
|
|
filePath,
|
|
encoding,
|
|
success(res){
|
|
if(!encoding){
|
|
tempCacheObj[callbackId] = res.data;
|
|
}
|
|
moduleHelper.send('ReadFileCallback',JSON.stringify({
|
|
callbackId,
|
|
errMsg:res.errMsg,
|
|
errCode : 0,
|
|
byteLength:res.data.byteLength || 0,
|
|
data:encoding ? res.data : ""
|
|
}));
|
|
},
|
|
fail(res){
|
|
moduleHelper.send('ReadFileCallback',JSON.stringify({
|
|
callbackId,
|
|
errMsg:res.errMsg,
|
|
errCode : 1
|
|
}));
|
|
}
|
|
});
|
|
},
|
|
WXReadFileSync(filePath,encoding){
|
|
const fs = wx.getFileSystemManager();
|
|
try{
|
|
const res = fs.readFileSync(filePath, encoding);
|
|
if(!encoding){
|
|
tempCacheObj[filePath] = res;
|
|
return res.byteLength;
|
|
}else{
|
|
return res;
|
|
}
|
|
}catch (e){
|
|
console.error(e);
|
|
return "";
|
|
}
|
|
},
|
|
WXShareFileBuffer(buffer,offset,callbackId){
|
|
buffer.set(new Uint8Array(tempCacheObj[callbackId]),offset);
|
|
delete tempCacheObj[callbackId];
|
|
},
|
|
WXMkdir(dirPath,recursive,s,f,c){
|
|
const fs = wx.getFileSystemManager();
|
|
fs.mkdir({
|
|
dirPath,
|
|
recursive:Boolean(recursive),
|
|
...response.handleText(s,f,c)
|
|
});
|
|
},
|
|
WXMkdirSync(dirPath,recursive){
|
|
try{
|
|
const fs = wx.getFileSystemManager();
|
|
fs.mkdirSync(dirPath,Boolean(recursive));
|
|
return "mkdir:ok";
|
|
}catch (e) {
|
|
return e.message;
|
|
}
|
|
}
|
|
}
|