本文档为希望为 Game-save-manager 项目做出贡献的开发者提供指南。其中包括有关项目目标、架构和开发流程的信息。
你需要预先安装好以下环境:
- Visual Studio Code(推荐)
- Rust-analyzer
- Tauri
- Vue - Official
- Element Plus Snippets
- i18n Allay
- WebStorm
- RustRover
pnpm i
请参考package.json
来了解指令
pnpm tauri:dev
开发模式,一边预览一边开发pnpm tauri:build
编译打包,输出会存放在src-tauri/target
该软件分为两个主要部分:
- 前端负责用户界面和交互。它使用 TypeScript 和 Vue3 编写
- 使用 Element Plus 组件库
- 使用 pinia 进行状态管理
- 使用 vue-router 作为前端路由
- 使用 vue-i18n 进行国际化
- 后端负责管理游戏存档文件。它使用 Rust 编写
- 使用 opendal 来访问云存储
- 使用 serde 来序列化和反序列化数据
- 使用 thiserror 和 anyhow 进行错误处理
若要为 Game-save-manager 项目做出贡献,你需要:
- 在 GitHub 上 Fork 存储库的
dev
分支 - 将 Fork 的存储库克隆到你的本地计算机
- 为你的更改创建一个新的分支,如
feat/webdav-essentials
- 对代码进行更改,将你的更改提交到你的本地分支
- 将你的更改推送到你在 GitHub 上 Fork 的存储库
- 创建一个 pull request,将你的更改合并到主存储库的
dev
分支中
首先需要安装 devtools,并且正确启动
pnpm add -g @vue/devtools@next
vue-devtools
接下来请在项目根目录下找到index.html
,并且在<head>
标签中添加以下内容
<script src="http://localhost:8098"></script>
暂时没有完善的编码风格文档,如果你能帮助完成这部分文档我将不胜感激,暂时请参考其余部分代码,尽量保持简洁,且留下合适的文档
请按照约定式提交来编写 commit 信息,这样有助于合作以及自动化构建,你可以使用 VSCode 插件 Conventional Commits
来辅助编写你的提交信息
版本号的格式为x.y.z
,其中x
为大版本号,y
为小版本号,z
为修订号。其中x
的变化大概率会导致不兼容的改动,y
的变化可能是重要功能更新,z
的变化只是一些小的改动,一般后两者可以自动升级。
其余开发者没有必要改动版本号,只需要在更新日志中添加自己的更新内容即可。版本号会在合并进主分支时由 Maintainer 进行修改。
- 在
package.json
中更新版本号(pnpm version <patch|minor|major>
) - 在
src/schemas/saveTypes.ts
中更新版本号 - 在
src-tauri/src/config/app_config.rs:impl Default for Config
中更新版本号 - 在
src-tauri/tauri.conf.json
中更新版本号
- doc: 开发文档
- public: 静态文件
- scripts: 用于 Github Action 的脚本
- src: 前端项目的源代码
- assets: 静态资源
- locales: 国际化资源
- schemas: 保存数据的格式
- 其他请参考文件夹名
- src-tauri: 后端项目的根目录
- src: 后端项目的源代码