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