随笔分类 - 16-框架专题
摘要:一. 需求分析和设计 1. 需求说明 主要包括用户管理、用户登录、发送验证码等功能。 (1). 用户管理包括:添加用户、获取所有用户信息、修改密码、解除登录锁定 等功能。 (2). 用户登录包括: 发送验证码、校验验证码的准确性、通过手机号和密码登录。 A. 对于DB中存在的用户,如果超过3次登录失
阅读全文
摘要:一. 相关概念 1. 单体结构 优点: 便于维护 缺点: 耦合;技术栈统一,软件包版本锁定;一崩全崩;升级周期长;无法局部扩容 2. 微服务结构 优点: 耦合性低,易于开发和维护;可以用不同技术栈;可以单独扩容;互相隔离,影响小;部署周期短。 缺点: 对运维能力要求高;运行效率会降低;技术要求高,需
阅读全文
摘要:一. Zack.EventBus简介 1. 说明 【Zack.EventBus】是老杨开发的一个基于Rabbitmq消息队列的集成事件框架,简化了原生连接Rabbitmq繁琐的代码,常用于多个微服务间通信。 RabbitMQ等消息中间件的消息发布和消费的过程是异步的,也就是消息发布者将消息放入消息中
阅读全文
摘要:一. MediatR简介 1. 说明 MediatR是.NET中的开源简单中介者模式实现,它通过一种进程内消息传递机制(无其他外部依赖),进行请求/响应、命令、查询、通知和事件的消息传递,并通过泛型来支持消息的智能调度, 多用于领域事件中。 (GitHub:https://github.com/jb
阅读全文
摘要:一. 搭建基本框架,各层联调成功 1. 项目分层 新建:YpfCore.AdminWeb、YpfCore.Data、YpfCore.DTO、YpfCore.IService、YpfCore.Service、YpfCore.Utils,每层的作用如下: A. YpfCore.AdminWeb层:Api
阅读全文
摘要:一. 动态登录页 二. 三套皮肤 三. 菜单伸缩 四. 其它 1. 基础布局页面 2. 日期控件改造 3. 弹框 ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声
阅读全文
摘要:一. 升级1 1. async+await 异步编程 (1). 首先利用Promise封装ajax方法 //ajax-Promise模式【异步】(自定义异常调用的时候写catch) ajaxAsync(type, url, data, funSuc, funErr) { return new Pro
阅读全文
摘要:一. 常规升级-20210605 EFCore相关的从5.0.4 升级到 5.0.6 AutoFac从6.1.0 升级到6.2.0 EPPlus 从 5.5.5 升级到 6.6.4 JWT 从8.1.3 升级到 8.2.2 protobuf-net 从 3.0.73 升级到 3.0.101 Z.En
阅读全文
摘要:一. 插件汇总 1. 中英文转换 参考地址:http://blog.haoji.me/pinyinjs.html#ru-guo-pin-yin-bu-xu-yao-sheng-diao (含多音字、声调等多种用法) GitHub地址:https://github.com/sxei/pinyinjs
阅读全文
摘要:一. 全面升级5.x版本 1. 将每个项目的属性→目标框架,改为 .Net5.0。 2. 把YpfCore.Data层 Pomelo.EntityFrameworkCore.MySql 先删掉,代码也要注释掉 把YpfCore.Service层 和 YpfCore.AdminWeb层 Z.Entit
阅读全文
摘要:一. 基础组件用法 1. ComboBox (1). 如何开启输入搜索? 开启下面属性即可,默认就是开启的。 2. DateTimeBox (1). datebox : 精确到日 (2). datetimebox:精确到秒 3. Messager (1). 单纯提示框 代码分享: $.message
阅读全文
摘要:一. 剖析datagrid表格 1. 表格的初始化 这里我们通过js的方式来创建。 (1). 首先要有一个table标签,用于承载显示表格。 <table id="j_dgUser"></table> (2). 通过js初始化 $("#j_dgUser").datagrid({ url: GetUs
阅读全文
摘要:一. 前端规范设计 1. 页面JS 这里主要采用三个对象来处理页面的各种业务,mainUtil用于处理各种初始化,pageUtils用于页面增、删、改 等等方法的封装,otherUtil用于封装一下帮助方法。 格式如下: (function(w){ //全局变量 //一. 各种初始化 var mai
阅读全文
摘要:一. DB设计 1. 说明 框架的基础功能包括:用户管理、角色管理、登录日志、操作日志模块,1个角色可以配置多个权限,1个用户可以配置多个角色,相关表设计如下,大致思路:登录→根据userId拿到所有角色Id→获取所有角色Id对应的权限信息→对这些权限信息去重。 2.详细结构分享 (1). 用户表
阅读全文
摘要:一. 接口设计 1. 说明 设计异步方法,这里采用文件流的形式进行存储,设计两个接口,分别用来处理单文件上传和多文件上传. 2. 大致思路 获取文件→判空→获取文件名和扩展名→设置存放绝对路径(若不存在,则新建)→编辑文件保存名称(这里随机命名,所以不用判重) →拼接最终路径进行保存→DB中存储相对
阅读全文
摘要:一. 集成全局返回值处理 参考: https://www.cnblogs.com/yaopengfei/p/12362554.html 1. 背景 在Core Mvc 3.x版本中,通过return Json的模式返回给前端, DateTime类型不友好(当然可以在后台强转,或者在前端转换),而且会
阅读全文
摘要:一. DB支持MySQL 参考文章: 映射指令:https://www.cnblogs.com/yaopengfei/p/11633385.html EFCore链接MySQL:https://www.cnblogs.com/yaopengfei/p/11507557.html EFCore链接My
阅读全文
摘要:一. 缓存 参考文章: (1). Asp.Net Core内存缓存:https://www.cnblogs.com/yaopengfei/p/11043337.html (2). Asp.Net Core分布式缓存(SQLServer和Redis):https://www.cnblogs.com/y
阅读全文
摘要:一. Cookie、Session、HttpClient 1. 说明 在Asp.Net Core Mvc中,服务的注册通常是在ConfigureService中进行,一个框架会注册很多服务,每个服务都会对应一系列配置,所以我们这里采用【扩展方法】的模式,将需要注册的服务剥离到 YpfCore.Uti
阅读全文
摘要:一. 结构介绍 1. 分层建项目 新建:YpfCore.AdminWeb、YpfCore.Data、YpfCore.DTO、YpfCore.IService、YpfCore.Service、YpfCore.Utils,每层的作用如下: A. YpfCore.AdminWeb层:UI层,存放一些页面和
阅读全文