- 博客(56)
- 收藏
- 关注
原创 支付宝沙箱支付遇到knife4j接口文档会出现验签失败的问题
发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。需要重新指定静态资源。自己写项目的时候遇到了一个奇怪的问题:支付宝沙箱支付遇到knife4j接口文档会出现验签失败的问题。这里只有一个支付宝沙箱支付和腾讯云sms功能 是没有问题的。但是当我把knife4j依赖放进去就会出现下面问题。.description("接口文档")有没有大佬知道是什么原因导致验签错误的。.title("接口文档")支付宝页面就会出现验签错误。* 设置静态资源映射。
2023-12-25 09:37:26
3213
原创 密码加密之bcrypt
bcrypt 对同一个密码每次加密时使用的 salt 是不一样的, 因此每次生成的 Hash 也是不一样的,但是 Hash 中包含了 salt,在下次校验时,从 Hash 中取出 salt,salt 跟password 进行 Hash 得到密文。密文和保存在 DB 中的 Hash 是同样的原文和 salt 加密出来的,所以必定是相同的字符串。bcrypt 算法将 salt 随机并混入最终加密后的密码,验证时也无需单独提供之前的 salt。- 每次的 salt 是随机的生成的,不用担心 salt 会泄露。
2023-04-11 15:37:25
1722
2
原创 JWT使用
JWT 最常见的场景就是授权认证,一旦用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求的之前,都要先进行JWT安全校验,通过之后再进行处理。// 定义加密的密钥。
2023-04-03 18:27:21
570
原创 Dynamics 365 Customer Service入门
客户服务是组织客户互动战略的关键组成部分。客户对一个组织的看法通常与该组织为他们提供的服务直接相关。作为一个组织,您有必要了解客户的期望以及他们对优质客户服务的看法。对客户期望了解得越深刻,客户服务战略实施的效率就越高。Microsoft Dynamics 365 Customer Service 具有许多组织可以用来管理他们为客户提供的服务的功能。为帮助您深入了解客户服务环境,我们不妨看几个真实客户场景。克服或解决客户或产品问题:当地自行车店的一位客户最近发现,山地车上的刹车存在缺陷,无法正常工作。
2023-03-28 17:02:42
829
原创 springboot传递List类型参数报错 No primary or single unique constructor found for interface java.util.List
因为获取controller参数是在进入controller方法之前(因为需要转换成controller需要的参数),所以肯定是在获取controller参数之前。Spring MVC获取参数不带注解的唯一要求就是参数名和Http请求参数名一致。一般的 List 参数只是用逗号分隔。报错:No primary or single unique constructor found for interface java.util.List。那是处理器映射过程中的问题。然后页面显示500错误。
2023-03-28 10:18:52
17157
3
原创 Dynamics365业务(二)
某些应用程序(例如 Dynamics 365 Field Service 和 Dynamics 365 Sales)具有专用应用程序,可以下载并安装在您的移动设备上,以便为用户提供基于该应用程序的目标功能。通过在 Dynamics 365 中输入这些活动,您拥有与客户沟通的历史记录。活动通常与联系人和客户相关联,但根据您使用的 Dynamics 365 应用程序,它们也可以与其他类型的记录相关联。随着您的组织与客户的关系随着时间的推移而发展,您和您团队中的其他人可以查看记录时间线以查看您的交互历史。
2023-03-24 11:46:07
326
原创 Dynamics 365 业务(一)
虽然销售周期长度和项目成本核算使基于项目的销售不同于典型的基于产品的销售,但 Dynamics 365 项目运营使用与 Dynamics 365 销售人员相同的核心销售记录类型来支持基于产品的销售方案。Dynamics 365 客户服务使您的支持人员能够为您的客户提供增强的帮助。它为组织中的每位销售人员提供了分析、行动和自动化整个组织中的数字销售的功能,以从头开始转变他们的销售方式。商业企业的主要目标是通过确保客户希望继续与您的组织开展业务,吸引客户并随着时间的推移与他们保持牢固的关系。
2023-03-24 09:38:20
321
原创 获取proxy对象中属性的值
今天写vue3项目的时候,想要获取row里边的一个属性的值 发现怎么也获取不到看代码这是前端页面当我要点击接种的时候想要获取到该行接种者自己的id前端代码这个id我并没有在前端展示出来,我只在前端展示了四个属性供用户查看当我想要获取这一行病人的id的时候,我刚开始写法是直接row.id查看一下控制台信息发现row能正常输出row.id就显示输出的是undefine直接打印proxy里面的值可能会报undefined。
2023-03-23 16:12:13
5736
原创 对Dynamics365的理解
最后,Dynamics 365对系统数据的安全性,系统使用的稳定性是极为注重的,这些都是企业持续稳定发展的基本保证。,线下对接微信公众号,进行客户导流,可以定义多种排重策略,销售派单与抢单、公私海,客户自动化标签与客户细分,销售流程高度自定义,各种条件触发的自动化工作流,智能化标注的客户生命周期管理,360度客户视图,RFM模型,与邮件系统的深度整合(outlook整合到界面,Foxmail整合通知),邮件群发能追踪邮件打开率,全球的CRM系统,只有Dynamics 365可以实现这一点。
2023-03-23 09:52:25
1537
原创 Dynamics365业务理解
Dynamics 365是由微软公司开发的企业资源计划(ERP)和客户关系管理(CRM)软件解决方案,旨在帮助企业更好地管理销售、客户服务、运营、财务等业务流程。Dynamics 365 Sales(销售):该应用程序提供了一个全面的销售管理解决方案,包括客户信息管理、销售机会管理、销售团队协作、销售预测等功能。Dynamics 365 是微软的一套基于云端的企业应用软件,提供一系列业务功能模块,包括销售、客户服务、人力资源、财务和操作等领域。这种统一性能够帮助企业更好地了解自己的运营状况和客户需求。
2023-03-17 15:59:08
1325
原创 springboot vue3 前端调用后端接口 传参问题
qs是一个npm仓库所管理的包,可通过`npm install qs`命令进行安装([axios](2、qs.stringify()将对象 序列化成URL的形式,以&进行拼接。自带qs , // import qs from 'qs')二、传参格式 qs.stringify()使用方法。这里我们发现他自动把对象转化为了 &连接的url。用单个参数传输没有遇到 ,,只有当使用到。今天写毕设的时候传参遇到了一个问题。然后使用qs转化之后就好使了。发现一直没有传过去数据。去控制台查看str的值。
2023-03-15 13:50:02
831
原创 下载使用 PowerShell 的 Dynamics 365 CRM 的插件注册工具
参考:下载适用于使用 PowerShell 的 Dynamics 365 CRM 的插件注册工具 |D365揭秘 (d365demystified.com)
2023-03-06 22:41:59
129
原创 .NET Core 使用MailKit发送电子邮件
它相比.NET自带的SmtpClient,支持更广泛的协议和更现代的电子邮件标准。因此微软官方建议,SmtpClient只用来兼容老应用,如果开发新应用的话,直接使用MailKit。这是一个基于MimeKit的跨平台.NET邮件库,支持。IMAP、POP3、SMTP协议。一、首先要拿到我们的客户端授权码。然后发送短信到指定号码,就能得到。QQ:先进入QQ邮箱,点击设置。二、开启SMTP服务。
2023-03-06 22:03:21
2005
原创 前端搭建
如果不确定是否要开启某个功能,你可以直接按下回车键选择 No。TypeScript:是JavaScript的超集(.ts文件),包含并扩展了 JavaScript 的语法。CSS Pre-processors :CSS 预处理器(如:less、sass)Babel:转码器,可以将ES6代码转为ES5代码,可兼容不支持ES6的浏览器。Linter / Formatter:代码风格检查和格式化(如:ESlint)Router :vue-router(vue路由)Vuex :vuex(vue的状态管理模式)
2023-02-27 09:48:22
76
原创 AutoMapper对象映射器
映射可以出现在应用程序的许多地方,但主要是在层之间的边界,例如 UI/Domain 层或 Service/Domain 层之间。一层的关注点经常与另一层的关注点发生冲突,因此对象-对象映射导致分离模型,其中每一层的关注点只能影响该层中的类型。AutoMapper 是一个简单的小库,旨在解决一个看似复杂的问题——摆脱将一个对象映射到另一个对象的代码。基于约定的对象-对象映射器。消除将一个对象映射到另一个对象的所有麻烦。3、 添加继承 Profile 的映射关系类 AutoMapper。
2023-02-10 11:38:09
446
1
原创 Asp.Net Core鉴权授权:标识框架identity
它采用RBAC(role-based access control,基于角色的访问控制)策略,内置了对用户、角色等表的管理及相关的接口,从而简化了系统的开发。创建继承自IdentityDbContext的类,这是一个EFCore中的上下文类,我们可以通过这个类操作数据库,IdentityDbContext是一个泛型类,有3个泛型参数,分别代表用户类型、角色类型和主键类型。在一个系统中,不是所有功能都能被自由地访问的,比如有的功能需要注册用户才能访问,有的功能需要VIP用户才能访问。
2023-02-08 18:54:24
669
原创 项目实战2
一、路由的配置和使用路由的作用、URL地址和页面的适配安装命令新建相关页面src目录下新建路由文件routes.ts按右侧代码块写入页面和路由映射关系项目中导入安装路由成功在src中新建routes文件并补充需要在main里边使用二、创建后端项目选择webAPI然后启动项目表示创建成功三、设计数据库认为需要四个表登陆的账号密码我写到了用户表里面了 没有再重新弄一个表1、用户表字段如图。
2023-02-01 19:39:34
69
原创 项目实战1
使用vscode打开新建的文件夹1. node modules 模块包public 公共资源2. src 项目目录3. assets 静态资源4. components 组件5. App.vue 根组件、6. main.ts 根函数入口,全局配置生效的地方7. package.json 项目配置文件,项目的标题、版本,模块的版本等信息。
2023-01-31 20:19:27
102
原创 EFCore关系配置
意思是把Article的comments属性关联查询出来。一个订单对应一个快递单 一个快递单对应一个订单。一对一必须在其中一个实体类中声明一个外键属性。断电查看Comments并没有查出来。并没有查询到对应的comments。发现只查询了一个表 并没有查询。发现两个表使用join连接。查看select语句。查看select语句。
2023-01-30 15:27:25
148
原创 EF Core一对多关系配置
一对多: HasOne(...).WithMany(...);多对多: HasMany (...).WithMany(...);3.在多的类配置文件中配置好// 我有一个文章 文章有多个评论。EF Core不仅支持单实体操作,更支持多实体的关系操作。1.先声明一的对象,并且在一的类中把多的list建好。复习:数据库表之间的关系:一对一、一对多、多对多。在一对多的关系中 在多的 建立指向一的外键关系。EF Core中实体之间关系的配置的套路。SaveChanges保存。2.在多的类中声明好父亲。
2023-01-29 14:37:48
641
原创 ASP.NET Core 基础组件
上例虽然遵循了"依赖倒置原则",但是违背"开放封闭原则",因为如果有一天想修改 md 为 YourDependency 类的实例,则需要修改 Test 类.因此,我们需要反转这种创建对象的过程.上层不应该依赖下层,Test 类不应该依赖 MyDependency 类,因为如果 MyDependency 类变化了,就是把这种变化所造成的影响传递到上层 Test 类.控制反转是一种思想,所谓"控制反转",就是反转获得依赖对象的过程.或许,叫"反转控制"更容易理解.使用者就是上层,上例中,Test 类就是上层.
2023-01-20 22:55:52
115
原创 简单了解委托
在c和c++中,只能提取函数的地址,并作为一个参数传递它。c没有类型安全。可以把任何函数传递给需要函数指针的方法。但是这种直接方法不仅会导致一些关于类型安全的问题,而且没有意识到:在进行面向对象编程时,几乎没有方法是孤立存在的,而是在调用方法之前通常需要与类实例相关联。所以在.NET在语法上不允许使用这种直接方法。如果要传递方法,就必须把方法的细节封装在一种新类型的对象中,即委托。委托只是一种特殊类型的对象,起特殊之处在于,我们之前定义的所有对象都包含数据,而委托包含的只是一个或多个方法。
2023-01-19 21:46:31
93
原创 .net7新功能
NET 7 为C# 11/F# 7、.NET MAUI、Core/Blazor、Web API、WinForms、WPF 等应用程序带来了更高的性能和新功能。使用 .NET 7,您还可以轻松地将 .NET 7 项目容器化,在 GitHub 操作中设置 CI/CD 工作流,并实现云原生可观察性。
2023-01-18 22:17:44
354
原创 Linq分组
linq的语法通过System.Linq下面的Enumerable类提供支持,也就是说,只要是实现了IEnumerable的对象都可以使用Linq的语法来查询。LINQ定义了大约40个查询操作符,如select、from、in、where、group by 以及order by,通过查看源代码,实际上linq为IEnumerable实现了一系列的扩展方法。:这里将查询结果 命名为g,一旦重新命名,T 的作用域就结束了,所以,最后select时,只能select g。
2023-01-17 21:25:16
873
原创 Entity Framework Core 基础
上面的命令就会为SQL.Senverfdemol 数据库中的所有表生成实体类及上下文为,用所示的就是反向工程工具所生成的项目文件。反向工程可以大大减少开发的工作量,但是由于所有的代码都是根据数据库生成的,因生成的实体类也许并不能满足项目的要求。以上面生成的实体类为例,所有的数据库表名为“T_实体类名称的复数形式”,而反向工程则是根据EF Core默认的规则生成“TCat”这样的类名,而不是“Cat”这样的类名。
2023-01-16 20:32:10
109
原创 数据库迁移
通过使用Add-Migration和Update-database两个命令,我们对于EF Core的数据库迁移有了基本的了解,本节将深入介绍数据库迁移的更多用法。一、 数据库迁移原理数据库迁移的使用看似很简单,但是内部实现非常复杂,只有了解它的内部实现原理,我们才能更好地使用它。我们查看一下之前演示项目的数据库迁移代码结构,如图4-14所示。数据库迁移代码结构Migrations文件夹下的内容都是数据库迁移生成的代码,这些代码记录了对数据库的修改操作 ,每一个文件代表一次对数据库的修改操作;
2023-01-13 20:51:34
965
原创 C#新语法续
Name、PhoneNumber两个属性都是 str类型,因此它们都是“不可为空的string类型”,但是Student类的构造方法中只为Name赋值了,这样就存在PhoncNumber属性没有被赋值,从而导致其属性值为空的可能性,因编译器给出了这样的警告信息。C#8.0中提供了“可为空的引用类型”语法,可以在引用类型后添加“?在之前版本的C#中,类型必须定义在命名空间中,而从C#10.0开始,C#允许编写独立namespace代码行声明命名空间,文件中所有的类型都是这个命名空间下的成员。
2023-01-12 19:33:03
181
原创 C#新语法
在C#8及之后的版本中,可以使用简化的“using声明”语法来避免代码的嵌套,如代码2-6所示在声明变量的时候,如果类型实现了 IDisposable 或IAsyncDisposable 接口,那么可以在变声明前加上using关键字,这样当代码执行离开被using修饰的变量作用域的时候,变量指的对象的Dispose方法就会被调用。我们知道,C#中可以用using关键字来简化非托管资源的释放,当变量离开using 作用范围后,会自动调用对象的Dispose方法,从而完成非托管资源的释放。
2023-01-11 20:16:10
214
原创 C# XML标记语言
XML:可扩展的标记语言,它用于存储数据。(3)XML文档只能有一个根节点。(1)XML是严格区分大小写的;(2)XML标签都是成对出现的;
2023-01-10 20:38:06
202
原创 Git快速上手与使用Github
首先要在本地创建一个ssh key ,这个的目的就是你现在需要在你电脑上获得一个密匙,获取之后,在你的GitHub账号里边输入之后,你的电脑就和你的GitHub账号联系在一起了,这样以后就可以十分方便的通过Git bash 随时上传你的代码。接下来就要开始创建属于你自己的秘钥,要在黑框里输入命令: (引号内需要改成你在注册GitHub的时候绑定的邮箱账号)Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前。安装完成后,右击桌面,弹出如下框即表示安装完成。
2023-01-09 23:30:15
100
原创 EFCore小记
一、深入了解Migrations1、使用迁移脚本,可以对当前连接的数据库执行编号更高的迁移,这个操作叫做“向上迁移” (Up),也可以执行把数据库回退到旧的迁移,这个操作叫“向下迁移(Down)2、除非有特殊需要,否则不要删除Migrations文件夹下的代码。3、进一步分析Migrations下的代码。分析Up、Down等方法。查看Migration编号。4、查看数据库的_EFMigrationsHistory表:记录当前数据库曾经应用过的迁移脚本,按顺序排列。
2023-01-06 18:27:56
166
原创 日志系统
NuGet安装: NLog.Extensions.Logging(using NLog.Extensions.Logging;项目根目录下建nlog.config,注意文件名的大小写(考虑linux)也可以是其他文件名,但是需要单独配置。3、.NET的日志非常灵活,对于业务代码只要注入日志对象记录日志即可,具体哪些日志输出到哪里、什么样的格式、是否输出等都有配置或者初始化代码决定。即可,T一般就用当前类,这个类的名字会输出到日志,方便定位错误。等方法输出不同级别的日志,还支持输出异常对象。
2023-01-05 21:39:44
516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人