web会员页面

This commit is contained in:
zhujunjieit 2019-01-21 23:23:17 +08:00
parent 579faae662
commit 07547eb3cf
15 changed files with 175 additions and 212 deletions

View File

@ -94,7 +94,7 @@ shiro:
# 首页地址
indexUrl: /web/index
# 验证码开关
captchaEnabled: true
captchaEnabled: false
# 验证码类型 math 数组计算 char 字符
captchaType: math
cookie:

View File

@ -148,14 +148,6 @@
<script src="../../res/layui/layui.js"></script>
<script>
layui.cache.page = 'user';
layui.cache.user = {
username: '游客'
,uid: -1
,avatar: '../../res/images/avatar/00.jpg'
,experience: 83
,sex: '男'
};
layui.config({
version: "3.0.0"
,base: '../../res/mods/'

View File

@ -4,6 +4,7 @@ import com.ruoyi.common.config.Global;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.exam.domain.ExamPractice;
import com.ruoyi.exam.service.IExamPracticeService;
import com.ruoyi.framework.web.util.ShiroUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.train.course.domain.TrainCourse;
import com.ruoyi.train.course.domain.TrainCourseSection;
@ -51,29 +52,15 @@ public class CmsController {
@Autowired
private IExamPracticeService examPracticeService;
@RequestMapping("")
@RequestMapping({"","/index","/index.html"})
@GetMapping()
public String user(TrainCourseVO trainCourse, ModelMap map) {
List<TrainCourseVO> list = trainCourseService.selectTrainCoursePage( trainCourse );
map.put( "trainCourse", list );
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/index";
}
@RequestMapping("/user/login.html")
@GetMapping()
public String login() {
return prefix + "/user/login";
}
@RequestMapping("/user/reg.html")
@GetMapping()
public String reg() {
return prefix + "/user/reg";
}
@RequestMapping("/course/courseInfo.html/{id}")
@GetMapping()
public String courseInfo(@PathVariable("id") Integer id, ModelMap map) {
@ -87,6 +74,7 @@ public class CmsController {
map.put( "trainCourse", trainCourse );
map.put( "trainCourseSections", trainCourseSections );
map.put( "examPractices", examPractices );
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/course/courseInfo";
}
@RequestMapping("/course/courseSections.html/{id}")
@ -100,6 +88,7 @@ public class CmsController {
examPractice.setTrainCourseId( id );
map.put( "trainCourseSection", tcs );
map.put( "trainCourseSections", trainCourseSections );
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/course/courseSections";
}

View File

@ -0,0 +1,78 @@
package com.ruoyi.cms.controller;
import com.ruoyi.exam.domain.ExamPractice;
import com.ruoyi.exam.service.IExamPracticeService;
import com.ruoyi.framework.web.util.ShiroUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.train.course.domain.TrainCourse;
import com.ruoyi.train.course.domain.TrainCourseSection;
import com.ruoyi.train.course.domain.TrainCourseVO;
import com.ruoyi.train.course.service.ITrainCourseCategoryService;
import com.ruoyi.train.course.service.ITrainCourseSectionService;
import com.ruoyi.train.course.service.ITrainCourseService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* 通用请求处理
*
* @author ruoyi
*/
@Controller
@RequestMapping("/web")
public class CmsUserController {
private static final Logger log = LoggerFactory.getLogger( CmsUserController.class );
private String prefix = "web";
@Autowired
private ISysUserService sysUserService;
@RequestMapping("/user/login.html")
public String login(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/login";
}
@RequestMapping("/user/reg.html")
public String reg(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/reg";
}
@RequestMapping("/user/index.html")
public String webUserIndex(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/index";
}
@RequestMapping("/user/home.html")
public String webUserHome(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/home";
}
@RequestMapping("/user/set.html")
public String webUserSet(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/set";
}
@RequestMapping("/user/message.html")
public String webUserMessage(ModelMap map) {
map.put( "user", ShiroUtils.getSysUser() );
return prefix + "/user/message";
}
}

View File

@ -1,7 +1,8 @@
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<header th:include="web/index::cmsHeader"></header>
<head th:include="web/index::cmsHeader">
</head>
<body>
<div class="fly-header layui-bg-black" th:replace="web/index::top">

View File

@ -1,16 +1,12 @@
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<link rel="stylesheet" th:href="@{/web/res/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/web/res/css/global.css}">
<head th:include="web/index::cmsHeader">
</head>
<body>
<div class="fly-header layui-bg-black" th:replace="web/index::top">
</div>
<div class="layui-container">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">

View File

@ -9,7 +9,19 @@
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" th:href="@{/web/res/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/web/res/css/global.css}">
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
<script th:src="@{/web/res/layui/layui.js}"></script>
<script th:src="@{/ruoyi/js/common.js}"></script>
<script th:src="@{/ruoyi/js/ry-ui.js}"></script>
<script th:inline="javascript"> var ctx = [[@{/}]]; </script>
<script>
layui.cache.page = '';
layui.cache.user = {};
layui.use('element', function(){
var element = layui.element;
});
</script>
</head>
<body>
<style type="text/css">
@ -145,15 +157,32 @@
<ul class="layui-nav fly-nav-user">
<!-- 未登入的状态 -->
<li class="layui-nav-item">
<a class="iconfont icon-touxiang layui-hide-xs" href="user/login.html"></a>
<li th:if="${user}==null" class="layui-nav-item">
<a class="iconfont icon-touxiang layui-hide-xs" th:href="@{/web/user/login.html}"></a>
</li>
<li class="layui-nav-item">
<li th:if="${user}==null" class="layui-nav-item">
<a th:href="@{/web/user/login.html}">登入</a>
</li>
<li class="layui-nav-item">
<li th:if="${user}==null" class="layui-nav-item">
<a th:href="@{/web/user/reg.html}">注册</a>
</li>
<!-- 登入后的状态 -->
<li th:if="${user}!=null" class="layui-nav-item">
<a class="fly-nav-avatar" href="javascript:;">
<cite class="layui-hide-xs" th:text="${user.userName}"></cite>
<i class="iconfont icon-renzheng layui-hide-xs" title="认证信息layui 作者"></i>
<i class="layui-badge fly-badge-vip layui-hide-xs">VIP</i>
<img src="https://tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg">
</a>
<dl class="layui-nav-child">
<dd><a th:href="@{/web/user/set.html}"><i class="layui-icon">&#xe620;</i>基本设置</a></dd>
<dd><a th:href="@{/web/user/message.html}"><i class="iconfont icon-tongzhi" style="top: 4px;"></i>我的消息</a></dd>
<dd><a th:href="@{/web/user/home.html}"><i class="layui-icon" style="margin-left: 2px; font-size: 22px;">&#xe68e;</i>我的主页</a></dd>
<dd><a href="" style="text-align: center;">退出</a></dd>
</dl>
</li>
<script>
</script>
</ul>
</div>
</div>
@ -197,7 +226,5 @@
<div class="fly-footer" th:fragment="cmsBottom">
<p><a href="http://fly.layui.com/" target="_blank">骏聪信息科技</a></p>
</div>
</body>
</html>

View File

@ -1,13 +1,11 @@
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<header th:include="web/index::cmsHeader"></header>
<head th:include="web/index::cmsHeader">
</head>
<body>
<div class="fly-header layui-bg-black" th:replace="web/index::top">
</div>
<div class="layui-container">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
@ -34,16 +32,8 @@
[[${question.label}]]
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,32 +1,21 @@
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<link rel="stylesheet" th:href="@{/web/res/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/web/res/css/global.css}">
<head th:include="web/index::cmsHeader">
</head>
<body>
<div class="fly-header layui-bg-black" th:replace="web/index::top">
</div>
<div class="layui-container">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="fly-panel">
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="start">开始练习</a>
<!--<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>-->
</script>
</div>
</div>
</div>
</div>

View File

@ -1,17 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户主页</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="fly,layui,前端社区">
<meta name="description" content="Fly社区是模块化前端UI框架Layui的官网社区致力于为web开发提供强劲动力">
<link rel="stylesheet" href="../../res/layui/css/layui.css">
<link rel="stylesheet" href="../../res/css/global.css">
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="web/index::cmsHeader">
</head>
<body style="margin-top: 65px;">
<div class="fly-header layui-bg-black">
<div class="layui-container">
<a class="fly-logo" href="/">
@ -163,16 +155,9 @@ full: true
</div>
</div>
<div class="fly-footer">
<p><a href="http://fly.layui.com/" target="_blank">Fly社区</a> 2017 &copy; <a href="http://www.layui.com/" target="_blank">layui.com 出品</a></p>
<p>
<a href="http://fly.layui.com/jie/3147/" target="_blank">付费计划</a>
<a href="http://www.layui.com/template/fly/" target="_blank">获取Fly社区模版</a>
<a href="http://fly.layui.com/jie/2461/" target="_blank">微信公众号</a>
</p>
</div>
<script src="../../res/layui/layui.js"></script>
<div class="fly-footer" th:replace="web/index::cmsBottom">
</div>
<script>
layui.cache.page = 'user';
layui.cache.user = {

View File

@ -1,55 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户中心</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="fly,layui,前端社区">
<meta name="description" content="Fly社区是模块化前端UI框架Layui的官网社区致力于为web开发提供强劲动力">
<link rel="stylesheet" href="../../res/layui/css/layui.css">
<link rel="stylesheet" href="../../res/css/global.css">
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="web/index::cmsHeader">
</head>
<body>
<div class="fly-header layui-bg-black">
<div class="layui-container">
<a class="fly-logo" href="/">
<img src="../../res/images/logo.png" alt="layui">
</a>
<ul class="layui-nav fly-nav layui-hide-xs">
<li class="layui-nav-item layui-this">
<a href="/"><i class="iconfont icon-jiaoliu"></i>交流</a>
</li>
<li class="layui-nav-item">
<a href="../case/case.html"><i class="iconfont icon-iconmingxinganli"></i>案例</a>
</li>
<li class="layui-nav-item">
<a href="http://www.layui.com/" target="_blank"><i class="iconfont icon-ui"></i>框架</a>
</li>
</ul>
<ul class="layui-nav fly-nav-user">
<!-- 登入后的状态 -->
<li class="layui-nav-item">
<a class="fly-nav-avatar" href="javascript:;">
<cite class="layui-hide-xs">贤心</cite>
<i class="iconfont icon-renzheng layui-hide-xs" title="认证信息layui 作者"></i>
<i class="layui-badge fly-badge-vip layui-hide-xs">VIP3</i>
<img src="https://tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg">
</a>
<dl class="layui-nav-child">
<dd><a href="../user/set.html"><i class="layui-icon">&#xe620;</i>基本设置</a></dd>
<dd><a href="../user/message.html"><i class="iconfont icon-tongzhi" style="top: 4px;"></i>我的消息</a></dd>
<dd><a href="../user/home.html"><i class="layui-icon" style="margin-left: 2px; font-size: 22px;">&#xe68e;</i>我的主页</a></dd>
<hr style="margin: 5px 0;">
<dd><a href="" style="text-align: center;">退出</a></dd>
</dl>
</li>
</ul>
</div>
<div class="fly-header layui-bg-black" th:replace="web/index:: top">
</div>
<div class="layui-container fly-marginTop fly-user-main">
<ul class="layui-nav layui-nav-tree layui-inline" lay-filter="user">
<li class="layui-nav-item">
@ -137,32 +95,8 @@
</div>
</div>
<div class="fly-footer">
<p><a href="http://fly.layui.com/" target="_blank">Fly社区</a> 2017 &copy; <a href="http://www.layui.com/" target="_blank">layui.com 出品</a></p>
<p>
<a href="http://fly.layui.com/jie/3147/" target="_blank">付费计划</a>
<a href="http://www.layui.com/template/fly/" target="_blank">获取Fly社区模版</a>
<a href="http://fly.layui.com/jie/2461/" target="_blank">微信公众号</a>
</p>
<div class="fly-footer" th:replace="web/index::cmsBottom">
</div>
<script src="../../res/layui/layui.js"></script>
<script>
layui.cache.page = 'user';
layui.cache.user = {
username: '游客'
,uid: -1
,avatar: '../../res/images/avatar/00.jpg'
,experience: 83
,sex: '男'
};
layui.config({
version: "3.0.0"
,base: '../../res/mods/'
}).extend({
fly: 'index'
}).use('fly');
</script>
</body>
</html>

View File

@ -19,26 +19,24 @@
<div class="layui-form layui-tab-content" id="LAY_ucm" style="padding: 20px 0;">
<div class="layui-tab-item layui-show">
<div class="layui-form layui-form-pane">
<form method="post">
<div class="layui-form-item">
<label for="L_email" class="layui-form-label">邮箱</label>
<label for="L_loginName" class="layui-form-label">账户</label>
<div class="layui-input-inline">
<input type="text" id="L_email" name="email" required lay-verify="required" autocomplete="off" class="layui-input">
<input type="text" id="L_loginName" name="loginName" required lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label for="L_pass" class="layui-form-label">密码</label>
<div class="layui-input-inline">
<input type="password" id="L_pass" name="pass" required lay-verify="required" autocomplete="off" class="layui-input">
<input type="password" id="L_pass" name="password" required lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-filter="*" lay-submit>立即登录</button>
<button id="btnSubmit" class="layui-btn" lay-filter="*" onclick="login()" >立即登录</button>
<span style="padding-left:20px;">
<a href="forget.html">忘记密码?</a>
</span>
</div>
</form>
</div>
</div>
</div>
@ -48,23 +46,28 @@
<div class="fly-footer" th:replace="web/index::cmsBottom">
</div>
<script src="../../res/layui/layui.js"></script>
<script>
layui.cache.page = 'user';
layui.cache.user = {
username: '游客'
,uid: -1
,avatar: '../../res/images/avatar/00.jpg'
,experience: 83
,sex: '男'
};
layui.config({
version: "3.0.0"
,base: '../../res/mods/'
}).extend({
fly: 'index'
}).use('fly');
function login() {
var loginName = $.common.trim($("input[name='loginName']").val());
var password = $.common.trim($("input[name='password']").val());
$.ajax({
type: "post",
url: ctx + "login",
data: {
"username": loginName,
"password": password,
"rememberMe":false,
},
success: function(r) {
debugger
if (r.code == 200) {
location.href = ctx + 'web/user/index.html';
} else {
$.modal.msg(r.msg);
}
}
});
}
</script>
</body>

View File

@ -1,14 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的消息</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="fly,layui,前端社区">
<meta name="description" content="Fly社区是模块化前端UI框架Layui的官网社区致力于为web开发提供强劲动力">
<link rel="stylesheet" href="../../res/layui/css/layui.css">
<link rel="stylesheet" href="../../res/css/global.css">
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="web/index::cmsHeader">
</head>
<body>

View File

@ -1,14 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>帐号设置</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="fly,layui,前端社区">
<meta name="description" content="Fly社区是模块化前端UI框架Layui的官网社区致力于为web开发提供强劲动力">
<link rel="stylesheet" href="../../res/layui/css/layui.css">
<link rel="stylesheet" href="../../res/css/global.css">
<!DOCTYPE HTML>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="web/index::cmsHeader">
</head>
<body>
@ -203,16 +196,9 @@
</div>
</div>
<div class="fly-footer">
<p><a href="http://fly.layui.com/" target="_blank">Fly社区</a> 2017 &copy; <a href="http://www.layui.com/" target="_blank">layui.com 出品</a></p>
<p>
<a href="http://fly.layui.com/jie/3147/" target="_blank">付费计划</a>
<a href="http://www.layui.com/template/fly/" target="_blank">获取Fly社区模版</a>
<a href="http://fly.layui.com/jie/2461/" target="_blank">微信公众号</a>
</p>
</div>
<script src="../../res/layui/layui.js"></script>
<div class="fly-footer" th:replace="web/index::cmsBottom">
</div>
<script>
layui.cache.page = 'user';
layui.cache.user = {

View File

@ -165,7 +165,7 @@ public class ExamQuestionServiceImpl extends AbstractBaseServiceImpl<ExamQuestio
@Override
public List<ExamQuestionVO> selectQuestionListByPracticeId(Map<String, Object> map) {
startPage();
// startPage();
return examQuestionMapper.selectQuestionListByPracticeId(map);
}