|
@@ -5,6 +5,8 @@ import { JwtService } from '@midwayjs/jwt';
|
|
|
import { LoginRecordService } from '../../service/frame/LoginRecord.service';
|
|
|
import { RF } from '../../response/CustomerResponse';
|
|
|
import { Validate } from '@midwayjs/validate';
|
|
|
+import { UserService } from '../../service/system/user.service';
|
|
|
+import { get } from 'lodash';
|
|
|
|
|
|
@Controller('/login')
|
|
|
export class LoginController {
|
|
@@ -16,21 +18,39 @@ export class LoginController {
|
|
|
jwtSecret;
|
|
|
@Inject()
|
|
|
jwtService: JwtService;
|
|
|
+
|
|
|
+ @Inject()
|
|
|
+ userService: UserService;
|
|
|
/**
|
|
|
* 账密登录
|
|
|
* @param data 用户名和密码
|
|
|
* @param type 用户类型
|
|
|
*/
|
|
|
- @Post('/:type')
|
|
|
- async toLogin(@Body() data, @Param('type') type: string) {
|
|
|
- const user = await this.loginService.loginByAccount(data, LoginType[type]);
|
|
|
- if (user) user.role = type;
|
|
|
+ @Post('/Admin')
|
|
|
+ async toAdminLogin(@Body() data) {
|
|
|
+ const user: any = await this.loginService.adminLogin(data);
|
|
|
+ if (user) user.role = LoginType.Admin;
|
|
|
+ let vo = new LoginVO(user);
|
|
|
+ vo = JSON.parse(JSON.stringify(vo));
|
|
|
+ // user数据写成
|
|
|
+ const token = await this.jwtService.sign(vo, this.jwtSecret);
|
|
|
+ // 创建/更新登录信息
|
|
|
+ await this.loginRecordService.create(token);
|
|
|
+ return RF.success(token);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Post('/User')
|
|
|
+ async toUserLogin(@Body() data) {
|
|
|
+ const user: any = await this.loginService.userLogin(data);
|
|
|
+ if (user) user.role = LoginType.User;
|
|
|
let vo = new LoginVO(user);
|
|
|
vo = JSON.parse(JSON.stringify(vo));
|
|
|
// user数据写成
|
|
|
const token = await this.jwtService.sign(vo, this.jwtSecret);
|
|
|
// 创建/更新登录信息
|
|
|
await this.loginRecordService.create(token);
|
|
|
+ // 登录次数+1
|
|
|
+ await this.userService.loginCountAddOne(get(user, 'id'))
|
|
|
return RF.success(token);
|
|
|
}
|
|
|
|