# AARC
**Repository Path**: cdware/aarc
## Basic Information
- **Project Name**: AARC
- **Description**: 基于vue3+dotnet的web端线路图绘制工具
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2025-10-26
- **Last Updated**: 2025-10-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
先进型抽象线路图画布
Advanced Abstract Route Canvas
## 使用地址
http://aarc.jowei19.com
## 项目地址
[Gitee(本体)](https://gitee.com/au114514/aarc)
[Github(自动同步镜像)](https://github.com/Aurouscia/aarc)
issue请在gitee提出,github那边一般不看,想参与贡献请查看本文件下面的[贡献代码](#贡献代码)部分
## 主要功能
- 绘制线条角度为45度整数倍的线路图,以及车站、水体、出站换乘、线路列表等内容
- 完全支持在所有类型设备(PC/平板/手机)上进行编辑,可双指或滚轮缩放视角
## Roadmap
见 http://aarc.jowei19.com 的首页
## 架构
- 前端:vue3 + vite + ts
- 后端:aspNetCore
- 双向即时通讯:signalR
- ORM:entityFrameworkCore
- api文档和客户端代码生成:NSwag
## 部署
### 前提条件
1. (必需)后端开发环境(二选一),确保`dotnet sdk 9.0`可用(ide一般会为你安装)
- [Visual Studio](https://visualstudio.microsoft.com/zh-hans/) 尽可能新版+web应用开发负载
- [JetBrains Rider](https://www.jetbrains.com/zh-cn/rider/) 尽可能新版
2. (必需)[node客户端](https://nodejs.org/en) 尽可能新版,并确认命令行中有npm命令可用
3. [git客户端](https://git-scm.com/downloads) 用来下载代码和提交更新
4. [visual studio code](https://code.visualstudio.com/download)(和第一条是两个东西)用来编辑前端代码
5. 一台windows系统的服务器(照理说linux的也行,请自行研究.net网站部署方法)
*TODO:dockerfile,谁需要linux部署可联系作者*
### 步骤
过程中遇到任何问题,请看本文[帮助](#帮助)部分
1. 下载代码文件
- 如果使用git,在命令行中输入`git clone 【本仓库链接】`
2. 进入前端文件夹(`/AARC-Frontend`),按照该目录下的`README.md`文件进行操作,编译前端代码
- 编译完成后,会自动输出到后端的`wwwroot`目录下
3. 双击项目根目录的sln文件,进入vs或rider
4. 在本地的`/Data`目录中生成/更新数据库架构
- vs:顶部栏-工具-Nuget包管理器-包管理器控制台,在控制台中输入`update-database`
- rider:资源管理器-右键AARC项目(注意是项目不是解决方案)-EntityFrameworkCore-更新数据库
5. 修改配置(资源管理器中找到`appsettings.json`)
- 如果需要保存配置到git,直接修改(注意其中“必须修改”的部分)
- 如果不想保存配置到git,可选择新建:
- `appsettings.Development.json`(git忽略、仅本地调试)
- `appsettings.Production.json`(git忽略、仅生产环境)
- `appsettingsLocal.json`(git忽略)
上述四个文件格式完全一样
6. 点击顶部绿色启动按钮启动调试,检查是否正常
7. 停止调试,选择导出位置和方式
- vs:点击顶部栏`生成-发布`
- rider:资源管理器-右键AARC项目-发布
8. windows服务器上安装`.net9.0 hosting bundle`(dotnet官网可以下载到)
9. 把导出的程序移动到服务器上(建议使用webDeploy,也可以直接用远程桌面的复制粘贴),并给予Users用户组该文件夹的控制权限,用IIS新建网站并指向该文件夹
- 第一次移动后需要手动放入`/Data`中的数据库(.db文件)
- 后续注意不要把数据库覆盖了,定期保存备份
10. 尝试启动并进入网站
### 初始化账号
1. 记住在`appsettings.json`(或其变体)中填写的`MasterKey`
2. 在地址栏中输入`<域名>/#/sudo`,进入管理页面
3. 点击“初始化管理员账号”
4. 输入管理员账号名称和`MasterKey`,即可初始化账号
5. 复制或记住生成的密码后,才能关闭页面
*TODO:部署后更新数据库架构的方法*
## 贡献代码
- 请**与作者充分qq沟通后**再修改代码和提出pr,避免做浪费时间的无用功,作者有义务避免代码库野蛮生长,所以会拒绝计划之外的pr
- 请查看项目根目录的`commit-msg.mjs`,并按照其中的指示设置git钩子,确保提交信息合规
- 与作者交流,请加本文件[帮助](#帮助)部分中可以联系作者的那个qq群
## 法律风险
**本部分仅需“部署者”阅读,使用者无需关心**
### AutoMapper
本项目的依赖项`AutoMapper`(15.0.0+)属于`Lucky Penny Software LLC.`,使用dual commercial/OSS许可证
详情请访问 https://automapper.io 并检查其中“免费使用”的条件
- 可:在上述链接获取许可证key并填入配置文件的`AutoMapper:LicenseKey`处
- 或:确认自己满足“免费使用”条件并自行承担法律风险
### ImageSharp
本项目的依赖项`ImageSharp`属于`Six Labors`,使用Six Labors Split License许可证
详情请访问 https://sixlabors.com/products/imagesharp 并检查其中“免费使用”的条件
## 帮助
**部署/开发遇到问题,请加qq群 798877093 联系作者**
**使用遇到问题,请加qq群 1083848751 联系作者或其他用户**
## 许可证
Apache-2.0