forked from rongchao/epmet-cloud-rizhao
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							83 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							83 lines
						
					
					
						
							2.5 KiB
						
					
					
				
								package com.epmet.controller;
							 | 
						|
								
							 | 
						|
								import com.epmet.common.token.dto.form.LoginByPassWordFormDTO;
							 | 
						|
								import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO;
							 | 
						|
								import com.epmet.common.token.dto.result.UserTokenResultDTO;
							 | 
						|
								import com.epmet.commons.tools.exception.ErrorCode;
							 | 
						|
								import com.epmet.commons.tools.utils.Result;
							 | 
						|
								import com.epmet.commons.tools.validator.AssertUtils;
							 | 
						|
								import com.epmet.commons.tools.validator.ValidatorUtils;
							 | 
						|
								import com.epmet.service.CaptchaService;
							 | 
						|
								import com.epmet.service.LoginService;
							 | 
						|
								import org.springframework.beans.factory.annotation.Autowired;
							 | 
						|
								import org.springframework.web.bind.annotation.*;
							 | 
						|
								
							 | 
						|
								import javax.imageio.ImageIO;
							 | 
						|
								import javax.servlet.ServletOutputStream;
							 | 
						|
								import javax.servlet.http.HttpServletResponse;
							 | 
						|
								import java.awt.image.BufferedImage;
							 | 
						|
								import java.io.IOException;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * @Description 通用登录接口
							 | 
						|
								 * @Author yinzuomei
							 | 
						|
								 * @Date 2020/3/14 13:58
							 | 
						|
								 */
							 | 
						|
								@RestController
							 | 
						|
								@RequestMapping("login")
							 | 
						|
								public class LoginController {
							 | 
						|
									@Autowired
							 | 
						|
									private CaptchaService captchaService;
							 | 
						|
								
							 | 
						|
									@Autowired
							 | 
						|
									private LoginService loginService;
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * @return void
							 | 
						|
									 * @param response
							 | 
						|
									 * @param uuid
							 | 
						|
									 * @Author yinzuomei
							 | 
						|
									 * @Description 生成验证码
							 | 
						|
									 * @Date 2020/3/17 16:08
							 | 
						|
									 **/
							 | 
						|
									@GetMapping("captcha")
							 | 
						|
									public void captcha(HttpServletResponse response, String uuid) throws IOException {
							 | 
						|
										//uuid不能为空
							 | 
						|
										AssertUtils.isBlank(uuid, ErrorCode.IDENTIFIER_NOT_NULL);
							 | 
						|
										//生成图片验证码
							 | 
						|
										BufferedImage image = captchaService.create(uuid);
							 | 
						|
										response.setHeader("Cache-Control", "no-store, no-cache");
							 | 
						|
										response.setContentType("image/jpeg");
							 | 
						|
										ServletOutputStream out = response.getOutputStream();
							 | 
						|
										ImageIO.write(image, "jpg", out);
							 | 
						|
										out.close();
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result<java.lang.String>
							 | 
						|
									 * @Author yinzuomei
							 | 
						|
									 * @Description 微信小程序登录
							 | 
						|
									 * @Date 2020/3/14 14:35
							 | 
						|
									 **/
							 | 
						|
									@PostMapping("loginbywxcode")
							 | 
						|
									public Result<UserTokenResultDTO> loginByWxCode(@RequestBody LoginByWxCodeFormDTO formDTO) {
							 | 
						|
										//效验数据
							 | 
						|
										ValidatorUtils.validateEntity(formDTO);
							 | 
						|
										return loginService.loginByWxCode(formDTO);
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									/**
							 | 
						|
									 * @param formDTO
							 | 
						|
									 * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.UserTokenResultDTO>
							 | 
						|
									 * @Author yinzuomei
							 | 
						|
									 * @Description 手机号+密码登录接口
							 | 
						|
									 * @Date 2020/3/14 19:46
							 | 
						|
									 **/
							 | 
						|
									@PostMapping("loginbypassword")
							 | 
						|
									public Result<UserTokenResultDTO> loginByPassword(@RequestBody LoginByPassWordFormDTO formDTO) {
							 | 
						|
										//效验数据
							 | 
						|
										ValidatorUtils.validateEntity(formDTO);
							 | 
						|
										return loginService.loginByPassword(formDTO);
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								
							 |