nodejs的前端项目搭建以及登陆接口开发

7 篇文章 1 订阅

nodejs学习

1、vue3前端

vue3项目搭建==>

axios配置封装

报错uncaught TypeError: Cannot set properties of undefined (setting ‘baseURL’)

更改axios版本

2、 nodejs配置跨域
npm install cors --save
var cors = require("cors");
app.use(cors({
  "origin": "*",
  "methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
  "preflightContinue": false,
  "optionsSuccessStatus": 204
}))

注意:app.use(cors())引入必须放在路由引入之前,否则不起作用

3、登陆注册接口前端写法

前端代码地址(不完全功能)

vue3+elemeng-plus登陆表单开发校验

<template>
    <div>
        <el-form
            label-width="100px"
            ref="formlabelref"
            :rules="rules"
            :model="formlabel"
            style="width: 60%;margin:0 auto"
            class="demo-ruleForm"
        >
            <el-form-item label="Name" prop="name">
                <el-input v-model="formlabel.name"></el-input>
            </el-form-item>
            <el-form-item label="Password"  prop="password">
                <el-input v-model="formlabel.password"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="submit">login</el-button>
                <el-button type="primary" @click="register">register</el-button>
                <el-button @click="reset">Reset</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script lang='ts'>
import { defineComponent, ref, unref } from 'vue'
import { userlogin ,userregister} from '../utils/api'
import {throttle} from '../utils/util'
import {
    ElMessage
} from 'element-plus';

export default defineComponent({
    name: 'login',
    setup() {
        let formlabelref = ref()
        let formlabel = ref({
            name: '',
            password: '',
        })
        let rules= ref({
            name: [
            {
                required: true,
                message: 'Please input name',
                trigger: 'blur',
            }
            ],
            password: [
            {
                required: true,
                message: 'Please input password',
                trigger: 'blur',
            },
            ],
        }) 
        const submittemp = () => {
            const form = unref(formlabelref)
            form.validate((valid)=>{
                if(!valid){
                    return ElMessage.error('用户名或密码未输入')
                }else{
                    userlogin(form.model).then(res => {
                        if (res.code === 200) {
                            ElMessage.success(res.msg);
                            reset()
                        } else {
                            ElMessage.error(res.msg);
                        }
                    })
                }
                
            })
        }
        const registertemp = () => {
            const form = unref(formlabelref)
            form.validate((valid)=>{
                if(!valid){
                    return ElMessage.error('用户名或密码未输入')
                }else{
                    userregister(form.model).then(res => {
                        if (res.code === 200) {
                            ElMessage.success(res.msg);
                            reset()
                        } else {
                            ElMessage.error(res.msg);
                        }
                    })
                }
                
            })
        }
        const submit = throttle(submittemp,3000)
        const reset =  () => {
            const form = unref(formlabelref)
            form.resetFields()
        }
        const register = throttle(registertemp,3000)
        return {
            rules,
            formlabel,
            formlabelref,
            submit,
            register,
            reset
        }
    }
})
</script>
4、跟nodejs搭建 的后端关联
axios.defaults.baseURL = 'http://localhost:3000';

启动前端&后端项目,调用接口

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值