合作测试开发日志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)
};
相关推荐
架构技术专栏8 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
别动我齐刘海8 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
志尊宝9 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
Flynt9 小时前
Deno 官宣一年后停更:我把它的招牌特性在 Node 26 和 Bun 里挨个找了一遍
node.js·deno·bun
刘发财10 小时前
前端如何生成10000页PDF文件?
前端·javascript·开源
A接拉起00710 小时前
2026 年 JavaScript 开发者需要了解的知识
前端·javascript·后端
_馒头10 小时前
pixiJs游戏开发实践 - 跳棋小游戏
javascript·vue.js
用户114818678948410 小时前
面试官:大屏项目里十几个模块同时渲染上万条数据,怎么做到不卡?
前端·性能优化
前端市界10 小时前
Pro React Admin: 统一工程底座,承载多种应用...
前端·github
葡萄城技术团队10 小时前
dsh-spreadjs-editor 当前支持什么:安装前需要了解的几件事
前端