自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 微信生成授权URL

一 准备工作1 注册微信开放平台:https://open.weixin.qq.com2 邮箱激活3 完善开发者资料4 开发者资质认证准备营业执照,1-2个工作日审批、300元5 创建网站应用提交审核,7个工作日审批6 熟悉微信登录流程获取access_token时序图参考文档:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&ve

2020-12-29 20:19:46 2831

原创 OAuth2图解

一 OAuth2解决什么问题1 开放系统间授权照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源。2 图例资源拥有者:照片拥有者客户应用:云冲印受保护的资源:照片3方式一:用户名密码复制用户将自己的"云存储"服务的用户名和密码,告诉"云冲印",(即资源服务器的用户名和密码存储在客户应用服务器上)后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。a "云冲印"为了后续的服务,会保存用户的密码,这样很不安全。b Google不得.

2020-12-27 20:58:23 392

原创 登录后显示用户信息

一后端获取用户信息接口web层/*** 功能描述:根据token获取登录信息** @param request http请求* @return R 返回给前端的数据* @author cakin* @date 2020/12/27*/@ApiOperation(value = "根据token获取登录信息")@GetMapping("get-login-info")public R getLoginInfo(HttpServletRequest request) { .

2020-12-27 20:16:42 3563 1

原创 基于用户认证的前后端实现

一准备1引入依赖common-util中引入jwt依赖<!-- JWT相关依赖--><dependencies> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> </dependency> <dependency> ..

2020-12-27 19:53:10 370 1

原创 JWT项目测试

一创建Maven项目1项目项目类型:MavengroupId:com.atguiguarticatld:jwt2依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem...

2020-12-27 18:46:32 229

原创 JWT令牌介绍

一访问令牌的类型二JWT令牌1什么是JWT令牌JWT是JSON Web Token的缩写,即JSON Web令牌,是一种自包含令牌。JWT的使用场景: 一种情况是webapi,类似阿里云播放凭证的功能 另一种情况是多web服务器下实现无状态分布式身份验证 JWT官网有一张图描述了JWT的认证过程JWT的作用:JWT 最重要的作用就是对 token信息的防伪作用。JWT的原理 一个JWT由三个部分组成:JWT头、有效载荷、签名哈希 最后...

2020-12-26 19:19:42 1193

原创 身份认证的三种方式

一单一服务器模式1 一般过程如下a 用户向服务器发送用户名和密码。b 服务器验证后,相关数据(如用户名,用户角色等)将保存在当前会话(session)中。c 服务器向用户返回session_id,session信息都会写入到用户的Cookie。d 用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。e 服务器收到session_id并对比之前保存的数据,确认用户的身份。2 缺点单点性能压力,无法扩展。分布式架构中,需要session共享方案.

2020-12-26 15:08:04 10039 2

原创 基于验证码的用户注册

一后端接口1引入工具类MD5public final class MD5 { public static String encrypt(String strSrc) { try { char hexChars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; by..

2020-12-26 14:53:11 308

原创 用户中心微服务

一数据库设计1数据库创建数据库:guli_ucenter2数据表执行sqlDROP TABLE IF EXISTS `ucenter_member`;CREATE TABLE `ucenter_member` ( `id` char(19) NOT NULL COMMENT '会员id', `openid` varchar(128) DEFAULT NULL COMMENT '微信openid', `mobile` varchar(11) DEFAULT '' C...

2020-12-25 20:09:43 1665 1

原创 短信微服务

一点睛短信+注册业务流程二 创建项目1创建模块service_sms2配置pom.xml<dependencies> <!--阿里云短信--> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> </de...

2020-12-24 20:45:19 520

原创 阿里云短信服务

一开通短信服务1开通2添加签名3添加模板4套餐free.aliyun.com5快速学习二测试短信发送1查找使用示例2测试短信发送3查看发送结果短信服务->业务统计->发送记录查询...

2020-12-23 20:33:42 170

原创 集成Redis缓存

一 简介1 场景由于首页数据变化不是很频繁,而且首页访问量相对较大,所以我们有必要把首页数据缓存到redis中,减少数据库压力和提高访问速度。2 RedisTemplateJedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是Spring Data Redis中对Jedis api的高度封装。Spring Data Redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Je

2020-12-22 20:57:15 210

原创 首页热门课程和讲师展示

一后端1控制器@CrossOrigin@Api(description = "首页")@RestController@RequestMapping("/api/edu/index")public class ApiIndexController { @Autowired private CourseService courseService; @Autowired private TeacherService teacherService;..

2020-12-21 19:56:10 389

原创 幻灯片数据展示

一后端1web层@CrossOrigin // 解决跨域问题@Api(description = "广告推荐")@RestController@RequestMapping("/api/cms/ad")@Slf4jpublic class ApiAdController { @Autowired private AdService adService; @Autowired private RedisTemplate redisTemplate;..

2020-12-20 21:18:47 225 1

原创 内容管理系统前端实现

一创建相关文件1api2页面组件3路由配置 // 内容管理 { path: '/ad', component: Layout, redirect: '/ad/list', name: 'Ad', meta: { title: '内容管理' }, children: [ { path: 'list', name: 'AdList', component: () =...

2020-12-20 15:42:23 813 1

原创 后台管理系统CMS模块-后端实现

一数据库设计1数据库创建数据库:guli_cms2脚本# 广告CREATE TABLE `cms_ad` ( `id` char(19) NOT NULL DEFAULT '' COMMENT 'ID', `title` varchar(20) DEFAULT '' COMMENT '标题', `type_id` char(19) NOT NULL COMMENT '类型ID', `image_url` varchar(500) NOT NULL DEFAULT '...

2020-12-20 10:42:23 1564 2

原创 网站端阿里云视频播放器整合

一后端获取播放凭证1web层@Api(description = "阿里云视频点播")@CrossOrigin // 跨域@RestController@RequestMapping("/api/vod/media")@Slf4jpublic class ApiMediaController { @Autowired private VideoService videoService; /** * 功能描述:根据阿里云视频id获得视频凭证 ..

2020-12-19 20:56:29 997 1

原创 网站端课程详情页

一后端1vo对象的定义@Datapublic class WebCourseVo implements Serializable { private static final long serialVersionUID = 1L; /** * 课程id */ private String id; /** * 课程标题 */ private String title; /** * 课程价格 ..

2020-12-19 20:26:08 566 1

原创 网站端课程分类与排序

一后端课程分类嵌套列表接口控制器@CrossOrigin@Api(description = "课程分类")@RestController@RequestMapping("/api/edu/subject")public class ApiSubjectController { @Autowired private SubjectService subjectService; /** * 功能描述:嵌套数据列表 * * @re.

2020-12-19 16:31:48 393 1

原创 网站端课程列表

一后端1定义vo/*** @className: WebCourseQueryVo* @description: 课程查询条件* @date: 2020/12/19* @author: cakin*/@Datapublic class WebCourseQueryVo implements Serializable { private static final long serialVersionUID = 1L; // 一级分类 private St..

2020-12-19 15:56:48 271 1

原创 讲师详情页实现

一后端1service接口/*** 功能描述:根据讲师id获取讲师详情页数据** @author cakin* @date 2020/12/18* @param id* @return* @description:*/Map<String, Object> selectTeacherInfoById(String id);实现/*** 功能描述:根据讲师id获取讲师详情页数据** @param id 讲师id* @return Map<..

2020-12-18 20:46:53 268 1

原创 讲师列表前后端实现

一后端接口web层@CrossOrigin@Api(description = "讲师")@RestController@RequestMapping("/api/edu/teacher")public class ApiTeacherController { @Autowired private TeacherService teacherService; @ApiOperation(value = "所有讲师列表") @GetMapping("lis.

2020-12-16 20:54:27 309 1

原创 Nuxt自动路由

一 基础路由Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。下边是一个基础路由的例子: 假设 pages 的目录结构如下:pages/‐‐|index.vue‐‐|teacher/‐‐‐‐‐| index.vue那么,Nuxt.js 自动生成的路由配置如下:router:{ routes: [ { name: 'index', path: '/',

2020-12-15 20:58:24 872 1

原创 Nuxt.js项目安装和目录介绍

一 Nuxt.js环境初始化1 解压解压 guli_site2 端口修改项目默认3000端口启动,如果想要修改Nuxt.js的启动端口,则可以在package.json文件中添加如下配置"config": { "nuxt": { "host": "127.0.0.1", "port": "3333" }}3安装依赖npminstall4运行项目npmrundev二页面布局结构1布局组件页头和页尾提取出来,形成布局页...

2020-12-15 20:25:16 413 1

原创 网页各种渲染技术

一 搜索引擎优化1 什么是SEO总结:seo是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整和优化,以便搜索引擎 (百度,google等)更好抓取到优质网站的内容。2 搜索引擎工作流程常见的SEO方法比如: 对url链接的规范化,多用restful风格的url,多用静态资源url; 注意keywords、description、title的设置; h1-h6、a标签的使用 注意:spider对javascript支持不好,ajax

2020-12-15 20:11:44 1091

原创 阿里云批量删除视频和远程调用

一 vod中实现批量删除文件的API1 web层VideoController.java/*** 功能描述:根据 阿里云视频id列表 删除视频** @param videoIdList 阿里云视频id列表* @return R 返回给前端的数据* @author cakin* @date 2020/12/13*/@DeleteMapping("remove")public R removeVideoByIdList(@ApiParam(value = "阿里云视频id列表",

2020-12-13 20:48:22 658

原创 阿里云删除视频

一 后端接口文档:服务端SDK->Java SDK->媒资管理https://help.aliyun.com/document_detail/61065.html?spm=a2c4g.11186623.6.831.654b3815cIxvma#h2--div-id-deletevideo-div-7vod微服务中添加service方法1 创建工具类service_vod中创建AliyunVodSDKUtils.java/*** @className: AliyunVo

2020-12-13 20:06:44 662

原创 前端整合阿里云视频上传

一模板和数据绑定1数据定义 fileList: [], // 上传文件列表 uploadBtnDisabled: false2整合上传组件 <!-- 上传视频 --> <el-form-item label="上传视频"> <el-upload ref="upload" :auto-upload="false" :on-success...

2020-12-13 16:53:55 748 3

原创 视频点播微服务

一 创建视频点播微服务1 创建模块Artifact:service_vod2 配置pom.xml<dependencies> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> </dependency> <depende

2020-12-13 16:20:23 389 1

原创 阿里云视频播放器

一 视频播放器参考文档:https://help.aliyun.com/document_detail/125570.html?spm=a2c4g.11186623.6.1083.1c53448blUNuv51 视频播放器介绍阿里云播放器SDK(ApsaraVideo Player SDK)是阿里视频服务的重要一环,除了支持点播和直播的基础播放功能外,深度融合视频云业务,如支持视频的加密播放、安全下载、清晰度切换、直播答题等业务场景,为用户提供简单、快速、安全、稳定的视频播放服务。2 集成视

2020-12-13 15:38:57 6103 1

原创 阿里云视频点播服务端API和SDK测试

一 准备工作1 设置不转码测试之前设置默认“不转码”,以节省开发成本。2 找到子账户的AccessKey ID3 给子账户添加授权AliyunVODFullAccess4 阅读文档服务端APIAPI调用示例参考:https://help.aliyun.com/document_detail/44435.html?spm=a2c4g.11186623.6.708.2c643d44SY21Hb服务端SDKSDK将API进行了进一步的封装,使用起来更简单方便。二创建和.

2020-12-12 15:38:31 1553

原创 阿里云视频点播

一 阿里云视频点播1 功能介绍视频点播(ApsaraVideo VoD,简称VoD)是集视频采集、编辑、上传、媒体资源管理、自动化转码处理(窄带高清TM)、视频审核分析、分发加速于一体的一站式音视频点播解决方案。2 应用场景 音视频网站:无论是初创视频服务企业,还是已拥有海量视频资源,可定制化的点播服务帮助客户快速搭建拥有极致观看体验、安全可靠的视频点播应用。 短视频:集音视频拍摄、特效编辑、本地转码、高速上传、自动化云端转码、媒体资源管理、分发加速、播放于一体的完整短视频解

2020-12-12 14:35:50 1977

原创 课时管理前端实现

一定义apiexport default { // 保存课时 save(video) { return request({ url: '/admin/edu/video/save', method: 'post', data: video }) }, // 根据课时id获得课时 getById(id) { return request({ url: `/admin/edu/video/get/${id}`,.

2020-12-09 20:31:40 170

原创 课时管理后端实现

一说明比较简单,只有web层二 web层/*** @className: VideoController* @description: 课程视频控制器* @date: 2020/12/8* @author: cakin*/@CrossOrigin@Api(description = "课时管理")@RestController@RequestMapping("/admin/edu/video")@Slf4jpublic class VideoController { .

2020-12-08 20:50:17 179

原创 章节表单前端实现

一章节表单组件1组件模板<template> <!-- 添加和修改章节表单 --> <el-dialog :visible="dialogVisible" title="添加章节" @close="close()"> <el-form :model="chapter" label-width="120px"> <el-form-item label="章节标题"> <el-input ..

2020-12-08 20:42:32 197

原创 章节列表前端实现

一定义apiexport default { // 课程章节列表 getNestedTreeList(courseId) { return request({ url: `/admin/edu/chapter/nested-list/${courseId}`, method: 'get' }) }, // 删除章节 removeById(id) { return request({ url: `/admin/edu/ch.

2020-12-08 20:11:11 864

原创 章节管理后端实现

一voChapterVo@Datapublic class ChapterVo implements Serializable { private static final long serialVersionUID = 1L; /** * 章节id */ private String id; /** * 章节标题 */ private String title; /** * 排序 .

2020-12-07 20:43:28 325

原创 发布课程前后端实现

一需求 根据课程id获取课程发布基本信息 根据课程id发布课程 二后端实现1定义vo@Datapublic class CoursePublishVo implements Serializable{ private static final long serialVersionUID = 1L; private String id; // 课程id private String title; // 标题 private String c...

2020-12-06 20:58:03 332

原创 删除课程前后端实现

一后端实现1控制器/*** 功能描述:根据ID删除课程** @author cakin* @date 2020/12/6* @param id 课程id* @return R 返回给前端的数据*/@ApiOperation("根据ID删除课程")@DeleteMapping("remove/{id}")public R removeById(@ApiParam(value = "课程id", required = true) @PathVariable String id)..

2020-12-06 20:10:35 758

原创 课程列表前后端实现

一后端实现1定义搜索对象/*** @className: CourseQueryVo* @description: 搜索对象* @date: 2020/12/6* @author: cakin*/@Datapublic class CourseQueryVo implements Serializable { private static final long serialVersionUID = 1L; private String title; // 标题 ..

2020-12-06 19:51:21 567

2 shiro身份认证.mp4

身份验证介绍了身份验证基础、principals、credentials、身份认证流程、Realm、多 Realm 配置以及相关实战。

2020-05-19

1 shiro简介.mp4

Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,在此分享给大家!

2020-05-19

Java单选.docx

常见Java单选题,

2019-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除