# 文件操作

方法说明中并非所有的方法都会写在文档中,具体请前往相关文件查看代码逻辑。

# 文件位置

TIP

文件位于 src\modules\file\file.render.js

# 在WEB端调用

在 WEB 端中引用方式:

const File = ZxDesktop.require("File");
File.对应方法();

# 方法说明

# open(path)

使用电脑的文件管理器打开文件

  • path 路径

# openFolder(path)

使用电脑的文件管理器打开文件夹

  • path 路径

# exist(savePath)

创建文件

  • savePath 路径

# getSystem({ callback })

获取系统配置uc.cfg,如果没有或者系统配置文件读取失败容错重新创建

  • callback 回调

# setSettings({ data, callback })

进行系统配置uc.cfg,如果没有或者系统配置文件读取失败容错重新创建

  • data 配置数据
  • callback 回调

# getPath(params)

获取致信文件夹路径

  • paramsZhiXin 字符串返回致信文件夹,目前只有这一个文件夹

# getFolderInfo(dirPath, option, callback)

获取文件夹信息

  • dirPath 文件夹路径
  • option 扫描选项 maxNum:最大个数 maxSize:最大大小
  • callback 遍历完成后回调

# selectFolder(callback)

选择文件夹

  • callback 回调,返回选择的文件夹路径

# selectFolder(callback)

选择文件夹

  • callback 回调,返回选择的文件夹路径

# addFolder(params, callback)

创建文件夹

  • params 文件夹路径
  • callback 回调

# removeFolder(path, callback)

移除文件夹

  • path 文件夹路径
  • callback 回调

# removeFile(path, callback)

移除文件

  • path 路径
  • callback 回调

# tarFile(options, files, callback)

打包文件夹或者文件

  • options { gzip: <true|gzip options>, 是否压缩 file: 'my-tarball.tgz' 创建的压缩文件名 },
  • files ['一些', '文件', '或者', '文件夹']
  • callback 回调

# untarFile(options, callback)

解压文件

  • options { file: '解压的文件.tgz', cwd: '解压路径' }
  • callback 回调

# pathResolve(...paths)

路径拼接

  • paths 见 path.resolve([...paths]) 方法

# pathParse(paths)

路径解析

  • paths 见 path.parse(paths)

# saveFolder

下载文件夹到默认路径

Download.saveFolder,在下载文件的基础上新添加的方法

# saveFolderAs

下载文件夹到指定路径

Download.saveFolderAs,,在下载文件另存为的基础上新添加的方法

# addFileNameIncrement(filePath, callback)

文件重名处理,比如文件 文件(1) 文件(2)

  • filePath 文件路径
  • callback 回调,返回重命名后的文件路径

# getSavePathByUserId(id)

获取用户设置的下载路径

  • id 当前的用户 id

# fileIsExist(path, callback)

判断文件是否存在

  • path 路径
  • callback 如果返回是否存在的回调

# readZxFile(name, callback)

读取致信文件

  • name 需要返回的文件
    • SETTING_CFG => setting.cfg
    • LOGIN_CFG => uc.cfg
    • GROUP_NOTICE_CFG => setting.cfg
    • SETTING_CFG => groupSetting.cfg
    • GROUP_FILE_CFG => groupFile.cfg
  • callback 返回的文件信息

# readZxFileSync(name)

读取致信文件

  • name 需要返回的文件
    • SETTING_CFG => setting.cfg
    • LOGIN_CFG => uc.cfg
    • GROUP_NOTICE_CFG => setting.cfg
    • SETTING_CFG => groupSetting.cfg
    • GROUP_FILE_CFG => groupFile.cfg

# log

日志功能

# WEB 端使用方法

const File = ZxDesktop.require("File");
File.log.debug("需要添加的日志");

日志文件路径:

目前处于 %appdata%/ZhiXin/logs 文件夹,分为 main.log render.log

# logger

新版本的日志功能,可自定义日志名,日志路径

# WEB 端使用方法

下面的方法可以作为参考

const App = ZxDesktop.require("App");
const File = ZxDesktop.require("File");
// 这样做是WEB端可能会在不通的地方,定义不同的日志
let DEFINE_LOG = {}
let logdata = {};
let { name = "自定义的日志名" + ".log", path = "" } = logdata;

// 日志路径,这儿只做参考
let logPath = File.path.resolve(
  App.PATH,
  "ZhiXin",
  "Logs",
  "自定义的日志文件夹名",
  path,
  name
);

// 日志路径回调
function resolvePath(variables) {
  return logPath;
}

// 检测有没有定义过路径,没有就定义,有就直接调用日志方法写日志
if (logPath in DEFINE_LOG) {
  return DEFINE_LOG[logPath].log;
} else {
  DEFINE_LOG[logPath] = File.logger.create("anotherInstance");
  DEFINE_LOG[logPath].transports.file.resolvePath = resolvePath;
  return DEFINE_LOG[logPath].log;
}