update README.md
@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ZR.Common.Extension
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
public static partial class Extensions
|
||||
{
|
||||
@ -7,7 +7,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
//using Newtonsoft.Json;
|
||||
|
||||
namespace ZR.Common.Extension
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
public static partial class Extensions
|
||||
{
|
||||
@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ZR.Common.Extension
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
public static partial class Extensions
|
||||
{
|
||||
@ -5,7 +5,7 @@ using System.Linq.Expressions;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ZR.Common.Extension
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
public static class LinqExtensions
|
||||
{
|
||||
@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ZR.Common.Extension
|
||||
namespace Infrastructure.Extensions
|
||||
{
|
||||
public static partial class Extensions
|
||||
{
|
||||
@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using Infrastructure.Extensions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using ZR.Common.Extension;
|
||||
|
||||
namespace ZR.Common
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class ComputerHelper
|
||||
{
|
||||
@ -2,7 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ZR.Common
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class DateTimeHelper
|
||||
{
|
||||
@ -4,7 +4,7 @@ using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace ZR.Common
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class FileUtil
|
||||
{
|
||||
@ -4,7 +4,7 @@ using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ZR.Common
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class HttpHelper
|
||||
{
|
||||
@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Text;
|
||||
|
||||
namespace ZR.Common
|
||||
namespace Infrastructure
|
||||
{
|
||||
public class ShellHelper
|
||||
{
|
||||
142
README.md
@ -9,15 +9,18 @@
|
||||
* 权限认证使用Jwt,支持多终端认证系统。
|
||||
* 支持加载动态权限菜单,多方式轻松权限控制
|
||||
|
||||
> 如果对您有帮助,点击右上角⭐Star⭐关注 ,感谢支持开源!
|
||||
```
|
||||
如果对您有帮助,您可以点右上角⭐Star⭐ 收藏一下 ,这样作者才有继续免费下去的动力,谢谢!~
|
||||
```
|
||||
|
||||
## 🍿在线体验
|
||||
体验地址:http://www.izhaorui.cn:8080/
|
||||
管理员:admin
|
||||
密 码:123456
|
||||
|
||||
**由于是个人项目,资金有限,体验服是低配,请大家爱惜,轻戳,不胜感激!!!**
|
||||
- 体验地址:http://www.izhaorui.cn:8080/
|
||||
- 管理员:admin
|
||||
- 密 码:123456
|
||||
|
||||
```
|
||||
由于是个人项目,资金有限,体验服是低配,请大家爱惜,轻戳,不胜感激!!!
|
||||
```
|
||||
## 🍁前端技术
|
||||
Vue版前端技术栈 :基于vue、vuex、vue-router 、vue-cli 、axios 和 element-ui,前端采用vscode工具开发
|
||||
|
||||
@ -34,86 +37,93 @@ Vue版前端技术栈 :基于vue、vuex、vue-router 、vue-cli 、axios 和 e
|
||||
|
||||
## 🍄快速启动
|
||||
需要安装:VS2019(最新版)、npm或yarn(最新版)
|
||||
准备工作:将document文件夹下面的admin.sql脚本导入到数据库中,修改ZR.Admin.WebApi项目里面配置文件中的conn_zrAdmin数据库连接字符串以及DbType选择对应的数据库类型,目前仅支持MySQL、SQL server
|
||||
启动后台:打开项目根目录的startup.bat即可启动(数据库默认MySQL)
|
||||
启动前端:打开ZR.Vue文件夹,运行npm install命令,再运行npm run serve启动
|
||||
浏览器访问:http://localhost:8887 (默认前端端口为:8887,后台端口为:8888)
|
||||
- 准备工作:将document文件夹下面的xxx.sql脚本导入到数据库中,修改appsettings.json配置文件里面中的conn_zrAdmin数据库连接字符串以及conn_zrAdmin_Type选择对应的数据库类型,目前仅支持MySQL、SQL server
|
||||
- 启动后台:打开项目根目录的startup.bat即可启动,或者打开ZRAdmin.sln解决方案,直接运行(F5)即可启动
|
||||
- 启动前端:打开ZR.Vue文件夹,运行npm install命令下载安装依赖,再运行npm run serve启动
|
||||
- 浏览器访问:http://localhost:8887 (默认前端端口为:8887,后台端口为:8888)
|
||||
|
||||
|
||||
## 🍖内置功能
|
||||
|
||||
1. [X] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
||||
2. [X] 部门管理:配置系统组织机构(公司、部门、小组),树结构展现。
|
||||
3. [X] 岗位管理:配置系统用户所属担任职务。
|
||||
4. [X] 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
|
||||
5. [X] 角色管理:角色菜单权限分配。
|
||||
6. [X] 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
|
||||
7. [ ] 参数管理:对系统动态配置常用参数。
|
||||
8. [X] 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
|
||||
9. [X] 登录日志:系统登录日志记录查询包含登录异常。
|
||||
10. [ ] 在线用户:当前系统中活跃用户状态监控。
|
||||
11. [X] 系统接口:使用swagger生成相关api接口文档。
|
||||
12. [X] 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
|
||||
13. [X] 在线构建器:拖动表单元素生成相应的VUE代码。
|
||||
14. [X] 任务系统:基于Quartz.NET定时任务执行。
|
||||
15. [X] 文章管理:可以写文章记录。
|
||||
16. [X] 代码生成:可以一键生成前后端代码(.cs、.vue、.js),自定义配置前端展示控件、让开发更快捷高效。
|
||||
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
||||
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现。
|
||||
3. 岗位管理:配置系统用户所属担任职务。
|
||||
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
|
||||
5. 角色管理:角色菜单权限分配。
|
||||
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
|
||||
6. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
|
||||
7. 登录日志:系统登录日志记录查询包含登录异常。
|
||||
8. 系统接口:使用swagger生成相关api接口文档。
|
||||
9. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
|
||||
10. 在线构建器:拖动表单元素生成相应的VUE代码。
|
||||
11. 任务系统:基于Quartz.NET定时任务执行。
|
||||
12. 文章管理:可以写文章记录。
|
||||
13. 代码生成:可以一键生成前后端代码(.cs、.vue、.js、sql),自定义配置前端展示控件、让开发更快捷高效。
|
||||
|
||||
## 项目结构
|
||||
|
||||
ZRAdmin解决方案包含:
|
||||
## 🍻项目结构
|
||||
|
||||
ZR.Service[服务层类库]:提供WebApi接口调用;
|
||||
```
|
||||
- ZR.Service[服务层类库]:提供WebApi接口调用;
|
||||
- ZR.Repository[仓库层类库]:方便提供有执行存储过程的操作;
|
||||
- ZR.Model[实体层类库],提供项目中的数据库表、数据传输对象;
|
||||
- ZR.Admin.WebApi[webapi接口]:为Vue版或其他三方系统提供接口服务。
|
||||
- ZR.Vue[前端UI]:vue版本UI层。
|
||||
- ZR.Tasks[定时任务类库]:提供项目定时任务实现功能;
|
||||
- ZR.CodeGenerator[代码生成功能],包含代码生成的模板、方法、代码生成的下载。
|
||||
```
|
||||
## ⚡ 近期计划
|
||||
|
||||
ZR.Tasks[定时任务类库]:提供项目定时任务实现功能;
|
||||
- [ ] 参数管理
|
||||
- [ ] 在线用户
|
||||
- [ ] 文件管理
|
||||
- [ ] 邮件发送
|
||||
- [ ] 集成微信开发
|
||||
|
||||
ZR.Repository[仓库层类库]:方便提供有执行存储过程的操作;
|
||||
|
||||
ZR.Model[实体层类库],提供项目中的数据库表、数据传输对象;
|
||||
|
||||
ZR.CodeGenerator[代码生成功能],包含代码生成的模板、方法、代码生成的下载。
|
||||
|
||||
ZR.Admin.WebApi[webapi接口]:为Vue版或其他三方系统提供接口服务。
|
||||
|
||||
ZR.Vue[前端UI]:vue版本UI层。
|
||||
|
||||
DataBase是最新数据库备份文件,目前支持MS SQL Server和MySql。
|
||||
## 📖 帮助文档
|
||||
👉快捷部署到Linux文档:
|
||||
- [本地md文件](./document/nginx部署文档.md "代码生成")
|
||||
|
||||
👉代码生成器使用教程:
|
||||
- [本地md文件](./document/代码生成器使用.md "代码生成")
|
||||
|
||||
## 🍎演示图
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/1.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/2.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/1.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/2.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/3.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/4.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/3.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/4.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/5.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/6.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/5.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/6.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/7.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/8.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/7.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/8.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/9.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/10.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/9.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/10.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/11.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/12.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/11.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/12.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/13.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/14.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/13.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/14.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/15.png"/></td>
|
||||
<td><img src="https://www.izhaorui.cn/images/zradmin/16.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/15.png"/></td>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/16.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/17.png"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -127,17 +137,17 @@ DataBase是最新数据库备份文件,目前支持MS SQL Server和MySql。
|
||||
|
||||
## 💐 特别鸣谢
|
||||
- 👉Ruoyi.vue:[Ruoyi](http://www.ruoyi.vip/)
|
||||
- 👉SqlSugar:https://gitee.com/dotnetchina/SqlSugar
|
||||
- 👉SqlSugar:[SqlSugar](https://gitee.com/dotnetchina/SqlSugar)
|
||||
|
||||
## 🍻参与贡献
|
||||
- Fork 本项目
|
||||
- 新建 Feat_xxx 分支
|
||||
- 提交代码
|
||||
- 新建 Pull Request
|
||||
|
||||
## 联系作者
|
||||
## 😎联系作者
|
||||
QQ:599854767
|
||||
|
||||
## 🎀捐赠
|
||||
如果这个项目对您有所帮助,请扫下方二维码打赏一杯咖啡。
|
||||
<img src="https://www.izhaorui.cn/static/pay.jpg"/>
|
||||
<img src="https://gitee.com/izory/ZrAdminNetCore/raw/master/document/images/pay.jpg"/>
|
||||
|
||||
|
||||
## 源码地址
|
||||
[Gitee码云中国](https://gitee.com/izory/ZrAdminNetCore)
|
||||
|
||||
[Github](https://github.com/izhaorui/ZrAdmin.NET)
|
||||
@ -9,6 +9,7 @@ using ZR.Admin.WebApi.Filters;
|
||||
using ZR.Common;
|
||||
using Infrastructure.Enums;
|
||||
using ZR.Service.System.IService;
|
||||
using Infrastructure;
|
||||
|
||||
namespace ZR.Admin.WebApi.Controllers.System
|
||||
{
|
||||
|
||||
@ -58,7 +58,7 @@ import {
|
||||
del{ModelTypeName},
|
||||
update{ModelTypeName},
|
||||
get{ModelTypeName}
|
||||
} from '@/api/{fileClassName}.js'
|
||||
} from '@/api/{fileClassName}.js';
|
||||
|
||||
export default {
|
||||
name: '{ModelTypeName}',
|
||||
|
||||
@ -29,12 +29,12 @@ namespace ZR.CodeGenerator
|
||||
sb.AppendLine($" }},");
|
||||
}
|
||||
//有下拉框选项初列表查询数据
|
||||
if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
||||
if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
||||
{
|
||||
sb.AppendLine(@$" // {dbFieldInfo.ColumnComment}字典翻译");
|
||||
sb.AppendLine($" {columnName}Format(row, column) {{");
|
||||
sb.AppendLine(@$" return this.selectDictLabel(this.{columnName}Options, row.{columnName});");
|
||||
sb.Append(@" },");
|
||||
sb.AppendLine(@" },");
|
||||
|
||||
}
|
||||
return sb.ToString();
|
||||
@ -74,7 +74,7 @@ namespace ZR.CodeGenerator
|
||||
public static string GetModelRequired(GenTableColumn dbFieldInfo)
|
||||
{
|
||||
string str = "";
|
||||
if (!dbFieldInfo.IsRequired && (dbFieldInfo.CsharpType == "int" || dbFieldInfo.CsharpType == "long" || dbFieldInfo.CsharpType == "DateTime"))
|
||||
if (!dbFieldInfo.IsRequired && (CodeGeneratorTool.IsNumber(dbFieldInfo.ColumnType) || dbFieldInfo.CsharpType == "DateTime"))
|
||||
{
|
||||
str = "?";
|
||||
}
|
||||
@ -104,7 +104,7 @@ namespace ZR.CodeGenerator
|
||||
public static string GetQueryDtoProperty(GenTableColumn dbFieldInfo)
|
||||
{
|
||||
string QueryDtoContent = "";
|
||||
if (dbFieldInfo.IsQuery && !GenConstants.inputDtoNoField.Any(f => f.Replace("_", "").ToLower().Contains(dbFieldInfo.CsharpField.ToLower().Replace("_", ""))))
|
||||
if (dbFieldInfo.IsQuery && !GenConstants.inputDtoNoField.Any(f => f.ToLower().Contains(dbFieldInfo.CsharpField.ToLower())))
|
||||
{
|
||||
QueryDtoContent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\r\n";
|
||||
}
|
||||
@ -120,7 +120,7 @@ namespace ZR.CodeGenerator
|
||||
string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : "";
|
||||
string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (GenConstants.inputDtoNoField.Any(f => f.Replace("_", "").ToLower().Contains(dbFieldInfo.CsharpField.ToLower().Replace("_", ""))))
|
||||
if (GenConstants.inputDtoNoField.Any(f => f.ToLower().Contains(dbFieldInfo.CsharpField.ToLower())))
|
||||
{
|
||||
return sb.ToString();
|
||||
}
|
||||
@ -194,7 +194,7 @@ namespace ZR.CodeGenerator
|
||||
if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME)
|
||||
{
|
||||
sb.AppendLine(" <el-form-item label=\"时间\">");
|
||||
sb.AppendLine(" <el-date-picker v-model=\"dateRange\" size=\"small\" value-format=\"yyyy-MM-dd\" type=\"daterange\" range-separator=\"-\" start-placeholder=\"开始日期\" end-placeholder=\"结束日期\"></el-date-picker>");
|
||||
sb.AppendLine(" <el-date-picker v-model=\"timeRange\" size=\"small\" value-format=\"yyyy-MM-dd\" type=\"daterange\" range-separator=\"-\" start-placeholder=\"开始日期\" end-placeholder=\"结束日期\"></el-date-picker>");
|
||||
sb.AppendLine(" </el-form-item>");
|
||||
}
|
||||
else
|
||||
|
||||
@ -4,6 +4,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using ZR.CodeGenerator.Model;
|
||||
using ZR.Model.System.Generate;
|
||||
|
||||
@ -57,6 +58,9 @@ namespace ZR.CodeGenerator
|
||||
replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName);
|
||||
replaceDto.Author = tableInfo.FunctionAuthor;
|
||||
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
|
||||
//循环表字段信息
|
||||
foreach (GenTableColumn dbFieldInfo in listField)
|
||||
{
|
||||
@ -86,14 +90,15 @@ namespace ZR.CodeGenerator
|
||||
//{
|
||||
// replaceDto.Querycondition += $"predicate = predicate.And(m => m.{dbFieldInfo.CsharpField}.Contains(parm.Name));";
|
||||
//}
|
||||
|
||||
if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
||||
{
|
||||
replaceDto.VueDataContent += $" // {dbFieldInfo.ColumnComment}选项列表\n";
|
||||
replaceDto.VueDataContent += $" {FirstLowerCase(dbFieldInfo.CsharpField)}Options: [],\n";
|
||||
sb1.AppendLine($" // {dbFieldInfo.ColumnComment}选项列表");
|
||||
sb1.AppendLine($" {FirstLowerCase(dbFieldInfo.CsharpField)}Options: [],");
|
||||
|
||||
replaceDto.MountedMethod += $" this.getDicts(\"{dbFieldInfo.DictType}\").then((response) => {{\n";
|
||||
replaceDto.MountedMethod += $" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;\n";
|
||||
replaceDto.MountedMethod += " })\n";
|
||||
sb2.AppendLine($" this.getDicts(\"{dbFieldInfo.DictType}\").then((response) => {{");
|
||||
sb2.AppendLine($" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;");
|
||||
sb2.AppendLine(" })");
|
||||
}
|
||||
|
||||
replaceDto.QueryProperty += CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo);
|
||||
@ -105,6 +110,9 @@ namespace ZR.CodeGenerator
|
||||
replaceDto.InputDtoProperty += CodeGenerateTemplate.GetDtoProperty(dbFieldInfo);
|
||||
replaceDto.VueQueryFormHtml += CodeGenerateTemplate.GetQueryFormHtml(dbFieldInfo);
|
||||
}
|
||||
replaceDto.VueDataContent = sb1.ToString();
|
||||
replaceDto.MountedMethod = sb2.ToString();
|
||||
|
||||
replaceDto.PKName = PKName;
|
||||
replaceDto.PKType = PKType;
|
||||
|
||||
@ -201,7 +209,7 @@ namespace ZR.CodeGenerator
|
||||
.Replace("{Author}", replaceDto.Author)
|
||||
.Replace("{DateTime}", replaceDto.AddTime);
|
||||
|
||||
//generateDto.GenCodes.Add(new GenCode(2, "数据传输实体类", fullPath, content));
|
||||
generateDto.GenCodes.Add(new GenCode(2, "数据传输实体类", fullPath, content));
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -255,7 +263,7 @@ namespace ZR.CodeGenerator
|
||||
.Replace("{Author}", replaceDto.Author)
|
||||
.Replace("{DateTime}", replaceDto.AddTime);
|
||||
|
||||
//generateDto.GenCodes.Add(new GenCode(4, "接口层", fullPath, content));
|
||||
generateDto.GenCodes.Add(new GenCode(4, "接口层", fullPath, content));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -16,7 +16,7 @@ namespace ZR.CodeGenerator
|
||||
/// <summary>
|
||||
/// InputDto输入实体是不包含字段
|
||||
/// </summary>
|
||||
public static readonly string[] inputDtoNoField = new string[] { "createTime", "updateTime", "addtime" };
|
||||
public static readonly string[] inputDtoNoField = new string[] { "createTime", "updateTime", "addtime", "create_time", "update_time" };
|
||||
/// <summary>
|
||||
/// 图片字段
|
||||
/// </summary>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.3.4" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
|
||||
<PackageReference Include="Npoi.Mapper" Version="3.5.1" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.3.4" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.4" />
|
||||
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" />
|
||||
<PackageReference Include="MySql.Data" Version="8.0.25" />
|
||||
<PackageReference Include="NETCore.Encrypt" Version="2.0.9" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.3.4" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
using Infrastructure.Attribute;
|
||||
using System.Collections.Generic;
|
||||
using ZR.Common;
|
||||
using ZR.Model;
|
||||
using ZR.Model.System.Dto;
|
||||
using ZR.Model.System;
|
||||
using ZR.Repository.System;
|
||||
using ZR.Service.System.IService;
|
||||
using Infrastructure;
|
||||
|
||||
namespace ZR.Service.System
|
||||
{
|
||||
|
||||
@ -1,59 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
/**
|
||||
* 代码生成测试表分页查询
|
||||
* @param {查询条件} data
|
||||
*/
|
||||
export function listGendemo(query) {
|
||||
return request({
|
||||
url: 'business/Gendemo/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增代码生成测试表
|
||||
* @param data
|
||||
*/
|
||||
export function addGendemo(data) {
|
||||
return request({
|
||||
url: 'business/Gendemo',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改代码生成测试表
|
||||
* @param data
|
||||
*/
|
||||
export function updateGendemo(data) {
|
||||
return request({
|
||||
url: 'business/Gendemo',
|
||||
method: 'PUT',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取代码生成测试表详情
|
||||
* @param {Id} 代码生成测试表Id
|
||||
*/
|
||||
export function getGendemo(id) {
|
||||
return request({
|
||||
url: 'business/Gendemo/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param {主键} pid
|
||||
*/
|
||||
export function delGendemo(pid) {
|
||||
return request({
|
||||
url: 'business/Gendemo/' + pid,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -56,7 +56,7 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<span class="tip">如果觉得有用你可以请作者喝杯咖啡表示鼓励</span>
|
||||
<img src="http://www.izhaorui.cn/static/pay.jpg" alt="donate" width="100%" />
|
||||
<img src="http://ss.izhaorui.cn/pay.jpg" alt="donate" width="100%" />
|
||||
</div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<el-button type="danger" :disabled="multiple" plain icon="el-icon-delete" @click="handleDelete" size="mini" v-hasPermi="['tool:gen:delete']">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table ref="gridtable" v-loading="tableloading" :data="tableData" border @selection-change="handleSelectionChange" highlight-current-row height="500px">
|
||||
<el-table ref="gridtable" v-loading="tableloading" :data="tableData" border @selection-change="handleSelectionChange" highlight-current-row height="480px">
|
||||
<el-table-column type="selection" align="center" width="55"></el-table-column>
|
||||
<el-table-column label="序号" type="index" width="50" align="center">
|
||||
<template slot-scope="scope">
|
||||
@ -45,7 +45,7 @@
|
||||
<!-- 预览界面 -->
|
||||
<el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh" append-to-body>
|
||||
<el-tabs v-model="preview.activeName">
|
||||
<el-tab-pane v-for="(item, key) in preview.data" :label="item.title" :name="item.type.toString()" :key="key">
|
||||
<el-tab-pane v-for="(item, key) in preview.data" :label="item.title" :name="key.toString()" :key="key">
|
||||
<pre v-html="highlightedCode(item.content)">
|
||||
</pre>
|
||||
</el-tab-pane>
|
||||
@ -115,7 +115,7 @@ export default {
|
||||
open: false,
|
||||
title: "代码预览",
|
||||
data: {},
|
||||
activeName: "1",
|
||||
activeName: "0",
|
||||
},
|
||||
showGenerate: false,
|
||||
checkedCodeGenerateForm: [1, 2, 3, 4, 5, 6, 7, 8],
|
||||
@ -199,10 +199,10 @@ export default {
|
||||
var seachdata = {
|
||||
tableId: this.currentSelected.tableId,
|
||||
tableName: this.currentSelected.name,
|
||||
genFiles: this.checkedCodeGenerateForm,
|
||||
genCodeFiles: this.checkedCodeGenerateForm,
|
||||
coverd: this.coverd,
|
||||
dbType: this.dbType,
|
||||
queryColumn: this.checkedQueryColumn,
|
||||
// queryColumn: this.checkedQueryColumn,
|
||||
};
|
||||
console.log(JSON.stringify(seachdata));
|
||||
|
||||
|
||||
33
ZRAdmin.xml
@ -27,44 +27,47 @@
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:ZR.Admin.WebApi.Controllers.UserInfoController">
|
||||
<member name="T:ZR.Admin.WebApi.Controllers.GendemoController">
|
||||
<summary>
|
||||
代码自动生成
|
||||
代码生成演示Controller
|
||||
|
||||
@author zhaorui
|
||||
@date 2021-09-24
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ZR.Admin.WebApi.Controllers.UserInfoController._UserInfoService">
|
||||
<member name="F:ZR.Admin.WebApi.Controllers.GendemoController._GendemoService">
|
||||
<summary>
|
||||
用户信息接口
|
||||
代码生成演示接口
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.QueryUserInfo(ZR.Model.Dto.UserInfoQueryDto)">
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.QueryGendemo(ZR.Model.Dto.GendemoQueryDto)">
|
||||
<summary>
|
||||
查询用户信息列表
|
||||
查询代码生成演示列表
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.GetUserInfo(System.Int32)">
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.GetGendemo(System.Int32)">
|
||||
<summary>
|
||||
查询用户信息详情
|
||||
查询代码生成演示详情
|
||||
</summary>
|
||||
<param name="Luid"></param>
|
||||
<param name="Id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.AddUserInfo(ZR.Model.Dto.UserInfoDto)">
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.AddGendemo(ZR.Model.Dto.GendemoDto)">
|
||||
<summary>
|
||||
添加用户信息
|
||||
添加代码生成演示
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.UpdateUserInfo(ZR.Model.Dto.UserInfoDto)">
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.UpdateGendemo(ZR.Model.Dto.GendemoDto)">
|
||||
<summary>
|
||||
更新用户信息
|
||||
更新代码生成演示
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.UserInfoController.DeleteUserInfo(System.String)">
|
||||
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.DeleteGendemo(System.String)">
|
||||
<summary>
|
||||
删除用户信息
|
||||
删除代码生成演示
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
|
||||
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 6.6 MiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 6.6 MiB |
BIN
document/images/15-1.png
Normal file
|
After Width: | Height: | Size: 6.5 MiB |
BIN
document/images/17.png
Normal file
|
After Width: | Height: | Size: 6.5 MiB |
BIN
document/images/pay.jpg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
document/images/代码生成演示202109250747.mp4
Normal file
9
document/nginx部署文档.md
Normal file
@ -0,0 +1,9 @@
|
||||
## nginx部署文档.md
|
||||
|
||||
1. 拷贝zradmin.ini文件代码到nginx配置文件http模块中
|
||||
2. 在nginx安装目录中的html目录中创建文件夹zradmin_vue
|
||||
3. 发布ZR.Admin.WebApi项目并部署到服务器中启动
|
||||
4. 发布ZR.Vue项目并拷贝dist文件中的代码到刚刚创建的zradmin_vue中
|
||||
5. 浏览器中访问 http://localhost:8080
|
||||
|
||||
注意:服务器防火墙的设置开放8080 端口
|
||||
18
document/代码生成器使用.md
Normal file
@ -0,0 +1,18 @@
|
||||
## 代码生成器使用教程
|
||||
|
||||
### 修改配置文件appsettings.json
|
||||
```
|
||||
"gen": {
|
||||
"conn": "server=127.0.0.1;user=zr;pwd=abc;database={database}",
|
||||
"dbType": 0, //MySql = 0, SqlServer = 1
|
||||
"autoPre": true, //自动去除表前缀
|
||||
"author": "zr",
|
||||
"tablePrefix": "sys_" //"表前缀(生成类名不会包含表前缀,多个用","分隔)",
|
||||
}
|
||||
```
|
||||
修改conn数据库连接字符串其中{database}为动态要替换的数据库名
|
||||
<img src="http://ss.izhaorui.cn/zradmin/15-1.png"/>
|
||||
|
||||
|
||||
👉视频教程:
|
||||
- [观看视频](http://ss.izhaorui.cn/zradmin/%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E6%BC%94%E7%A4%BA202109250747.mp4)
|
||||