前言

孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:“对呀,对呀!......回字有四样写法,你知道么?”

大家好,我是44岁的大龄程序员码农阿峰。阿峰从事编程二十年了,虽然没有成为架构师,却也用过很多种架构。几年前开始研究JAVA企业级快速开发框架若依,后来发现了它的.net 版本实现-ZR.Admin。从此一发不可收拾,崇拜的五体投地。对它作了些改动,记录下来。

以下是我自愿加的广告

##  在线体验

- 官方文档:http://www.izhaorui.cn/doc
- vue3.x 版本体验:http://www.izhaorui.cn/vue3
- vue2.x 版本体验:http://www.izhaorui.cn/admin
- 账号密码:admin/123456 ## 代码仓库 | 仓库 | Github | Gitee |
| ----------- | ------ | ---------------------------------------------------------------- |
| Vue2 + Net5 | | [克隆/下载](https://gitee.com/izory/ZrAdminNetCore/) |
| Vue3 | | [克隆/下载](https://gitee.com/izory/ZRAdmin-vue) |
| Vue2 + Net7 | | [克隆/下载](https://gitee.com/izory/ZrAdminNetCore/tree/net7.0/) | ## 前端技术 Vue 版前端技术栈 :基于 vue2.x/vue3.x、vuex、vue-router 、vue-cli 、axios、 element-ui、echats、i18n 国际化等,前端采用 vscode 工具开发 ## 后端技术 - 核心框架:.Net5.0/.Net7.0 + Web API + sqlsugar + swagger + signalR + IpRateLimit + Quartz.net + Redis
- 定时计划任务:Quartz.Net 组件,支持执行程序集或者 http 网络请求
- 安全支持:过滤器(数据权限过滤)、Sql 注入、请求伪造
- 日志管理:NLog、登录日志、操作日志、定时任务日志
- 工具类:验证码、丰富公共功能
- 接口限流:支持接口限流,避免恶意请求导致服务层压力过大
- 代码生成:高效率开发,代码生成器可以一键生成所有前后端代码
- 数据字典:支持数据字典,可以方便对一些状态进行管理
- 分库分表:使用 orm sqlsugar 可以很轻松的实现分库分库性能优越
- 多 租 户:支持多租户功能
- 缓存数据:内置内存缓存和 Redis

本文主要内容

  1. WEBAPI的默认路由改回swagger的接口列表
  2. 支持实体类主键是GUID

1).WEBAPI的默认路由改回swagger的接口列表

 /// <summary>
/// hello
/// </summary>
/// <returns></returns>
[Route("/")]
[HttpGet]
public IActionResult Index()
{
return Ok("看到这里页面说明你已经成功启动了本项目:)\n\n" +
"如果觉得项目有用,打赏作者喝杯咖啡作为奖励\n☛☛http://www.izhaorui.cn/doc/support.html\n");
}

我觉得自己很不厚道。原作者只是提醒一下用他代码的人 “如果觉得项目有用,打赏作者喝杯咖啡作为奖励”。这是应该的,但是我目前失业中,等我接大学生毕业设计赚了钱我会补上的!对作者的辛勤付出表示衷心的感谢!

因为作者把默认路由搞成了这个,那程序集发布和部署完就会被路由到这里,打开一个网页就是这句话。所以对不住了直接移除即可。

2).实体类或数据库表主键支持GUID

这个更简单,ZR.ADMIN是使用SqlSugar来做ORM组件的

  [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public int Cid { get; set; }

一般是使用的自增类型的整数类型来作主键的,而我自己经常是用GUID的,类似这样:

  /// <summary>
/// 描述 :主键 (产品ID)
/// </summary>
[EpplusTableColumn(Header = "主键")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "product_ID")]
public string ProductId { get; set; }
  /// <summary>
/// 删除产品信息
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "trackingdict:mtsproduct:delete")]
[Log(Title = "产品信息", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteMtsProduct(string ids)
{
string[] idsArr = Tools.SpitGuidArrary(ids);
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _MtsProductService.Delete(idsArr); return ToResponse(response);
} public static int[] SpitIntArrary(string str, char split = ',')
{
if (string.IsNullOrEmpty(str)) { return Array.Empty<int>(); }
string[] strIds = str.Split(split, (char)StringSplitOptions.RemoveEmptyEntries);
int[] infoIdss = Array.ConvertAll(strIds, s => int.Parse(s));
return infoIdss;
}
/// <summary>
/// 拆分多个GUID
/// </summary>
/// <param name="str"></param>
/// <param name="split"></param>
/// <returns></returns>
public static string[] SpitGuidArrary(string str, char split = ',')
{
if (string.IsNullOrEmpty(str)) { return Array.Empty<string>(); }
string[] strIds = str.Split(split, (char)StringSplitOptions.RemoveEmptyEntries);
string[] infoIdss = Array.ConvertAll(strIds, s => s.ToUpper());
return infoIdss;
}

直接看上面的代码吧,把代码生成器生成的"SpitIntArrary"改成“SpitGuidArrary”即可。

3)VUE3版本前端的体验

速度挺快的,体验也还行,就是有些不习惯,觉得不够成熟,另外不想花太多的学习成本去学习,VUE2还不熟练呢。

文章就此结束,其实单纯想帮ZR.ADMIN做个广告。聊表心意!

ZR.Admin小改和VUE3版本体验的更多相关文章

  1. MFC下debug改成release版本出现问题及解决办法

    自己在debug下成功运行了自己写的测试自己写第三方库的程序,这里有用到opencv库,所以同时用到了自己的库和opencv的库,需求因为要进行速度的测试,是想要把debug改成release版本,这 ...

  2. form-create 3.0 版本发布,好用的Vue3版本动态表单生成组件

    form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成组件.支持2个UI框架,并且支持生成任何 Vue 组件.内置20种常用表单组件和自定义组件,再复杂 ...

  3. Kuhn-Munkres算法。带权二分图匹配模板 (bin神小改版本)

    /****************************************************** 二分图最佳匹配 (kuhn munkras 算法 O(m*m*n)). 邻接矩阵形式 . ...

  4. 记录近期小改K-Means至MapReduce上的心得

    背景: 在所有聚类算法中KMeans算是表面上最简单的一种,没有过多恼人的古希腊符号公式,没有过分繁杂的公式嵌套.对于一个初学矩阵或者仅有向量概念的非专业人士的来说,不可不畏是一把踹门利器.这个世界上 ...

  5. WordPress版微信小程序1.5版本发布

    这个周末对WordPress版微信小程序进行了小版本的升级,第一个版本做得比较粗糙,性能上也有些差.本次升级主要调整和优化功能包括: 1.在主页面,加入浮动按钮,用来打开侧滑导航菜单. 2.增加侧滑导 ...

  6. KETTLE6.0版本体验小结

    不知不觉Kettle以及到了6.0,名字似乎也变了Pentaho官方的名称是 Pentaho  Data Integration,于是就下载了最新的版本,下载地址为: Pentaho Data Int ...

  7. 复利计算5.0(改成Java版本)与 单元测试

    //由于C语言版本不方便单元测试,所以改成了java版本,部分代码如下:import java.util.Scanner; public class FuLi{ public static void ...

  8. 微信小程序已发布版本vconsole仍出现问题解决办法

    解决办法很简单,进入小程序的体验或者开发版,点击关闭调试,再次进入小程序,就不会出现了

  9. 解决微信小程序要求TLS版本不低于1.2问题

    客官,本文可在我的小站中看到哦 昨天项目服务器发生意外,其上的IIS服务无法使用,导致项目后台瘫痪,倒腾一番最终以无法修复告终,启用备用的服务器,从安装IIS环境开始,然后最后所有的东西都准备就绪,却 ...

  10. TD课程通最终版本体验

    功能上,新版本增加了学校教室的上课情况,有无课程可以清楚查询,如下图: 在添加课程的设置上有改进,相比于之前编辑课程后不能保存,新版本在可保存的基础上又增加了登陆教务系统的功能,学生使用更加方便快捷, ...

随机推荐

  1. springboot项目 报错No mapping for GET /css/bootstrap.css,前端无法展示样式

    说来也奇怪,前几天刚写完的项目 写的好好的 现在打开他就加载不了前端的静态资源了 报错No mapping for GET /css/bootstrap.css 解决方法: 新建一个配置类 ,将静态资 ...

  2. Synchronized和Lock有什么区别?用Lock有什么好处?

    Synchronized 和 Lock 1.原始构成 Synchronized 是关键字属于JVM层面 (代码中以蓝色字体呈现) monitorenter .monitorexit Lock 是具体类 ...

  3. iOS Unity 项目解析

    本文旨在记录Unity 导出的iOS 项目笔记,另带接入SDK的终极方案,顺带对比Android 项目 1蓝色的目录 Data 这个就是项目的数据,每个项目不一样也就是这个目录不一样,是不是可以把这个 ...

  4. sqlserver数据备份

    sqlserver数据库 导入方法 第一种方法 1.打开SQL Server,写好登录名和密码点击连接. 2.打开数据库,右键某一个数据库,选择"新建查询(Q)". 3.再代码界面 ...

  5. javaheima15 递归

    Java File 作用 创建对象定位文件,可以删除.获取文件信息等.但不能读写文件内容. 构建对象的方式 File file = new File("文件/文件/绝对路径/相对路径&quo ...

  6. mmdetection RPNHead--_init_layers()

    RPNHead类包含的函数: (1)_init_():初始化函数 (2)_init_layers():设置Head中的卷积层 (3)forward_single():单尺度特征图的前向传播 (4)lo ...

  7. linux查看IP地址

    方法一:ifconfig -a 方法二:ip addr

  8. tensorflow出现Failed to get convolution algorithm, cuDNN failed to initialize

    网上大多的教程是说tensorflow的版本过高,或者说cuda和cudnn的版本不对,需要降级,但这样会很麻烦!!! 以下值得推荐!!! 解决方法一:在代码前加上下面的代码 from tensorf ...

  9. 8.forEach的使用

    1 List<customer> list //一个类是customer的列表 2 3 /* for(int i = 0;i < list.size();i++){ 4 System ...

  10. mysqld_safe Directory '/tmp/mysql' for UNIX socket file don't exists.

    报错版本:mysql-5.7.35 1.报错完整提示信息: [root@localhost bin]# 2022-11-15T04:04:43.122905Z mysqld_safe Logging ...