@icanvas/apis
Version:
这是icanvas的Api功能包
54 lines (53 loc) • 1.18 kB
JavaScript
let FileManager = {
basePath: '', //一个临时参数,打包模式为wxgame时表示基础用户文件路径
};
/**
* 打包模式为wxgame时
* 映射所有FileSystemManager接口
* 同时将异步接口转为Promise输出
*/
if (ENV.core == 'wxgame') {
if (typeof wx.getFileSystemManager == 'function') {
FileManager.basePath = wx.env.USER_DATA_PATH + '/';
let Manager = wx.getFileSystemManager();
[
'access',
'appendFile',
'saveFile',
'getSavedFileList',
'removeSavedFile',
'copyFile',
'getFileInfo',
'mkdir',
'readFile',
'readdir',
'rename',
'rmdir',
'stat',
'unlink',
'unzip',
'writeFile',
].forEach(api => {
FileManager[api] = (args, key) => {
return new Promise((success, fail) => {
return Manager[api](Object.assign({ success, fail }, key ? { [key]: args } : args));
});
};
});
[
'accessSync',
'appendFileSync',
'saveFileSync',
'copyFileSync',
'mkdirSync',
'readFileSync',
'readdirSync',
'renameSync',
'rmdirSync',
'statSync',
'unlinkSync',
'writeFileSync',
].forEach(api => (FileManager[api] = Manager[api]));
}
}
export default FileManager;