🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系
springboot、mybatis、vue.js、jsp、html、css、mysql、jdk1.8
14张
idea或者eclipse、navicat
【角色】管理员、用户、医生
【前台功能】
注册、登录、首页、医学知识、医生信息、医药信息、新闻资讯、留言反馈、我的、跳转到后台
【后台功能】
登录、个人中心、用户管理、医生管理、医学知识管理、科室信息管理、医生信息管理、预约挂号管理、医嘱信息管理、药品信息管理、订单信息管理、留言板管理、系统管理(新闻资讯、轮播图管理)
1、前台首页

2、前台医学知识

3、前台医生信息

4、前台医生详情信息

5、前台登录

6、前台注册用户

7、前台预约医生

8、前台药品信息

9、前台药品详情

10、前台新闻资讯

11、前台留言反馈

12、前台个人中心

13、后台登录

14、后台用户管理

15、后台医生管理

16、后台医学知识管理

17、后台科室信息管理

18、后台医生信息管理

19、后台预约挂号管理

20、后台医嘱信息管理

21、后台药品信息管理

22、后台订单信息管理

23、后台留言板管理

24、后台新闻资讯

- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ page isELIgnored="true" %>
- html>
- <html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
- <title>登录title>
- <link rel="stylesheet" href="../../layui/css/layui.css">
- <link rel="stylesheet" href="../../xznstatic/css/login.style.css">
- head>
- <body>
- <div id="app">
- <div class="main">
- <h1 v-text="projectName">h1>
- <div class="login-form">
- <h2>登 录h2>
- <div class="agileits-top">
- <form class="layui-form">
- <div class="layui-form-item">
- <div class="layui-input-block" style="margin-left: 0;">
- <input type="text" name="username" required lay-verify="required" placeholder="请输入账号" autocomplete="off" class="layui-input" lay-ignore>
- div>
- div>
- <div class="layui-form-item">
- <div class="layui-input-block" style="margin-left: 0;">
- <input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input" lay-ignore>
- div>
- div>
- <div class="layui-form-item">
- <div class="layui-input-block" style="text-align: left;margin-left: 0;">
- <input v-if="item.tableName!='users'" v-for="(item,index) in menu" v-bind:key="index" type="radio" name="role" :value="item.tableName" :title="item.roleName">
- div>
- div>
- <div class="layui-form-item" style="margin-bottom: 0;">
- <div class="layui-input-block" style="margin-left: 0;">
- <button class="layui-btn btn-submit layui-btn-fluid layui-btn-primary" lay-submit lay-filter="login">登录button>
- div>
- div>
- <div class="wthree-text" style="margin-top: 1em">
- <ul>
- <li><a style="margin-right: 10px;" v-if="item.tableName!='users'" v-for="(item,index) in menu" v-bind:key="index" :href="'javascript:registerClick(\''+item.tableName+'\')'">注册{{item.roleName.replace('注册','')}}a>li>
- ul>
- <div class="clear">div>
- div>
- form>
- div>
- div>
- div>
- div>
-
- <script src="../../layui/layui.js">script>
- <script src="../../js/vue.js">script>
-
- <script src="../../js/config.js">script>
-
- <script src="../../modules/config.js">script>
-
- <script src="../../js/utils.js">script>
-
- <script>
- var vue = new Vue({
- el: '#app',
- data: {
- projectName: projectName,
- menu: menu
- },
- methods: {
- jump(url) {
- jump(url)
- }
- }
- });
-
- layui.use(['layer', 'element', 'carousel', 'form', 'http', 'jquery'], function() {
- var layer = layui.layer;
- var element = layui.element;
- var carousel = layui.carousel;
- var form = layui.form;
- var http = layui.http;
- var jquery = layui.jquery;
-
- // 登录
- form.on('submit(login)', function(data) {
- data = data.field;
- if (!data.role) {
- layer.msg('请选择登录用户类型', {
- time: 2000,
- icon: 5
- });
- return false;
- }
- http.request(data.role + '/login', 'get', data, function(res) {
- layer.msg('登录成功', {
- time: 2000,
- icon: 6
- });
- // 登录凭证
- localStorage.setItem('Token', res.token);
- localStorage.setItem('role', jquery('input[name="role"]:checked').attr('title'));
- // 当前登录用户角色
- localStorage.setItem('userTable', data.role);
- localStorage.setItem('sessionTable', data.role);
- // 用户名称
- localStorage.setItem('adminName', data.username);
- http.request(data.role + '/session', 'get', {}, function(res) {
- // 用户id
- localStorage.setItem('userid', res.data.id);
- // 路径访问设置
- window.location.href = '../../index.jsp';
- })
- });
- return false
- });
- });
-
- /**
- * 跳转登录
- * @param {Object} tablename
- */
- function registerClick(tablename) {
- window.location.href = '../' + tablename + '/register.jsp?tablename=' + tablename;
- }
- script>
-
- body>
-
- html>
- package com.controller;
-
-
- /**
- * 用户
- * 后端接口
- * @author 计算机编程-吉哥
- * @email
- * @date 2022-09-28 11:23:12
- */
- @RestController
- @RequestMapping("/yonghu")
- public class YonghuController {
-
- @Autowired
- private YonghuService yonghuService;
-
- @Autowired
- private TokenService tokenService;
-
- /**
- * 登录
- */
- @IgnoreAuth
- @RequestMapping(value = "/login")
- public R login(String username, String password, String captcha, HttpServletRequest request) {
- YonghuEntity user = yonghuService.selectOne(new EntityWrapper
().eq("yonghuming", username)); - if(user==null || !user.getMima().equals(password)) {
- return R.error("账号或密码不正确");
- }
- String token = tokenService.generateToken(user.getId(), username,"yonghu", "用户" );
- return R.ok().put("token", token);
- }
-
- /**
- * 注册
- */
- @IgnoreAuth
- @RequestMapping("/register")
- public R register(@RequestBody YonghuEntity yonghu){
- //ValidatorUtils.validateEntity(yonghu);
- YonghuEntity user = yonghuService.selectOne(new EntityWrapper
().eq("yonghuming", yonghu.getYonghuming())); - if(user!=null) {
- return R.error("注册用户已存在");
- }
- Long uId = new Date().getTime();
- yonghu.setId(uId);
- yonghuService.insert(yonghu);
- return R.ok();
- }
-
- /**
- * 退出
- */
- @RequestMapping("/logout")
- public R logout(HttpServletRequest request) {
- request.getSession().invalidate();
- return R.ok("退出成功");
- }
-
- /**
- * 获取用户的session用户信息
- */
- @RequestMapping("/session")
- public R getCurrUser(HttpServletRequest request){
- Long id = (Long)request.getSession().getAttribute("userId");
- YonghuEntity user = yonghuService.selectById(id);
- return R.ok().put("data", user);
- }
-
- /**
- * 密码重置
- */
- @IgnoreAuth
- @RequestMapping(value = "/resetPass")
- public R resetPass(String username, HttpServletRequest request){
- YonghuEntity user = yonghuService.selectOne(new EntityWrapper
().eq("yonghuming", username)); - if(user==null) {
- return R.error("账号不存在");
- }
- user.setMima("123456");
- yonghuService.updateById(user);
- return R.ok("密码已重置为:123456");
- }
-
- }
- /**
- * 用户
- *
- * @author 计算机编程-吉哥
- * @email
- * @date 2022-09-28 11:23:12
- */
- public interface YonghuService extends IService
{ -
- PageUtils queryPage(Map
params) ; -
- List
selectListVO(Wrapper wrapper) ; -
- YonghuVO selectVO(@Param("ew") Wrapper
wrapper) ; -
- List
selectListView(Wrapper wrapper) ; -
- YonghuView selectView(@Param("ew") Wrapper
wrapper) ; -
- PageUtils queryPage(Map
params,Wrapper wrapper) ; -
- }
- /**
- * @author 计算机编程-吉哥
- **/
- @Service("yonghuService")
- public class YonghuServiceImpl extends ServiceImpl
implements YonghuService { -
-
- @Override
- public PageUtils queryPage(Map
params) { - Page
page = this.selectPage( - new Query
(params).getPage(), - new EntityWrapper
() - );
- return new PageUtils(page);
- }
-
- @Override
- public PageUtils queryPage(Map
params, Wrapper wrapper) { - Page
page =new Query(params).getPage(); - page.setRecords(baseMapper.selectListView(page,wrapper));
- PageUtils pageUtil = new PageUtils(page);
- return pageUtil;
- }
-
- @Override
- public List
selectListVO(Wrapper wrapper) { - return baseMapper.selectListVO(wrapper);
- }
-
- @Override
- public YonghuVO selectVO(Wrapper
wrapper) { - return baseMapper.selectVO(wrapper);
- }
-
- @Override
- public List
selectListView(Wrapper wrapper) { - return baseMapper.selectListView(wrapper);
- }
-
- @Override
- public YonghuView selectView(Wrapper
wrapper) { - return baseMapper.selectView(wrapper);
- }
-
- }
- /**
- * 用户
- *
- * @author 计算机编程-吉哥
- * @email
- * @date 2022-09-29 11:23:12
- */
- public interface YonghuDao extends BaseMapper
{ -
- List
selectListVO(@Param("ew") Wrapper wrapper) ; -
- YonghuVO selectVO(@Param("ew") Wrapper
wrapper) ; -
- List
selectListView(@Param("ew") Wrapper wrapper) ; -
- List
selectListView(Pagination page,@Param("ew") Wrapper wrapper) ; -
- YonghuView selectView(@Param("ew") Wrapper
wrapper) ; -
- }
- "1.0" encoding="UTF-8"?>
- mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
- <mapper namespace="com.dao.YonghuDao">
-
-
- <resultMap type="com.entity.YonghuEntity" id="yonghuMap">
- <result property="yonghuming" column="yonghuming"/>
- <result property="mima" column="mima"/>
- <result property="yonghuxingming" column="yonghuxingming"/>
- <result property="touxiang" column="touxiang"/>
- <result property="xingbie" column="xingbie"/>
- <result property="shoujihaoma" column="shoujihaoma"/>
- resultMap>
-
- <select id="selectListVO"
- resultType="com.entity.vo.YonghuVO" >
- SELECT * FROM yonghu yonghu
- <where> 1=1 ${ew.sqlSegment}where>
- select>
-
- <select id="selectVO"
- resultType="com.entity.vo.YonghuVO" >
- SELECT yonghu.* FROM yonghu yonghu
- <where> 1=1 ${ew.sqlSegment}where>
- select>
-
- <select id="selectListView"
- resultType="com.entity.view.YonghuView" >
-
- SELECT yonghu.* FROM yonghu yonghu
- <where> 1=1 ${ew.sqlSegment}where>
- select>
-
- <select id="selectView"
- resultType="com.entity.view.YonghuView" >
- SELECT * FROM yonghu yonghu <where> 1=1 ${ew.sqlSegment}where>
- select>
-
- mapper>
更多项目推荐:计算机毕业设计项目
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓如果大家有任何疑虑,请在下方位置详细咨询。