- 博客(120)
- 收藏
- 关注
原创 OAuth2入门
OAuth2-example: 演示OAuth2的认证流程。客户拿到授权码后向认证服务器申请令牌。客户获取令牌后向资源服务器请求数据。客户向资源所有者申请授权码。认证服务器接到申请下方令牌。资源所有者下发授权码。
2023-02-03 16:29:29
892
原创 OAuth2 01
1.OAuth2.0介绍 OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他 们数据的所有内容。OAuth在全世界得到广泛应用,目前的版本是2.0版。2.OAuth协议:https://tools.ietf.org/html/rfc6749 协议特点:简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用;
2023-02-01 14:22:40
561
原创 swagger入门
在这种情况下,前端和后端可以分别交付给专业的开发人员去做,所以是必须要定义前后端直接的对接。在接口发送改变时需要及时的同步接口文档,否则实际的接口与接口文档不相符,则接口文件就失去了。根据在代码中使用自定义的注解来生成接口文档,这个在前后端分离的项目中很重要。在开发接口时可以通过swagger将接口文档定义好,同时也方便以后的维护。接口,否则各自为是则项目无法集成,这时就需要一个文档来定义统一的接口。前后端分离是的前端与后端之间的职责更加明确。后台: 负责业务处理。前端: 负责显示逻辑。
2023-01-07 18:47:32
767
原创 微信小程序后台交互-个人中心06
session_key 功能说明 微信客户端通过wx.getUserInfo()获取用户的信息 后台有时候也需要获取微信客户端的用户信息,因此,就需要利用session_key这个秘钥来从微信平台中获取 官方文档原文 签名校验以及数据加解密涉及用户的会话密钥 session_key。小程序端长时间不使用,服务端的session_key会失效,无法再用session_key去微信端获取数据,需要小程序端重新执行登录操作;服务端要获取session_key 只能通过小程序端的登录来操作;
2022-12-29 19:59:09
1131
原创 微信小程序会议OA-后台数据交互(首页)05
last_login_ip` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '最近一次登录IP地址',`weixin_openid` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '微信登录openid',
2022-12-29 00:06:05
520
原创 微信小程序 会议OA项目-其它页面04
目录1.会议管理 1.1 自定义tabs组件 1.2 会议管理2.投票管理3.个人中心文档参考:自定义组件 | 微信开放文档微信开发者平台文档https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/ 新建一个文件夹: tabs.jsontabs.wxml tabs.wxsstabs.js list.json:list.wxml: list.wx
2022-12-28 22:38:39
352
原创 微信小程序-会议OA项目03
布局的传统解决方案,基于盒状模型,依赖display属性 +position属性 +float属性1) Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。2) 任何一个容器都可以指定为Flex布局。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。
2022-12-28 21:15:11
1100
1
原创 微信小程序框架02
小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。逻辑层(App Service)和视图层(View)。小程序提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
2022-12-28 17:53:59
395
原创 小程序入门01
2017年度百度百科十大热词之一微信小程序(wei xin xiao cheng xu),简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装,用完即走,实际上是需要安装的,只不过小程序的体积特别小, 下载速度很快,用户感觉不到下载的过程 )限制:同一个分包中的页面享有共同的预下载大小限额 2M,限额会在工具中打包时校验。2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。
2022-12-28 14:08:54
356
原创 Nacos的持久化和集群部署
e MYSQL_MASTER_SERVICE_HOST=172.17.0.2 \ #mysql主节点数据库IP,这有个坑:因为网络模式为bridge重启系统后IP会变导致nacos的再次启动失败。-e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \ #mysql主节点数据库名。会发现这此值未设置默认值,所以会导致启动报错,容器启动不起来,这里可以与主数据库一致。还有一个解决方案就是。
2022-12-12 21:19:54
504
原创 Sentinel--服务容错
Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量 为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即 突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用 应用等。完备的实时监控:Sentinel 提供了实时的监控功能。
2022-12-12 09:20:10
387
原创 Docker入门
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2022-12-10 17:04:53
527
原创 docker安装nginx
容器my-nginx4绑定的宿主机外部ip是192.168.10.214,端口是9999,则访问http://192.168.10.214:9999就可以,访问http://127.0.0.1:9999或http://localhost:9999就会拒绝!容器my-nginx3绑定的宿主机外部ip是127.0.0.1,端口是8888,则访问http://127.0.0.1:8888或http://localhost:8888都可以,访问http://192.168.10.214:8888就会拒绝!
2022-12-09 17:03:56
1321
原创 自定义jdk镜像
alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Linux发行版的这些优势
2022-12-07 23:30:12
1542
原创 Gateway--服务网关
大家都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调 用。这样的架构,会存在着诸多的问题:客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。所谓的API网关,就是指系统的统一入口。
2022-11-30 14:23:16
255
原创 Nacos Config--服务配置
首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散 在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环 境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动 维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一 个正在运行的项目来说是非常不友好的。
2022-11-29 01:25:33
637
原创 Nacos Discovery--服务治理
先来思考一个问题通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题:一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。什么是服务治理服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。
2022-11-29 01:03:56
751
原创 微服务介绍2
1 搭建项目 1.1 父项目的搭建 1.2 子项目的搭建2 项目展示1 选择maven项目作为父项目,修改为1.8之后直接点击next 2 定义父项目的名称,修改Artifct Coordinates ---> GroupId 然后点击finsh就可以啦 3 修改pom.xml搭建一个shop-common的maven子项目当建完这个项目时 父项目的pom.xml就会自动多出几行代码 ,这表示关联成功 shop-common的pom.xml创建springboo
2022-11-25 15:35:53
597
原创 微服务介绍1
微服务架构, 简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独 立运行的项目。Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服 务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接 入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
2022-11-24 16:44:14
233
原创 前后端分类 (增加,查询)
el-form-item prop="bookname" label="书本名称" :label-width="formLabelWidth">
2022-11-21 08:34:05
1037
2
原创 自定义starter
starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。SpringBoot中的starter是一种非常重要的机制(自动化配置),能够抛弃以前繁杂的配置,将其统一集成进starter,如果我们将这些可独立于业务代码之外的功能配置模块封装成一个个starter,复用的时候只需要将其在pom中引用依赖即可,所有这些依赖模块都遵循着约定成俗的默认配置,并允许我们调整这些配置,即遵循“约定大于配置”的理念。在我们的日常开发工作中,经常会有一些独立于业务之外的配置模块,我们经常将其放到一个特定的包下,
2022-11-03 20:25:06
309
原创 springboot整合其他项目
阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池 - druid/druid-spring-boot-starter at master · alibaba/druid添加配置。
2022-11-03 20:16:02
180
原创 SpringBoot 入门
Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具同时它集成了大量常用的第三方库配置(例如等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。
2022-10-28 19:21:28
1011
原创 SpringBoot(自定义注解)
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解分类(根据Annotation是否包含成员变量,可以把Annotation分为两类):标记Annotation:没有成员变量的Annotation;这种Annotation仅利用自身的存在与否来提供信息元数据Annotation:包含成员变量的Annotation;它们可以接受(和提供)更多的元数据;
2022-10-27 15:42:36
1567
原创 Redis 03(整合,注解)
因为自然形成的缓存雪崩,一定是在某个时间段集中创建缓存,那么那个时候数据库能顶住压力,这个时候,数据库也是可以顶住压力的。如果某一时刻(淘宝秒杀,双十一零点开始)key 失效,那么零点之后对某个 key 失效的商品的所有请求将会直接打到数据库上,很有可能倒是数据库崩掉,仅而造成整个服务的不可用。配置在方法或类上,作用:本方法执行后,先去缓存看有没有数据,如果没有,从数据库中查找出来,给缓存中存一份,返回结果, 下次本方法执行,在缓存未过期情况下,先在缓存中查找,有的话直接返回,没有的话从数据库查找。
2022-10-26 19:27:59
821
原创 Redis (java 操作redis)
2.2java操作redis 存储String。2.1java代码连接redis。执行之后出现PONG就说明已将连接上了。2.3 Redis哈希(Hash)2.4 Redis列表(List)2.5 Redis集合(Set)放入ip地址和redis端口号。
2022-10-25 17:10:34
889
原创 Redis
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。版权声明:本文为优快云博主「星星铺满海面」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。type age //string 说明type返回的是键值对存储类型,而不是值存储类型。
2022-10-24 20:29:21
92
原创 Git 分支和标签
注1:有的公司在版本命名时,前面加v,“-”替换成“_”,更加详细一点还可以在修订号后面添 加发布日期 v1.0.0.191220_r,这都是可以的。Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r。git checkout -b 分支名 。git checkout -b 分支名。git branch -d 分支名。git branch -d 分支名。
2022-09-23 20:27:28
1118
原创 Git操作
注2:为什么要删除秘钥,创建SSH的时候设置过密码,那就很有可能git操作时出现忘记密码的尴尬情况, 不要想着怎么重新修改密码了,选择重新创建一个ssh秘钥。就需要将每台电脑的ssh key添加到远程账户,添加到远程版本库之后,远程版本库就会和已经添加的电脑进行通讯而不会和其他电脑进行通讯。注1:如果本地有ssh,执行以上命令会出现正面的提示,这里选择y,表示覆盖本地的ssh key,其实也就是ssh秘钥删除的意思。注2:~表示当前用户的目录,比如我的是:C:\Users\Administrator。
2022-09-22 23:57:21
946
原创 Git简介
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。已修改(modified):表示修改了文件,但还没保存到git仓库中。已提交(committed):表示文件已保存在git仓库中。未跟踪(untrack):表示文件为新增加的。git中的文件有以下几种状态。
2022-09-19 21:41:38
217
1
原创 Jwt 介绍
Testpublic void test1() {// 生成JWT}System.out.println("令牌签发时间:" + sdf.format(d1));System.out.println("令牌过期时间:" + sdf.format(d2));}@Testpublic void test2() {// 解析oldJwt}System.out.println("令牌签发时间:" + sdf.format(d1));
2022-09-16 19:42:05
341
原创 Vuex 存值,取值
解决了前端组件传参的问题,针对当前项目所有的变量进行统一管理,可以理解为前端数据库。异步方法,我们不知道什么时候状态会发生改变,所以也就无法追踪了。这样写很麻烦,并且写着写着,估计自己都不知道这是啥了,很容易写晕。:官方给它还取了一个高大上的名字:载荷,其实就是一个保存要传递参数的容器。基本上就是一个容器,它包含着你的应用中大部分的状态。上下文参数,注意,这个参数可不一般,它与。:部门管理中添加或删除了新的部门,员工新增。自定义的事件总线对象,用于父子组件的通信。就不能满足我们需求了,这时候我们就需要。
2022-09-14 19:34:11
5211
原创 SPA项目开发之首页导航+左侧菜单
this.$root.Bus.$on实际是向Bus容器中添加一个事件监听器,当页面跳转时,原来的vue组件被注销,但是原来vue组件向Bus容器中添加的事件监听器并不会被移除。因此,当下次进入这个vue组件对应的页面时,执行到this.$root.Bus.$on时,又会向Bus容器中添加一个重复的事件监听器,以此类推,this.$root.Bus.$emit("事件名", 参数1, 参数2, ...);this.$root.Bus.$on("事件名", 回调函数);注1:关键点-->this.$root。
2022-09-12 10:22:56
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人