zs 1 year ago
parent
commit
573552aeff

+ 1 - 1
src/controller/core/path.controller.ts

@@ -22,7 +22,7 @@ export class PathController extends BaseController {
   @ApiQuery({ name: 'query' })
   @ApiResponse({ type: QVO_path })
   async query(@Query() filter: QDTO_path, @Query('skip') skip: number, @Query('limit') limit: number) {
-    const list = await this.service.query(filter, { skip, limit });
+    const list = await this.service.query(filter, { skip, limit, sort: { sort: 1 } });
     const data = [];
     for (const i of list) {
       const newData = new QVO_path(i);

+ 7 - 12
src/controller/login.controller.ts

@@ -7,7 +7,7 @@ import { Context } from '@midwayjs/koa';
 const assert = require('assert');
 import get = require('lodash/get');
 import { UtilService } from '../service/util.service';
-// import { FrameworkErrorEnum, ServiceError } from 'free-midway-component';
+import { FrameworkErrorEnum, ServiceError } from 'free-midway-component';
 
 @ApiTags(['登录服务'])
 @Controller('/login')
@@ -45,17 +45,12 @@ export class LoginController {
    * TODO:微信小程序登录
    * @param openid 微信小程序openid
    */
-  // @Post('/wxapp/:openid')
-  // async wxAppLogin(@Param('openid') openid: string) {
-  //   if (!openid) throw new ServiceError('缺少微信凭证!', FrameworkErrorEnum.BAD_PARAMS);
-  //   const user = await this.loginService.wxAppLogin(openid);
-  //   let vo = new LoginVO(user);
-  //   vo = JSON.parse(JSON.stringify(vo));
-  //   const token = await this.jwtService.sign(vo, this.jwtSecret, {
-  //     expiresIn: this.jwtExpiresIn,
-  //   });
-  //   return token;
-  // }
+  @Post('/wxapp/:openid')
+  async wxAppLogin(@Param('openid') openid: string) {
+    if (!openid) throw new ServiceError('缺少微信凭证!', FrameworkErrorEnum.BAD_PARAMS);
+    const user = await this.loginService.wxAppLogin(openid);
+    return user;
+  }
   /**
    * 修改密码
    * @param data 修改密码所需数据

+ 1 - 1
src/controller/system/module.controller.ts

@@ -22,7 +22,7 @@ export class ModuleController extends BaseController {
   @ApiQuery({ name: 'query' })
   @ApiResponse({ type: QVO_module })
   async query(@Query() filter: QDTO_module, @Query('skip') skip: number, @Query('limit') limit: number) {
-    const list = await this.service.query(filter, { skip, limit });
+    const list = await this.service.query(filter, { skip, limit, sort: { sort: 1 } });
     const data = [];
     for (const i of list) {
       const newData = new QVO_module(i);

+ 2 - 0
src/entity/system/module.entity.ts

@@ -12,6 +12,8 @@ export class Module extends BaseModel {
   brief: string;
   @prop({ required: false, index: false, zh: '路由' })
   route: string;
+  @prop({ required: false, index: true, zh: '排序' })
+  sort: number;
   @prop({ required: false, index: true, zh: '是否使用' })
   is_use: string;
 }

+ 7 - 0
src/interface/system/module.interface.ts

@@ -22,6 +22,8 @@ export class FVO_module {
   'brief': string = undefined;
   @ApiProperty({ description: '路由' })
   'route': string = undefined;
+  @ApiProperty({ description: '排序' })
+  'sort': number = undefined;
   @ApiProperty({ description: '是否使用' })
   'is_use': string = undefined;
 }
@@ -35,6 +37,8 @@ export class QDTO_module extends SearchBase {
   }
   @ApiProperty({ description: '标题' })
   'title': string = undefined;
+  @ApiProperty({ description: '排序' })
+  'sort': number = undefined;
   @ApiProperty({ description: '是否使用' })
   'is_use': string = undefined;
 }
@@ -59,6 +63,9 @@ export class CDTO_module {
   @ApiProperty({ description: '路由' })
   @Rule(RuleType['string']().empty(''))
   'route': string = undefined;
+  @ApiProperty({ description: '排序' })
+  @Rule(RuleType['number']().empty(''))
+  'sort': number = undefined;
   @ApiProperty({ description: '是否使用' })
   @Rule(RuleType['string']().empty(''))
   'is_use': string = undefined;

+ 11 - 16
src/service/login.service.ts

@@ -3,12 +3,18 @@ import { FrameworkErrorEnum, GetModel, ServiceError } from 'free-midway-componen
 import { get, isEqual, upperFirst } from 'lodash';
 import { LoginDTO, LoginType, UPwdDTO } from '../interface/login.interface';
 import { RoleService } from '../service/system/role.service';
+import { InjectEntityModel } from '@midwayjs/typegoose';
+import { ReturnModelType } from '@typegoose/typegoose';
+import { User } from '../entity/system/user.entity';
 
 @Provide()
 export class LoginService {
   @Inject()
   roleService: RoleService;
 
+  @InjectEntityModel(User)
+  uModel: ReturnModelType<typeof User>;
+
   /**
    * 账密登录
    * @param data 用户名和密码
@@ -50,20 +56,9 @@ export class LoginService {
     user.password = data.password;
     await user.save();
   }
-  // 需要改的时候再用
-  // async wxAppLogin(openid: string) {
-  //   const tables = ['Doctor', 'Nurse', 'Patient'];
-  //   let user;
-  //   let role;
-  //   for (const table of tables) {
-  //     const model = GetModel(upperFirst(table));
-  //     user = await model.findOne({ openid }).lean();
-  //     if (user) {
-  //       role = table;
-  //       break;
-  //     }
-  //   }
-  //   if (user) return { ...user, role };
-  //   throw new ServiceError('未找到用户信息!', FrameworkErrorEnum.NOT_FOUND_DATA);
-  // }
+  // openid登录
+  async wxAppLogin(openid: string) {
+    const user = await this.uModel.findOne({ openid }).lean();
+    return user
+  }
 }