| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { Provide, Scope, ScopeEnum } from "@midwayjs/decorator";
- import AppError from "@/utils/common/AppError";
- import ErrNo from "@/constants/errorEnum";
- import BaseService from "@/apis/service/base";
- import ModelName from "@/constants/dbEnum";
- import { UserDocument } from "@/apis/model/User";
- // 单例
- @Provide()
- @Scope(ScopeEnum.Singleton)
- export default class UserService extends BaseService {
- private get UserModel() {
- return this.getModel<UserDocument>(ModelName.User);
- }
- async login(username: string, password: string) {
- if (username === "zhangsan" && password === "123") {
- // 测试 redis
- await this.redisService.set("foo", "bar123");
- const result = await this.redisService.get("foo");
- // 测试 cache
- await this.cacheService.set("user-123", "张三");
- const name = await this.cacheService.get("user-123");
- return `userID:zhangsan-123_${result}_${name}`;
- }
- throw new AppError("用户名或密码错误", ErrNo.LOGIN_FAIL);
- }
- async test() {
- const doc = new this.UserModel({
- name: "Bill",
- email: "bill@initech.com",
- avatar: "https://i.imgur.com/dM7Thhn.png",
- });
- await doc.save();
- }
- }
|