OsharpNS轻量级.net core快速开发框架简明入门教程
教程目录
- 从零开始启动Osharp
1.1. 使用OsharpNS项目模板创建项目
1.2. 配置数据库连接串并启动项目
1.3. OsharpNS.Swagger使用实例(登录和授权)
1.4. Angular6的前端项目启动 - Osharp代码生成器的使用
2.1 生成器的使用
2.2 生成代码详解(如何自己实现业务功能) - Osharp部分模块使用
3.1 Osharp.Redis使用
3.2 Osharp.Hangfire使用
3.3 Osharp.Permissions使用 - Osharp深度学习和使用
4.1 切换数据库(从SqlServer改为MySql)
4.2 多上下文配置(多个数据库的使用)
4.3. 自定义模块的定义(Senparc.Weixin的使用)
4.4. 继续学习中....
OsharpNS官方资源
项目地址:https://github.com/i66soft/osharp-ns20
演示地址:https://www.osharp.org 直接使用QQ登录可以查看效果
文档地址:https://docs.osharp.org 正在完善中....
发布博客:https://www.cnblogs.com/guomingfeng/p/osharpns-publish.html 大神看这个文档应该就能跑起来,从零开始启动Osharp基于此文档完成
VS生成器插件:https://marketplace.visualstudio.com/items?itemName=LiuliuSoft.osharp
官方交流QQ群:85895249
OsharpNS所需的基础环境
1.OSharpNS始终紧随微软的步伐,使用最新版本的 dotnetcore,请前往Download .NET (Linux, macOS, and Windows),\"Download .NET (Linux, macOS, and Windows\")点击Download .NET Core SDK
下载并安装最新版本的dotnetcore
2.下载并安装.net core开发环境(本人使用VS2017/VS2019作为作为OsharpNS的开发环境,欢迎高手提供VS Code开发和调试.net core程序的方法,这环境太庞大)
3.下载并安装Angular6的前端开发环境(本人使用VS Code)
在正式开始之前,先看看最终能看到的效果
使用OsharpNS项目模板创建项目
1.在任意空白目录,打开cmd
或者powershell
命令行窗口
- 执行命令
dotnet new -i OSharpNS.Template.Mvc_Angular
- 执行命令
dotnet new osharp_cmd
获取Osharp安装脚本,执行完成后,目录中出现cmd_build.bat
文件
- 双击
cmd_build.bat
,并根据要求命名项目名称(也可以根据喜好对项目进行命名,本示例使用CanDoo.Test作为项目名称),完成项目创建
配置数据库连接串并启动项目
- 打开解决方案
CanDoo.Test.sln
后,各个工程之间的引用关系已配置好,osharp框架的类库已引用 nuget.org 上的相应版本,并将自动还原好
- 在解决方案上,右击,点击
还原Nuget包
,完成相关引用的还原
- 在解决方案上,右击,点击
属性
,更改启动项目为CanDoo.Test.Web
- 打开
appsettings.Development.json
,对数据库连接串根据实际进行修改(appsettings.json
为正式发布时使用的配置文件,调试时使用的是appsettings.Development.json
,请注意区分)
- 运行项目
CanDoo.Test.Web
,如果能看到Swagger
说明运行成功(首次启动系统自动创建数据库,初始化相关参数,时间较久)
补充说明:OsharpNS正在大力完善中,更新比较快,如果需要更新OsharpNS的引用,请点击在解决方案上,右击,点击管理解决方案的Nuget程序包...
,切换到更新
标签,勾选包括预发行版
(因为OsharpNS处于预发行状态,只更新Osharp相关的即可,其他的预发行的包别去用)
OsharpNS.Swagger使用实例(登录和授权)
- 将系统运行起来后,看到Swagger界面,找
/api/Test/Test01
,点击后展开查看接口信息 - 点击
Try it out
,再点击Excute
调用接口
Response body
中显示用户注册成功
,系统自动注册2个用户,其中用户名:admin 密码gmf31529019
为超级管理员用户
- 找到接口
/api/Identity/JwtokenJwt
,点击后查看接口信息 - 点击
Try it out
,输入用户名和密码,再点击Excute
调用接口
{
\"Account\": \"admin\",
\"Password\": \"gmf31529019\",
}
- 查看
Response body
中反馈信息中Data的数据比较关键
{
\"Type\": 200,
\"Content\": \"登录成功\",
\"Data\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIxIiwidW5pcXVlX25hbWUiOiJhZG1pbiIsIm5iZiI6MTU1NTY3NDQyNywiZXhwIjoxNTU1NzYwODI3LCJpYXQiOjE1NTU2NzQ0MjcsImlzcyI6Im9zaGFycCBpZGVudGl0eSIsImF1ZCI6Im9zaGFycCBhbmd1bGFyIGRlbW8ifQ.gJ7QjyoO7VFCuvAW5iVDY2fm9Lt3OWCu4WdXwiUqMKE\"
}
- 回到Swagger最顶部,找到绿色的文字
Authorize
,点击后在弹出窗口的Value
中输入Bearer
加登录是反馈的Data
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIxIiwidW5pcXVlX25hbWUiOiJhZG1pbiIsIm5iZiI6MTU1NTY3NDQyNywiZXhwIjoxNTU1NzYwODI3LCJpYXQiOjE1NTU2NzQ0MjcsImlzcyI6Im9zaGFycCBpZGVudGl0eSIsImF1ZCI6Im9zaGFycCBhbmd1bGFyIGRlbW8ifQ.gJ7QjyoO7VFCuvAW5iVDY2fm9Lt3OWCu4WdXwiUqMKE
- 至此访问其他接口的时候 不会再提示未登录
Angular6的前端项目启动
- 下载并安装node.js,下载地址:https://nodejs.org/en/ ,建议下载LTS版本
- 进入前端目录
CanDoo.Test\\src\\ui\\ng-alain
,以管理员身份打开PowerShell
- 设置npm的淘宝镜像仓库:由于npm的国外仓储会很慢,所以最好把npm仓库地址指定国内镜像,推荐淘宝镜像
npm config set registry https://registry.npm.taobao.org
- 安装全局Angular/Cli:如果Angular/Cli没有安装,执行如下命令全局安装Angular
npm install -g @angular/cli
,Angular的快速启动,请参考Angular官方文档:https://angular.cn/guide/quickstart - 执行NodeJS包安装命令
npm install
- 包安装完成后,输入项目启动命令
npm start
,如果运行成功,在浏览器中输入http://localhost:4201/
就能看到界面了 - 重新安装Angular的方法:https://blog.csdn.net/qq_37692642/article/details/79372105
- 执行
npm install
时候出现错误,注意看下Python的Path路径是否配置了(我本地是装好Python并且配置好Path的),但是安装时候还是出错了,解决时参考的文档:https://blog.csdn.net/ztz87/article/details/81734916 ,查看错误信息是node-sass
安装失败,我执行了设置淘宝镜像npm set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/
,再次运行npm install node-sass
,安装成功
- 直接使用
用户名:admin 密码:gmf31529019
就能进入后台了 - 非官方的VUE界面,后期会跟随作者的脚步更新