前置条件
前言
SRA社区版是一个Python作为后端,Tauri(Rust+Vue)作为前端的自动化工具,旨在帮助玩家在崩坏星穹铁道游戏中实现自动化操作。
SRA的开发文档旨在为开发者提供详细的指导,帮助了解SRA的基本概念、API使用方法。通过阅读文档,开发者可以快速上手SRA,并根据自己的需求进行定制化开发。
本教程大多偏向于SRA-cli。
感谢您在百忙之中阅读SRA开发文档。这个文档将向你展示从Python基础开始的SRA开发。如果你已经有相关基础,可以跳过学习部分,直接开始研究SRA API。
环境
在开始开发前,确保你拥有:
Windows 10 及以上版本(64位)
IDE(PyCharm作为推荐,Visual Studio Code、Zed作为可选。不过你也可以使用其他顺手的IDE)或Vim/Nano文本编辑器(不推荐)
Python(官方推荐使用3.11.5,不建议使用3.13或更高版本)
Rust(无限制)
StarRailAssistant 社区版 - 编程语言学习路线
基于项目实际代码结构和技术栈的详细学习指南。
📘 Python 学习路线
第一阶段:Python 基础(1-2 周)
学习目标:掌握 Python 基本语法和编程思想
核心内容:
变量与数据类型
- 基本类型:
int、str、float、bool - 容器类型:
list、tuple、dict、set - 类型转换和检查
- 项目应用:配置文件中的参数存储
- 基本类型:
控制流
if/elif/else条件语句for和while循环break、continue、pass- 项目应用:任务流程控制(见
task_thread.py)
函数
- 函数定义和调用
- 参数传递(位置参数、关键字参数、默认参数)
- 返回值和多返回值
*args和**kwargs- 项目应用:
notify.py中的send_windows_notification()函数
异常处理
try/except/finally块- 自定义异常
- 项目应用:邮件发送失败处理(
notify.py中的send_mail())
实践项目:
- 编写简单的配置读取脚本
- 实现基础的日志输出系统
第二阶段:面向对象编程(2-3 周)
学习目标:理解类、对象和继承的概念
核心内容:
类和对象
- 类定义和实例化
- 属性和方法
__init__构造函数self参数的含义- 项目应用:
Summary类(notify.py)
继承和多态
- 单继承和多继承
- 方法重写
super()函数- 项目应用:
BaseTask基类(所有任务继承)
特殊方法
__str__和__repr____len__、__getitem__- 项目应用:
Summary.__str__()方法
类变量和实例变量
- 区别和使用场景
- 项目应用:
TaskManager中的running_flag
实践项目:
- 创建任务基类和具体任务类
- 实现配置管理类
第三阶段:模块和包(1-2 周)
学习目标:组织代码结构,理解模块化开发
核心内容:
模块导入
import和from...import- 模块搜索路径
__name__ == '__main__'- 项目应用:
main.py中的导入结构
包结构
__init__.py的作用- 包的初始化
- 相对导入和绝对导入
- 项目应用:
SRACore/包结构
动态导入
importlib模块- 项目应用:
task_thread.py中的importlib.import_module()
实践项目:
- 重构代码为模块化结构
- 实现动态任务加载系统
第四阶段:文件 I/O 和配置管理(1-2 周)
学习目标:处理文件和配置数据
核心内容:
文件操作
- 打开、读取、写入、关闭文件
- 上下文管理器
with语句 - 文件模式(
r、w、a、b) - 项目应用:读取配置文件
数据格式处理
- JSON:
json.load()和json.dump() - TOML:
tomllib.load()(Python 3.11+) - 项目应用:
task_thread.py中的tomllib.load(f)
- JSON:
配置文件管理
- 配置的读取和保存
- 默认配置的处理
- 项目应用:
SRACore/config.toml
实践项目:
- 实现配置文件的读写系统
- 支持多种格式的配置文件
第五阶段:多线程编程(2-3 周)
学习目标:实现并发任务执行
核心内容:
线程基础
threading模块Thread类的创建和启动- 线程的生命周期
- 项目应用:后台任务执行
线程同步
Lock互斥锁Event事件Condition条件变量Semaphore信号量- 项目应用:任务状态管理
线程安全
- 共享资源的保护
- 竞态条件
- 死锁的避免
- 项目应用:
TaskManager的running_flag
线程通信
- 队列
Queue - 管道
Pipe - 项目应用:任务间的消息传递
- 队列
实践项目:
- 实现多任务并发执行
- 实现任务的暂停和恢复
第六阶段:日志和调试(1 周)
学习目标:实现专业的日志系统
核心内容:
标准日志模块
logging模块基础- 日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)
- 日志格式化
第三方日志库
loguru库(项目使用)- 装饰器和上下文管理
- 日志文件轮转
- 项目应用:
SRACore/util/logger.py
调试技巧
pdb调试器- 打印调试
- 日志级别的合理使用
实践项目:
- 集成
loguru到项目 - 实现结构化日志记录
第七阶段:系统交互和自动化(2-3 周)
学习目标:实现游戏自动化的核心功能
核心内容:
进程管理
subprocess模块- 进程的启动、通信、终止
- 项目应用:启动游戏进程
系统信息获取
psutil库(项目使用)- CPU、内存、进程信息
- 项目应用:监控系统资源
键盘和鼠标控制
pyautogui库(项目使用)- 鼠标移动和点击
- 键盘输入
- 项目应用:游戏操作自动化
屏幕截图
pyscreeze库(项目使用)- 截图和图像定位
- 项目应用:游戏状态识别
窗口管理
pygetwindow库(项目使用)- 获取窗口信息
- 窗口激活和操作
- 项目应用:游戏窗口控制
实践项目:
- 实现游戏启动自动化
- 实现简单的图像识别和点击
第八阶段:图像处理和识别(2-3 周)
学习目标:实现游戏画面识别
核心内容:
OpenCV 基础
- 图像读取和显示
- 图像的基本操作(裁剪、缩放、旋转)
- 项目应用:游戏画面处理
图像识别
- 模板匹配
- 特征检测
- 颜色识别
- 项目应用:识别游戏UI元素
OCR 文字识别
rapidocr-onnxruntime库(项目使用)- 文字检测和识别
- 项目应用:识别游戏中的文字
图像处理库
PIL/Pillow库(项目使用)- 图像格式转换
- 项目应用:图像预处理
实践项目:
- 实现游戏UI识别
- 实现文字识别功能
第九阶段:网络通信和加密(1-2 周)
学习目标:实现网络通信和数据安全
核心内容:
邮件发送
smtplib模块email模块- 项目应用:
notify.py中的邮件通知
加密解密
- 对称加密(AES)
- 非对称加密(RSA)
- 哈希函数
- 项目应用:密码加密存储
HTTP 请求
requests库- GET 和 POST 请求
- 项目应用:版本检查和更新
实践项目:
- 实现邮件通知系统
- 实现密码加密存储
第十阶段:任务调度和通知(1-2 周)
学习目标:实现定时任务和系统通知
核心内容:
任务调度
schedule库(项目使用)- 定时任务
- 项目应用:定时执行游戏任务
系统通知
plyer库(项目使用)- Windows 通知
- 项目应用:任务完成通知
事件驱动
- 事件循环
- 回调函数
- 项目应用:任务事件处理
实践项目:
- 实现定时任务系统
- 实现多种通知方式
第十一阶段:国际化和本地化(1 周)
学习目标:支持多语言
核心内容:
i18n 实现
- 字符串提取
- 翻译文件管理
- 项目应用:
SRACore/i18n/模块
多语言支持
- 语言切换
- 区域设置
- 项目应用:中英文支持
实践项目:
- 实现国际化框架
- 添加新语言支持
第十二阶段:打包和发布(1 周)
学习目标:将 Python 代码打包为可执行文件
核心内容:
Nuitka 打包
nuitka库(项目使用)- 编译 Python 为二进制
- 项目应用:
package.py脚本
依赖管理
requirements.txt- 虚拟环境
- 项目应用:项目依赖管理
版本管理
- 版本号规范
- 更新日志
- 项目应用:
version.json
实践项目:
- 打包 Python 项目为 EXE
- 实现自动更新机制
项目实践:完整的自动化任务
综合应用所有知识:
- 创建任务配置系统
- 实现多任务并发执行
- 添加日志和错误处理
- 实现邮件和系统通知
- 打包为可执行文件
🦀 Rust 学习路线
第一阶段:Rust 基础语法(2-3 周)
学习目标:理解 Rust 的核心概念和语法
核心内容:
变量和绑定
- 变量声明和赋值
- 可变性(
mut) - 常量和静态变量
- 项目应用:
src-tauri/src/types.rs中的类型定义
基本数据类型
- 整数、浮点数、布尔值、字符
- 字符串(
String和&str) - 数组和向量
- 元组和结构体
- 项目应用:配置数据结构
所有权系统(Rust 的核心)
- 所有权规则
- 移动语义
- 克隆和复制
- 项目应用:进程管理中的资源所有权
借用和引用
- 不可变引用
&T - 可变引用
&mut T - 借用规则
- 项目应用:函数参数传递
- 不可变引用
模式匹配
match表达式if let和while let- 解构
- 项目应用:错误处理
实践项目:
- 实现简单的配置结构体
- 练习所有权和借用
第二阶段:错误处理和类型系统(2 周)
学习目标:掌握 Rust 的错误处理和类型系统
核心内容:
Result 和 Option
Result<T, E>类型Option<T>类型?操作符- 项目应用:
process.rs中的错误处理
自定义错误类型
- 实现
Errortrait - 错误转换
- 项目应用:自定义错误类型
- 实现
泛型
- 泛型函数
- 泛型结构体
- 泛型 trait
- 项目应用:通用的配置管理
Trait
- Trait 定义和实现
- Trait 对象
- 项目应用:
Emittertrait 的使用
实践项目:
- 实现自定义错误类型
- 创建通用的结果处理函数
第三阶段:生命周期和内存管理(2 周)
学习目标:理解 Rust 的内存管理机制
核心内容:
生命周期
- 生命周期注解
- 生命周期省略规则
- 项目应用:函数参数和返回值
智能指针
Box<T>- 堆分配Rc<T>- 引用计数Arc<T>- 原子引用计数Mutex<T>- 互斥锁- 项目应用:
SRA_PROCESS: Mutex<Option<SraProcess>>
内存安全
- 栈和堆
- 内存泄漏的避免
- 项目应用:进程资源管理
实践项目:
- 实现线程安全的全局状态
- 使用
Arc<Mutex<T>>管理共享资源
第四阶段:并发编程(2-3 周)
学习目标:实现并发和异步编程
核心内容:
线程
std::thread模块- 线程创建和管理
- 线程间通信
- 项目应用:后台进程管理
异步编程
async/await语法Futuretrait- 项目应用:
tokio异步运行时
Tokio 运行时
- 异步任务
- 通道(
mpsc、broadcast) - 定时器
- 项目应用:
Cargo.toml中的tokio依赖
同步原语
Mutex互斥锁RwLock读写锁Semaphore信号量- 项目应用:进程状态管理
实践项目:
- 实现异步进程管理
- 实现线程间的消息传递
第五阶段:Tauri 框架基础(2-3 周)
学习目标:理解 Tauri 框架的核心概念
核心内容:
Tauri 应用结构
- 应用初始化
- 窗口管理
- 项目应用:
src-tauri/src/lib.rs中的run()函数
命令系统
#[tauri::command]宏- 命令处理
- 参数序列化
- 项目应用:
commands.rs中的所有命令
事件系统
- 事件发送
- 事件监听
- 项目应用:
app_handle.emit("console-output", ...)
插件系统
- 官方插件
- 项目应用:
tauri-plugin-opener、tauri-plugin-dialog、tauri-plugin-fs
配置文件
tauri.conf.json- 应用配置
- 项目应用:
src-tauri/tauri.conf.json
实践项目:
- 创建简单的 Tauri 应用
- 实现前后端通信
第六阶段:Tauri 命令和 IPC(2 周)
学习目标:实现前后端通信
核心内容:
命令定义
- 参数类型
- 返回类型
- 错误处理
- 项目应用:
commands.rs中的命令定义
序列化和反序列化
serde库serde_json- 自定义序列化
- 项目应用:配置数据的序列化
异步命令
- 异步命令处理
- 长时间运行的操作
- 项目应用:进程启动和管理
状态管理
- 应用状态
- 状态共享
- 项目应用:全局进程状态
实践项目:
- 实现配置管理命令
- 实现进程控制命令
第七阶段:进程管理和系统交互(2-3 周)
学习目标:实现系统级操作
核心内容:
进程管理
std::process::Command- 进程启动和通信
- 标准输入输出
- 项目应用:
process.rs中的进程管理
管道和通信
- 标准输入(stdin)
- 标准输出(stdout)
- 标准错误(stderr)
- 项目应用:与 Python 进程的通信
文件系统操作
- 文件读写
- 目录操作
- 路径处理
- 项目应用:配置文件管理
Windows API
windowscrate- 系统调用
- 项目应用:
Cargo.toml中的 Windows 特定依赖
实践项目:
- 实现进程启动和监控
- 实现进程间通信
第八阶段:HTTP 和网络编程(1-2 周)
学习目标:实现网络通信
核心内容:
HTTP 客户端
reqwest库(项目使用)- GET 和 POST 请求
- 异步请求
- 项目应用:版本检查和更新
JSON 处理
serde_json- 序列化和反序列化
- 项目应用:配置和公告数据
错误处理
- 网络错误
- 超时处理
- 项目应用:网络请求的容错
实践项目:
- 实现版本检查功能
- 实现公告获取功能
第九阶段:日期时间和正则表达式(1 周)
学习目标:处理日期和文本
核心内容:
日期时间
chrono库(项目使用)- 时间戳
- 时间格式化
- 项目应用:日志时间戳
正则表达式
regex库(项目使用)- 模式匹配
- 文本提取
- 项目应用:日志解析
字符串处理
- 字符串操作
- 编码转换
- 项目应用:配置文件解析
实践项目:
- 实现日志时间戳
- 实现文本解析功能
第十阶段:加密和编码(1-2 周)
学习目标:实现数据安全
核心内容:
Base64 编码
base64库(项目使用)- 编码和解码
- 项目应用:数据传输
加密算法
- 对称加密
- 非对称加密
- 项目应用:密码加密
哈希函数
- 数据完整性验证
- 项目应用:文件校验
实践项目:
- 实现数据加密存储
- 实现文件完整性验证
第十一阶段:文件压缩和打包(1 周)
学习目标:处理压缩文件
核心内容:
ZIP 文件处理
zip库(项目使用)- 创建和提取 ZIP
- 项目应用:资源打包
文件操作
- 文件读写
- 目录遍历
- 项目应用:资源管理
实践项目:
- 实现资源打包功能
- 实现资源提取功能
第十二阶段:日志和调试(1 周)
学习目标:实现日志系统
核心内容:
日志库
- 日志级别
- 日志格式化
- 项目应用:
logger.rs模块
调试技巧
println!宏dbg!宏- 调试器
- 项目应用:开发调试
实践项目:
- 实现结构化日志
- 实现日志文件管理
第十三阶段:高级特性和优化(2-3 周)
学习目标:掌握 Rust 的高级特性
核心内容:
宏系统
- 声明宏
- 过程宏
- 项目应用:
#[tauri::command]宏
不安全代码
unsafe块- FFI(外部函数接口)
- 项目应用:Windows API 调用
性能优化
- 编译优化
- 内存优化
- 项目应用:发布构建
测试
- 单元测试
- 集成测试
- 项目应用:代码质量保证
实践项目:
- 实现自定义宏
- 优化性能关键代码
项目实践:完整的 Tauri 应用
综合应用所有知识:
- 创建 Tauri 应用框架
- 实现前后端通信
- 实现进程管理
- 实现配置管理
- 实现日志系统
- 添加错误处理
- 优化性能
🖖 Vue 3 学习路线
第一阶段:Vue 3 基础概念(1-2 周)
学习目标:理解 Vue 3 的核心概念
核心内容:
Vue 3 简介
- Vue 3 vs Vue 2 的区别
- 组合式 API vs 选项式 API
- 项目应用:项目使用组合式 API
模板语法
- 插值表达式
- 指令
v-if、v-for、v-bind、v-on - 项目应用:
Main.vue中的模板
- 插值表达式
响应式数据
ref()函数reactive()函数- 响应式原理
- 项目应用:组件状态管理
计算属性和侦听器
computed()函数watch()函数- 项目应用:动态计算和监听
事件处理
- 事件绑定
@click - 事件修饰符
- 项目应用:按钮点击处理
- 事件绑定
实践项目:
- 创建简单的计数器应用
- 实现表单输入和验证
第二阶段:组件基础(2 周)
学习目标:掌握 Vue 组件的创建和使用
核心内容:
组件定义
- 单文件组件(
.vue文件) - 组件结构(
<template>、<script>、<style>) - 项目应用:
Main.vue、VersionUpdateWindow.vue
- 单文件组件(
Props 和 Emits
- Props 定义和验证
- 事件发送(Emits)
- 项目应用:父子组件通信
插槽(Slots)
- 默认插槽
- 具名插槽
- 作用域插槽
- 项目应用:可复用组件设计
组件通信
- 父传子(Props)
- 子传父(Emits)
- 兄弟组件通信
- 项目应用:组件间数据流
组件生命周期
onMountedonUpdatedonUnmounted- 项目应用:组件初始化和清理
实践项目:
- 创建可复用的按钮组件
- 实现父子组件通信
- 创建带插槽的容器组件
第三阶段:组合式 API(2-3 周)
学习目标:掌握 Vue 3 的组合式 API
核心内容:
setup 函数
setup()函数的作用- 返回值
- 项目应用:组件逻辑组织
响应式 API
ref()和reactive()toRef()和toRefs()isRef()和unref()- 项目应用:状态管理
计算属性
computed()的使用- 可写计算属性
- 项目应用:派生状态
侦听器
watch()函数watchEffect()函数- 项目应用:副作用处理
生命周期钩子
- 所有生命周期函数
- 钩子的执行顺序
- 项目应用:组件生命周期管理
依赖注入
provide()和inject()- 项目应用:跨层级组件通信
实践项目:
- 重构组件使用组合式 API
- 实现自定义 Hooks
- 实现跨层级数据共享
第四阶段:TypeScript 集成(2 周)
学习目标:在 Vue 中使用 TypeScript
核心内容:
TypeScript 基础
- 类型注解
- 接口和类型别名
- 泛型
- 项目应用:
src/locales/zh-CN.ts
Vue 中的 TypeScript
- 组件类型定义
- Props 类型
- Emits 类型
- 项目应用:类型安全的组件
类型推断
- 自动类型推断
- 显式类型注解
- 项目应用:代码可读性
常见类型模式
- 联合类型
- 交叉类型
- 条件类型
- 项目应用:复杂类型定义
实践项目:
- 为组件添加类型定义
- 创建类型安全的 API 接口
- 实现类型安全的状态管理
第五阶段:Vue Router 路由(2 周)
学习目标:实现应用路由
核心内容:
路由基础
- 路由定义
- 路由匹配
- 项目应用:
src/router/模块
导航
- 声明式导航(
<router-link>) - 编程式导航(
router.push()) - 项目应用:
Main.vue中的导航
- 声明式导航(
路由参数
- 动态路由
- 查询参数
- 项目应用:传递数据
导航守卫
- 全局守卫
- 路由守卫
- 组件守卫
- 项目应用:权限控制
懒加载
- 路由级别的代码分割
- 项目应用:性能优化
嵌套路由
- 子路由
- 项目应用:复杂的页面结构
实践项目:
- 创建多页面应用
- 实现路由参数传递
- 实现导航守卫
第六阶段:国际化(i18n)(1-2 周)
学习目标:实现多语言支持
核心内容:
i18n 库
vue-i18n库- 安装和配置
- 项目应用:项目的多语言支持
翻译文件
- 翻译文件结构
- 语言包管理
- 项目应用:
src/locales/目录
翻译函数
$t()函数- 参数化翻译
- 项目应用:动态翻译
语言切换
- 语言切换逻辑
- 持久化语言选择
- 项目应用:用户偏好设置
实践项目:
- 实现多语言支持
- 创建语言切换功能
- 添加新语言
第七阶段:Tauri 集成(2-3 周)
学习目标:在 Vue 中使用 Tauri API
核心内容:
Tauri API 基础
@tauri-apps/api库- 命令调用
- 项目应用:调用 Rust 命令
命令调用
invoke()函数- 参数传递
- 错误处理
- 项目应用:
Main.vue中的命令调用
事件系统
- 事件监听
- 事件发送
- 项目应用:实时通信
文件系统
- 文件读写
- 目录操作
- 项目应用:配置文件管理
对话框
- 文件选择
- 消息框
- 项目应用:用户交互
窗口管理
- 窗口操作
- 项目应用:应用窗口控制
实践项目:
- 实现前后端通信
- 实现文件选择功能
- 实现实时日志显示
第八阶段:状态管理(1-2 周)
学习目标:实现应用级状态管理
核心内容:
状态管理概念
- 为什么需要状态管理
- 状态管理的模式
- 项目应用:应用全局状态
Pinia(推荐)
- Store 定义
- State、Getters、Actions
- 项目应用:如果需要可集成
简单的状态管理
- 使用
provide/inject - 使用
reactive() - 项目应用:当前项目的状态管理
- 使用
状态持久化
- 本地存储
- 项目应用:用户设置保存
实践项目:
- 实现应用全局状态
- 实现状态持久化
- 实现状态同步
第九阶段:UI 组件和样式(2 周)
学习目标:创建美观的用户界面
核心内容:
CSS 基础
- CSS 选择器
- 盒模型
- Flexbox 和 Grid
- 项目应用:样式设计
Vue 中的样式
- 内联样式
- 类绑定
- 作用域样式
- 项目应用:
<style scoped>
UI 组件库
lucide-vue-next图标库(项目使用)- 其他 UI 库
- 项目应用:图标使用
响应式设计
- 媒体查询
- 移动优先
- 项目应用:适配不同屏幕
动画和过渡
<Transition>组件- CSS 动画
- 项目应用:用户体验
实践项目:
- 创建响应式布局
- 实现组件样式
- 添加动画效果
第十阶段:高级组件(2 周)
学习目标:创建复杂的可复用组件
核心内容:
拖拽功能
vuedraggable库(项目使用)- 拖拽事件
- 项目应用:任务排序
Markdown 渲染
vue3-markdown-it库(项目使用)- 渲染 Markdown
- 项目应用:公告显示
虚拟滚动
- 大列表优化
- 项目应用:性能优化
表单处理
- 表单验证
- 表单提交
- 项目应用:配置表单
模态框和通知
- 模态框组件
- 通知系统
- 项目应用:
NotificationSystem组件
实践项目:
- 实现拖拽排序功能
- 实现 Markdown 渲染
- 创建通知系统
第十一阶段:性能优化(1-2 周)
学习目标:优化应用性能
核心内容:
代码分割
- 路由级别分割
- 组件级别分割
- 项目应用:加快初始加载
懒加载
- 图片懒加载
- 组件懒加载
- 项目应用:性能提升
缓存策略
- 组件缓存(
<KeepAlive>) - 项目应用:
Main.vue中的<keep-alive>
- 组件缓存(
性能监测
- 性能指标
- 调试工具
- 项目应用:性能分析
构建优化
- Vite 配置
- 项目应用:
vite.config.ts
实践项目:
- 实现路由懒加载
- 优化组件性能
- 分析和改进性能指标
第十二阶段:测试(1-2 周)
学习目标:编写测试代码
核心内容:
单元测试
Vitest框架- 测试用例编写
- 项目应用:组件测试
组件测试
@vue/test-utils- 组件挂载和交互
- 项目应用:测试 Vue 组件
E2E 测试
Playwright或Cypress- 端到端测试
- 项目应用:集成测试
测试覆盖率
- 覆盖率报告
- 项目应用:代码质量
实践项目:
- 编写组件单元测试
- 编写 E2E 测试
- 提高测试覆盖率
第十三阶段:项目实战(2-3 周)
学习目标:综合应用所有知识
核心内容:
项目架构
- 目录结构
- 模块划分
- 项目应用:
src/目录结构
最佳实践
- 代码规范
- 命名约定
- 项目应用:项目代码风格
开发工作流
- 开发环境设置
- 构建和部署
- 项目应用:
package.json脚本
调试和问题排查
- Vue DevTools
- 浏览器调试
- 项目应用:开发调试
实践项目:
完整的页面开发
- 创建新页面
- 实现所有功能
- 添加样式和动画
- 编写测试
功能模块开发
- 配置管理页面
- 任务管理页面
- 设置页面
性能优化
- 分析性能瓶颈
- 实施优化方案
- 验证效果
🎯 学习建议和资源
学习顺序建议
推荐路径:
第 1-2 周:Vue 3 基础 + 组件基础
- 快速看到可视化结果,增强学习动力
- 理解 Vue 的核心概念
第 3-4 周:组合式 API + TypeScript
- 掌握现代 Vue 开发方式
- 提高代码质量
第 5-6 周:Vue Router + 国际化
- 实现完整的应用结构
- 支持多语言
第 7-8 周:Tauri 集成 + 状态管理
- 实现前后端通信
- 管理应用状态
第 9-13 周:UI 优化、性能、测试、实战
- 打磨应用细节
- 提高代码质量
并行学习建议
如果时间充足,可以并行学习:
- Vue 3 基础 + Python 基础(第 1-2 周)
- Vue 3 进阶 + Python 中级(第 3-4 周)
- Vue 3 + Tauri + Rust 基础(第 5-8 周)
- 完整项目开发(第 9+ 周)
学习资源
官方文档:
- Vue 3:https://vuejs.org/
- Tauri:https://tauri.app/
- Python:https://docs.python.org/3/
- Rust:https://www.rust-lang.org/
项目参考:
- 查看
src/views/Main.vue学习组件结构 - 查看
src/locales/学习国际化 - 查看
src-tauri/src/commands.rs学习 Tauri 命令 - 查看
SRA-CE-cil/SRACore/学习 Python 项目结构
实践建议:
- 从修改现有组件开始
- 逐步添加新功能
- 参考项目代码学习最佳实践
- 定期重构和优化代码
📊 学习时间估计
| 语言 | 基础阶段 | 中级阶段 | 项目相关 | 进阶阶段 | 总计 |
|---|---|---|---|---|---|
| Python | 2-3 周 | 4-5 周 | 4-5 周 | 2-3 周 | 12-16 周 |
| Rust | 2-3 周 | 4-5 周 | 4-5 周 | 2-3 周 | 12-16 周 |
| Vue 3 | 3-4 周 | 4-5 周 | 3-4 周 | 2-3 周 | 12-16 周 |
总体时间:
- 专注学习一门语言:3-4 个月
- 学习两门语言:4-6 个月
- 学习三门语言:6-9 个月
- 完整项目开发:9-12 个月
🚀 快速开始建议
如果你想快速上手项目
第 1 周:
- 学习 Vue 3 基础和组件
- 修改现有 Vue 组件
- 理解项目结构
第 2-3 周:
- 学习 Tauri 集成
- 实现简单的前后端通信
- 添加新功能
第 4-6 周:
- 学习 Python 自动化
- 理解游戏自动化逻辑
- 优化现有功能
第 7+ 周:
- 学习 Rust 进阶
- 优化系统级操作
- 完整项目开发
如果你想深入学习语言
选择一门语言深入学习:
- 完成该语言的所有阶段
- 在项目中应用所学知识
- 参与项目开发和优化
- 然后学习其他语言