合作测试开发日志1

2024/3/16

创建了DreamWind项目,用于开发测试

搭建后端

userService.js

javascript 复制代码
const  Service  = require("egg").Service;
 
class UserInfoService extends Service {
    //1.登录验证(根据用户名和密码进行查询)
    async QueryUserByUserNameByUserPassword(user){
        let result;
        try{
            let sql = `SELECT COUNT(*) FROM userinfo WHERE UserName = '${user.UserName}'`;
            let sqlResult = await this.app.mysql.query(sql)
            let IsUserNamehave = sqlResult[0]['COUNT(*)'];
            if(IsUserNamehave == 0){
                result = "400 不存在该账号,请注册";
            }
            if(IsUserNamehave == 1){
                result = "200 查询到该账号"
                sql = `SELECT COUNT(*) FROM userinfo WHERE UserName = '${user.UserName}' and UserPassword = '${user.UserPassword}'`;
                sqlResult = await this.app.mysql.query(sql)
                let IsPasswordhave = sqlResult[0]['COUNT(*)'];
                if(IsPasswordhave == 0){
                    result = "401 密码不正确";
                }
                if(IsPasswordhave == 1){
                    //后续在这里添加cookie
                    result = "200 成功登录"
                }
            }
        } catch (error) {
            console.log(error)
        }
        return result;
    }
    //2.注册账号(需要用户名和密码)
    async RegisterUserByUserNameByUserPassword(user) {
        let result;
        try {
            if(user.UserName == "" || user.UserPassword == ""){
                result = "400 请求数据格式不正确"
                return result;
            }
            let sql = `SELECT COUNT(*) FROM userinfo WHERE UserName = '${user.UserName}'`;
            let sqlResult = await this.app.mysql.query(sql)
            let Ishave = sqlResult[0]['COUNT(*)'];
            if(Ishave == 0){
                sql = `INSERT INTO userinfo (UserName , UserPassword) VALUES ("${user.UserName}", "${user.UserPassword}")`;
                await this.app.mysql.query(sql)
                result = "200 成功添加账号"
            }
            if(Ishave == 1){
                result = "400 该账号已存在";
            }
        } catch (error) {
            console.log(error)
        }
        return result;
    }
    //3.修改密码
    async ChangePasswordByUserNameByUserPassword(user){
        let result;
        try{
            if(user.UserName == "" || user.UserPassword == ""){
                result = "400 请求数据格式不正确"
                return result;
            }
            let sql = `SELECT COUNT(*) FROM userinfo WHERE UserName = '${user.UserName}'`;
            let sqlResult = await this.app.mysql.query(sql)
            let IsUserNamehave = sqlResult[0]['COUNT(*)'];
            if(IsUserNamehave == 0){
                result = "400 不存在该账号,请注册";
            }
            if(IsUserNamehave == 1){
                result = "200 查询到该账号"
                sql = `SELECT COUNT(*) FROM userinfo WHERE UserName = '${user.UserName}' and UserPassword = '${user.UserPassword}'`;
                sqlResult = await this.app.mysql.query(sql)
                let IsPasswordhave = sqlResult[0]['COUNT(*)'];
                if(IsPasswordhave == 0){
                    sql = `update userinfo set UserPassword = "${user.UserPassword}" where UserName = "${user.UserName}"`;
                    await this.app.mysql.query(sql)
                    result = "200 成功修改密码"
                }
                if(IsPasswordhave == 1){
                    result = "400 与原密码相同"
                }
            }
        } catch (error) {
            console.log(error)
        }
        return result;
    }
}
 
module.exports = UserInfoService;
 

userController.js

javascript 复制代码
const { Controller } = require("egg");
 
class UserController extends Controller {
    //1.登录验证(根据用户名和密码进行查询)
    async QueryUserByUserNameByUserPassword() {
        const { ctx } = this; 
        const result = await this.ctx.service.userService.QueryUserByUserNameByUserPassword(this.ctx.request.body);
        ctx.body = result
    }
    //2.注册账号(根据用户名和密码进行注册)
    async RegisterUserByUserNameByUserPassword() {
        const { ctx } = this; 
        const result = await this.ctx.service.userService.RegisterUserByUserNameByUserPassword(this.ctx.request.body);
        ctx.body = result
    }
    //3.修改密码(根据用户名与新密码)
    async ChangePasswordByUserNameByUserPassword() {
        const { ctx } = this; 
        const result = await this.ctx.service.userService.ChangePasswordByUserNameByUserPassword(this.ctx.request.body);
        ctx.body = result
    }
}
 
module.exports = UserController

router.js

javascript 复制代码
/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/', controller.home.index);
  //1.登录验证
  router.post("/login" , controller.userController.QueryUserByUserNameByUserPassword)
  //2.注册账号
  router.post("/register" , controller.userController.RegisterUserByUserNameByUserPassword)
  //3.修改密码
  router.post("/change" , controller.userController.ChangePasswordByUserNameByUserPassword)
};
相关推荐
IT_陈寒2 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen2 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
Larcher3 小时前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
默_笙3 小时前
🃏 JS 只有 8 种数据类型,但我花了 2 天才搞懂 null 和 undefined 的区别
javascript
牧艺3 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
jump_jump3 小时前
流式 HTML:从 htmx 片段装配到浏览器原生增量渲染
javascript·性能优化·前端工程化
红尘散仙4 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队4 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端4 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+
angerdream4 小时前
Android手把手编写儿童手机远程监控App之vue3 路由守卫
前端