- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 SimpleAdmin手摸手教学之:项目架构设计2.0
SimpleAdmin2.0的架构在1.0的基础上进行了很大的调整,回头再看1.0的代码确实有点屎山那味了,还好在1.0完成之后并没有急着开发新的功能而是重新梳理代码逻辑,优化架构,为以后的新功能开发打好基础,这对我自己来说也是一种进步。在日常工作中也一样,如果你回头看几个月之前写的代码发现可以以更好的方式实现时,说明你的代码水平已经进步了。或许在不久的将来,2.0的架构设计也会被推翻重新设计也说不定🤭,希望能和使用SimpleAdmin开发的coder们一起进步。
2023-04-07 09:49:52 368 1
原创 python生成CSV文件并发送邮件
在日常运维的过程中,执行脚本,生成excel报表并发送邮件到邮箱是不可避免的,python生成excel的库有很多,这里选择生成csv格式,因为python内置,不需要额外安装模块,而且使用简单。
2023-04-03 08:38:24 409
原创 jquery实现checkbox的单选和全选
<input type="checkbox" name="all">全选</th><th>用户名</th><th>昵称</th><th>邮箱</th><th>角色</th><th>操作
2023-04-03 08:36:43 803
原创 Windows server防止暴力破解
在运维日常工作中,我们应该会经常接触到Windows server系统,而作为一名运维人员应该都有一定的安全防范意识和处理办法,对于Windows 系统而言,最常用的一个系统安全问题排查工具就是“事件查看器”了。
2023-04-03 08:32:56 918
原创 Python使用wmi远程Windows机器执行命令
id, value =conn.Win32_Process.Create(CommandLine=cmd_callbat) # 执行bat文件 Win32_Process.Create。print ("Version:%s" % sys.Caption, "Vernum:%s" % sys.BuildNumber ) # 系统信息。print (sys.OSArchitecture.encode("UTF8")) # 系统的位数。安装wmi和pywin32。
2023-03-31 09:04:07 638
原创 Linux手动构建RPM包
在linux上安装软件和模块很多都是通过rpm包安装的,非常的方便。如果多个主机安装文件和脚本也能用rpm包的方式就好了,节省时间和精力,正好看到了一篇文章,本地构建rpm包,试着学了下,所以写下这篇博客记录构建过程,该博客使用到的主机为Centos7。
2023-03-31 09:00:01 388
原创 VisualStudio 利用代码片段管理器新建快捷命令
系统内置“class”代码片段以供我们快速的创建类,但是却没有创建方法的代码段,现在我们自定义一个方法的代码片段。1.找到“class”片段的位置并打开仔细看一下这份XML其实可以发现关键的地方就三处.①上面的Shortcut标签定义了缩写字符串。②中间Declaration标签定义了所需要的变量。③<Code>xxx</Code>标签定义了输出的格式。<Header><Description>类的代码片段</Description></Header><Snippet>
2023-03-29 08:49:56 341
原创 SqlServer2016数据同步之使用发布/订阅功能同步数据
登录服务器,使用Microsoft SQL Server Management Studio连接数据库,选择:复制->本地发布右键->新建发布下一步选择快照文件夹选择数据库选择“事务发布”选择表下一步设置执行时间设置代理安全性直接下一步,输入发布名称等待发布成功右键属性,查看快照地址,到源系统服务器对于路径拷贝对于的快照文件到订阅服务器本地。
2023-03-29 08:49:49 1602
原创 .NET MQTT客户端SimpleMQTT的使用
MQTT客户端组件.NET Core版本,基于新生命团队NewLife.MQTT的单例模式封装,支持.net core3,.net6/7。
2023-03-28 09:41:50 738
原创 .NET Redis客户端SimpleRedis的使用
SimpleRedis基于新生命团队NewLife.Redis的封装,支持.NETCore3/.NET6/7。NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标。
2023-03-28 09:36:17 476
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十一:素材管理
公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。使用接口过程中有任何问题,可以前往微信开放社区专区发帖交流注意点:1、临时素材media_id是可复用的。2、3、上传临时素材的格式、大小限制与公众平台官网一致。图片(image): 10M,支持PNG\JPEG\JPG\GIF格式。
2023-03-27 08:52:41 220
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之九:事件推送
在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。
2023-03-27 08:49:36 250
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之十:模板消息
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
2023-03-27 08:48:48 265
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之八:自定义菜单
自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“...”代替。创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号 profile 页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
2023-03-27 08:48:00 321
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之七:生成带参数的二维码
为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。使用接口过程中有任何问题,可以前往微信开放社区#公众号专区发帖交流
2023-03-27 08:46:12 442
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之六:普通消息处理
.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之六:普通消息处理
2023-03-24 08:56:14 386
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之五:自定义MessageService来处理消息
.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之五:自定义MessageService来处理消息
2023-03-24 08:53:02 506
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之四:自动回复
.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之四:自动回复
2023-03-24 08:46:44 290
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之三:接入公众号
.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之三:接入公众号
2023-03-24 08:44:36 889
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之二:搭建项目
.Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列之二:搭建项目
2023-03-24 08:37:07 353
原创 .Net6+Furion+Sqlsugar+SenparcSdk开发微信公众号系列:目录
因为工作需要,开始接触微信公众号开发,一开始根据官网的教程和百度的教程,勉强把官网教程的服务器配置完成。后来听说有专门的微信公众号开发盛派SDK,于是就去研究了一下这个SDK,可能是历史原因,网上都说这个SDK非常的臃肿,而且想下载个demo运行一下都非常的麻烦,好不容易demo下载下来运行起来,结果有些东西跟预想的有些差距,比如接口中获取PostModel,demo中并没有加[FromQuery]特性导致根本拿不到这个参数,并且demo没有说明文档,新手看起来比较乱。。。。。。所以我还是决定通过自己搭建项
2023-03-23 10:28:47 191
原创 .Net大杀器之基于Newlife.Redis的可重复消费+共享订阅队列来替换第三方MQ
消息队列(Message Queue)是分布式系统必不可少的中间件,大部分消息队列产品(如RocketMQ/RabbitMQ/Kafka等)要求团队有比较强的技术实力,不适用于中小团队,并且对.NET技术的支持力度不够。而Redis实现的轻量级消息队列很简单,仅有Redis常规操作,几乎不需要开发团队掌握额外的知识!
2023-03-23 08:43:24 1348
原创 SimpleAdmin手摸手教学之:代码生成
大部分项目里,其实有很多代码是重复的,几乎每个模块都有 CRUD 增删改查的功能,而这些功能的实现代码往往是大同小异的。如果这些功能都要自己去手写,非常无聊枯燥,浪费时间且效率很低,还可能会写错。本框架提供代码生成器功能,通过选择数据库表,完成单表的增删改查管理功能,可以生成包括前端、后端、和SQL语句,同时支持ZIP压缩包和直接生成到项目两种模式,解放你的双手,大大减少了重复代码的编写,无需复制提升开发效率。
2023-03-22 08:57:18 320
原创 SimpleAdmin手摸手教学:Redis缓存
系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统采用Redis分布式缓存,将一些基本信息表缓存在内存中,可以打打减少数据库压力,提高读取速度。关于Redis的说明和安装请自行百度,win下都是一键安装的。推荐使用Another Redis Desktop Manager可视化工具来查看缓存信息。
2023-03-22 08:54:22 98
原创 SimpleAdmin手摸手教学之:即时通讯
作为前后端分离项目,前后端交互是一个非常重要的功能。目前主流框架都是通过Socket实现,本系统自然也是实现了基于Signalr的前后端交互,并在此基础上实现了基于MQTT的前后端交互功能,MQTT相比socket业务场景更多更灵活,在物联网方向有着非常多的应用。在工业物联网方向,mqtt也是应用非常广泛,最为.neter来说学习mqtt很有必要。
2023-03-22 08:53:39 447
原创 SimpleAdmin手摸手教学之:操作日志
日志模块作为一个管理系统应该有的模块之一,在系统中有着举足轻重的作用,可以记录用户的操作记录和者系统异常,出现问题可以快速定位错误。就自动帮我们记录了请求的地址,参数,结果等信息,我们只需要在数据库写入器中获取日志的json字符串,转为实体,然后做逻辑处理就行。本系统中的访问日志主要是记录用户的登录登出操作,逻辑很简单,根据操作名称判断如果是用户登录和用户登出则进入访问日志的写入。监听日志功能,实现了操作日志和访问日志的记录。推出了自己的日志功能之后,所有能改的系统都改成了。的日志模块,非常灵活。
2023-03-21 09:05:36 238
原创 SimpleAdmin手摸手教学之:权限设计
本系统权限设计采用的是标准的RBAC模型,即基于角色的访问控制,通过用户关联角色,角色关联权限,来间接的为用户赋予权限
2023-03-21 09:00:49 445
原创 SimpleAdmin手摸手教学之:登录鉴权
不管是作为一个后台管理系统,还是客户端应用系统,登录都是一个必备的功能,基本上每个程序员都写过登录接口,基本就是用户输入账号密码然后去数据查比对是否一样,一样就返回登录成功,不一样就返回登录失败。自动刷新token,也叫无感刷新,因为我们使用的是token认证,但是token又是无状态的,token到期之后携带请求会报401错误,如果用户用的好好的突然需要重新登录,那么用户体验就不是很好,所以我们需要系统后台刷新token,而因为我们使用的。,并通过响应报文头返回,用户登录成功之后把。
2023-03-21 08:58:12 578
原创 SimpleAdmin手摸手教学之:请求代理
在之前使用其他admin的时候,经常会有人再部署的时候会遇到这么一个问题:明明在生产环境中配置了后端的api地址,但是通过nginx部署之后,请求的确是本地的地址。这是因为在项目中配置了代理,部署之后所有的请求都走了代理导致配置文件地址失效,关于vite代理说明,请自行百度,针对这种情况,本系统通过开关的方式让开发者自行选择是否走代理。
2023-03-21 08:54:41 126
原创 SimpleAdmin手摸手教学之:关联关系
在传统的开发中,我们有用户user表,有角色role表,有菜单menu表,这些表代表着一个“实体”,而我们想把user和role关联,就会创建user_role关联表,想把role和menu关联,就会创建一个role_menu表,其实关联表创建多了,我们就不难发现,他们的结构大致是相同的,就是以一个“对象”关联另一个“对象”,并以其唯一键进行关联,可能还会冗余保存双方的一些额外的“扩展信息”。
2023-03-20 09:17:33 113
原创 SimpleAdmin手摸手教学之:启动部署与重命名
SimpleAdmin是一个通用的后台管理系统,这就表示它可能会被用于各种不同的系统中,不同系统的项目命名肯定是不一样的。这就需要能够快速的修改项目名称,而且修改之后要保证项目的可运行性,考虑到这一点,所以我将系统命名为。打开txt可以看到,改文件有三个命令,第一个是安装模板,第二个是卸载模板,第三个是根据模板创建自己的项目。为启动项,直接运行,系统会自动生成数据库,表,和种子数据,并监听5566端口,控制台出现以下提示。通过创建项目模板,能够非常容易的修改项目名称,而不是通过全局替换这种非常蠢得方式。
2023-03-20 09:11:02 444
原创 SimpleAdmin:一个基于.NET6/7+Vue3+Fruion+Sqlsugar的通用后台管理系统
💥SimpleAdmin一个小而美的通用业务型后台管理系统。前端基于小诺2.0版本二次开发,采用Vue3+Vite+Vuex+JS,并在此基础上增加更人性化功能,后端采用.NET6/7+Furion,ORM采用Sqlsugar+单例模式,基于Redis的分布式缓存,采用RBAC+多机构的权限管理模式,实现全网最灵活的接口级别数据权限控制,集成国密加解密,导入导出、导入导出、批量修改等常用插件。后端代码注释覆盖率>90%,并配备手摸手教学文档,非常适合二次开发。
2023-03-17 16:52:10 3586 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人