mirror of
https://github.com/lifegpc/garbro-rs.git
synced 2026-06-06 05:28:46 +08:00
1.5 KiB
1.5 KiB
项目架构
使用 tauri 作为 GUI 框架,前端使用TypeScript语言,UI使用React框架,使用组件库开发比较好看的UI(例如shadcn/ui、Ant Design等)。 包管理工具使用 yarn。 使用msg_tool作为GalGame游戏资源的解析库,注意msg_tool目前无法在wasm上工作(依赖std::io),所以必须在本地环境中运行,不要在前端中尝试使用。 使用Rust2024。
基础界面设计
左侧一个类似资源管理器一样的列表式结构,用于显示文件夹或者归档中某个文件夹中的内容。 右侧显示选中项的详细信息,或者预览选中项的内容。 对于文本资源,右侧显示文本内容。 对于图片资源,右侧显示图片内容。图片内容要求支持使用鼠标滚轮、触控板、触摸屏等进行缩放,支持拖动进行平移。 对于音频资源,右侧显示一个播放器,可以播放音频内容。 对于左侧列表部分,上面显示一个导航栏,包含前进、后退、上一级以及可编辑的当前路径输入框。 对于归档文件,按文件夹结构显示层级。 使用双击来打开文件夹或者归档,单击来选中项。 启动时默认打开上次关闭时所在的目录(如果上次关闭时是在归档内,则打开该归档所在的目录),如果该目录不存在或者是首次启动,则打开程序所在目录。
归档中的文件路径表达方式 采用 归档文件路径|归档内路径的形式,例如 game.dat|assets/image.png。