/**
 * @description 获取文件目录 doc私有文档目录 www私有资源目录  public公有文档目录 dom公共下载目录
 * @param {string} type doc私有文档目录 www私有资源目录  public公有文档目录 dom公共下载目录
 */
export function getFileIndex(type = 'doc') {
	let fileType = ''
	if (type == 'doc') {
		fileType = plus.io.PRIVATE_DOC;
	}
	if (type == 'www') {
		fileType = plus.io.PRIVATE_WWW;
	}
	if (type == 'public') {
		fileType = plus.io.PUBLIC_DOCUMENTS;
	}
	if (type == 'dom') {
		fileType = plus.io.PUBLIC_DOWNLOADS;
	}
	return new Promise((ok, err) => {
		plus.io.requestFileSystem(fileType, function(fs) {
			ok(fs)
		}, (e) => {
			err(e)
		});
	})

}
/**
 * @description = 创建或打开文件
 * @param {Object} fs //文件目录对象
 * @param {string} fileName //要创建打开的文件名称
 */
export function getFile(fs, fileName) {
	return new Promise((ok, err) => {
		// fs.root是根目录操作对象DirectoryEntry
		fs.root.getFile(fileName, {
			create: true
		}, function(fileEntry) {
			console.log('文件获取成功');
			ok(fileEntry)
		}, (e) => {
			err(e)
		});
	})
}
/**
 * @description  写入文件内容
 * @param {Object} fileEntry //文件对象
 * @param {string} content //文件对象
 */
export function writerTxt(fileEntry, content) {
	return new Promise((ok, err) => {
		// 创建文件写入对象
		fileEntry.createWriter((writer) => {
			writer.write(content)
			// 写入成功
			writer.onwrite((e) => {
				ok(e)
			})
			// 写入失败
			writer.onerror((e) => {
				err(e)
			})
		}, (e) => {
			err(e.message)
		})
	})
}

/**
 *獲取文件对象
 * @description 获取文件操作对象
 * @param {Object} fs //文件目录对象
 * @param {Object} fileName //要创建打开的文件名称
 */
export function getFileText(fs, fileName) {
	return new Promise((ok, err) => {
		getFile(fs, fileName).then((fileEntry) => {
			fileEntry.file(function(file) {
				var fileReader = new plus.io.FileReader();
				fileReader.readAsText(file, 'utf-8');
				// 文件读取成功
				fileReader.onloadend = function(evt) {
					// 获取文件内容信息在evt.target.result
					ok(evt)
				};
				// 文件读取失败
				fileReader.onerror((e) => {
					err(e)
				})
			}, (e) => {
				err(e)
			});

		}).catch((e) => {
			err(e)
		})
	})
}
