获取平台信息
js
// platform值为:windows
import { platform } from '@tauri-apps/plugin-os';
选择系统文件夹并获取路径
js
import { open, save } from '@tauri-apps/plugin-dialog';
const selectedPath = await open({
multiple: false,
directory: true,
title: "请选择游戏里的Mods安装目录",
});
// selectedPath为打开的路径
if (selectedPath) {
}
获取应用的配置目录
js
import { appConfigDir, appDataDir, homeDir, join } from '@tauri-apps/api/path';
const appConfigDirPath = await appConfigDir();
// appConfigDir: C:\Users\yaya\AppData\Roaming\com.luckyriko.hellrat
console.log('appConfigDir:', appConfigDirPath);
const appDataDirPath = await appDataDir();
// appDataDir: C:\Users\yaya\AppData\Roaming\com.luckyriko.hellrat
console.log('appDataDir:', appDataDirPath);
const homeDirPath = await homeDir();
// homeDir: C:\Users\yaya
console.log('homeDir:', homeDirPath);
在应用的配置目录下创建文件和目录
js
import { exists, mkdir, create, readTextFile, writeTextFile, BaseDirectory } from '@tauri-apps/plugin-fs';
try {
// 创建文件:不存在配置文件则去创建,并写入json格式的内容
const flag = await exists('config.json', { baseDir: BaseDirectory.AppConfig });
if (!flag) {
const file = await create('config.json', { baseDir: BaseDirectory.AppData });
await file.write(new TextEncoder().encode(JSON.stringify({ aaa: '', bbb: '' })));
await file.close();
}
// 读取json内容
const contents = await readTextFile('config.json', {
baseDir: BaseDirectory.AppConfig,
});
if (contents) {
const config = JSON.parse(contents);
}
// 创建目录:不存在mod目录则去创建
// 使用join拼接目录可以无视平台差异
const appConfigDirPath = await appConfigDir();
let modsDir = await join(appConfigDirPath, 'mods');
const modsDirExists = await exists('mods', {
baseDir: BaseDirectory.AppConfig,
});
if (!modsDirExists) {
await mkdir('mods', { baseDir: BaseDirectory.AppConfig })
}
} catch (error) {
console.error('打印错误:', error);
}
其实还有一种更简单的方法,使用官方插件可以更便捷的创建配置文件和目录 v2.tauri.app/plugin/stor...