增加用于小程序登陆的接口
This commit is contained in:
parent
ce419f52ce
commit
7655e632c5
17
src/api/controllers/game_user.controller.ts
Normal file
17
src/api/controllers/game_user.controller.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import BaseController from '../../common/base.controller'
|
||||||
|
import { role, router } from '../../decorators/router'
|
||||||
|
import { GameUser } from '../../models/GameUser'
|
||||||
|
|
||||||
|
class GameUserController extends BaseController {
|
||||||
|
@role('anon')
|
||||||
|
@router('post /weapp/login')
|
||||||
|
async gameUserLogin(req, res) {
|
||||||
|
const {accountId} = req.params
|
||||||
|
let user = (await GameUser.findOrCreate({accountId})).doc
|
||||||
|
user.updateFromReq(req.params)
|
||||||
|
await user.save()
|
||||||
|
const token = await res.jwtSign({ id: user.id, accountId: accountId });
|
||||||
|
return {token}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
38
src/models/GameUser.ts
Normal file
38
src/models/GameUser.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import { dbconn } from '../decorators/dbconn'
|
||||||
|
import {
|
||||||
|
getModelForClass,
|
||||||
|
index,
|
||||||
|
modelOptions,
|
||||||
|
prop
|
||||||
|
} from '@typegoose/typegoose'
|
||||||
|
import { BaseModule } from './Base'
|
||||||
|
|
||||||
|
@dbconn()
|
||||||
|
@index({ accoundId: 1}, { unique: true })
|
||||||
|
@modelOptions({ schemaOptions: { collection: 'game_user', timestamps: true } })
|
||||||
|
class GameUserClass extends BaseModule {
|
||||||
|
@prop()
|
||||||
|
public accountId: string
|
||||||
|
@prop()
|
||||||
|
public nickname: string
|
||||||
|
@prop()
|
||||||
|
public avatar: string
|
||||||
|
|
||||||
|
@prop({default: 0})
|
||||||
|
public sex?: string;
|
||||||
|
@prop({default: 'CN'})
|
||||||
|
public country?: string;
|
||||||
|
@prop()
|
||||||
|
public province?: string;
|
||||||
|
@prop()
|
||||||
|
public city?: string;
|
||||||
|
@prop({default: false})
|
||||||
|
public locked: boolean;
|
||||||
|
@prop()
|
||||||
|
public lockedTime?: Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export const GameUser = getModelForClass(GameUserClass, {existingConnection: GameUserClass.db});
|
Loading…
x
Reference in New Issue
Block a user