# MsinWebApi **Repository Path**: msin-Music-Store/MsinWebApi ## Basic Information - **Project Name**: MsinWebApi - **Description**: 基于 .NET Core 平台的【音乐商店】后端 Api - **Primary Language**: C# - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2020-05-13 - **Last Updated**: 2024-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 音乐商店后台 ## 技术栈 - 基于 .NET Core 平台 - 数据库使用 MySQL - 数据访问层使用 ADO.NET 和 Dapper ORM框架 - 发布 RESTful 风格的 Web 接口 ## 用户角色 - 普通用户 - 管理员 - 可以更新歌手(2.0更新) ## 功能模块 - 通用模块 - 登录 - 身份认证(先不要) - 前台模块 for 普通用户 - 注册 - 用户个人信息管理 - 歌曲搜索 - 在线听歌 歌曲下载 - 歌曲 歌单管理 - 歌曲购物车(暂时不要) - 评论社交 - 后台模块 for 管理员 - 歌曲信息管理 - 订单处理 ## 项目结构 - Document: 项目文档. - MsinWebApi.Api: Web Api 层, 负责处理 HTTP 请求. 采用 RESTful 风格. - appsettings.json 配置文件 - Program.cs Main 方法 - Startup.cs 启动类, 在此进行一些服务的配置和启动 - Controller Api 接口控制器. - MsinWebApi.Service: 业务逻辑层, 核心业务代码. - Model 是业务中所涉及的扁平的数据对象. - Impl 业务逻辑的实现类. - MsinWebApi.Dapper: 数据访问层, 主要针对 MySQL 数据库. - Entity 是可以被持久化的实体类, 与数据表一一对应. - Attribute 用于修饰 Entity 的字段. - [Transient] 瞬态, 表示该字段不需要持久化. - [Identity] 唯一标识符, 在删除和修改时使用改字段作为唯一标识符, 插入时有数据库自动生成唯一标识. - [Default] 默认的, 表示该字段在数据库中具有默认值, 插入或修改无需指定值. - Impl: Dapper 数据访问器的实现类. - BaseEntity 中有三个基于反射实现的方法, 适用于任何实体类. Insert, Update, Delete. - MsinWebApi.Util: 公用工具类库 - MsinWebApi.Test: 单元测试项目 # 项目架构图 ![](./Document/Image/【音乐商店】项目架构图.png) ## 图片管理模块 后台系统的所有图片都交由远程的图片管理模块来处理, 在数据库中存储图片的 URL 地址。 ![](./Document/Image/调用远程图片管理模块.png)