1 Star 0 Fork 8

坟墓里找WiFi/nodejs简单demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 3.53 KB
一键复制 编辑 原始数据 按行查看 历史
老胡来也 提交于 2022-05-24 15:28 . CRUD模型-简单不封装版
'use strict'
const Koa = require('koa');
const router = require('koa-router')();
const cors = require('koa-cors');
const bodyParser = require('koa-bodyparser');
const { Sequelize, DataTypes } = require('sequelize');
// 方法 3: 分别传递参数 (其它数据库)
const sequelize = new Sequelize('ChinaInfo', 'sa', '123456', {
host: 'localhost',
dialect: 'mssql' /* 选择 'mysql' | 'mariadb' | 'postgres' | 'mssql' 其一 */
});
// (async () => {
// try {
// await sequelize.authenticate();
// console.log('Connection has been established successfully.');
// } catch (error) {
// console.error('Unable to connect to the database:', error);
// }
// })();
// 定义数据模型
let Blogs = sequelize.define('Blogs', {
'Title': {
type: DataTypes.STRING,
allowNull: false
},
'Content': {
type: DataTypes.STRING,
allowNull: false
}
})
function init() {
// 同步模型到数据库
sequelize.sync({ force: true }).then(() => {
Blogs.bulkCreate([
{
Title: '明天你要上新闻啦',
Content: '黎妹子的新闻'
},
{
Title: '谢天谢地你来啦',
Content: '孟叔叔来了'
},
{
Title: '年三十',
Content: '要过年了'
},
])
})
}
// init()
const app = new Koa();
router
.get('/blogs', async (ctx) => {
// 获得前端传回的分页参数,pageIndex是指获取第几页的数据,pageSize是指页的记录数
let pageIndex = parseInt(ctx.request.query.pageIndex);
let pageSize = parseInt(ctx.request.query.pageSize);
// 使用findAndCountAll函数,直接返回记录和总数量
let { rows, count } = await Blogs.findAndCountAll({
offset: (pageIndex - 1) * pageSize,
limit: pageSize,
// where:{
// }
})
// 响应,返回给前端的数据
ctx.body = {
code: 1000,
msg: '获取博客列表数据成功',
data: {
pageIndex,
pageSize,
totalCount: count,
rows
}
}
})
.post('/blogs', async (ctx) => {
let obj = ctx.request.body;
console.log(obj);
let entity = await Blogs.create(obj);
ctx.body = {
code: 1000,
msg: '新增博客成功',
data: entity
}
})
.put('/blogs/:id', async (ctx) => {
let id = ctx.request.params.id;
let obj = ctx.request.body;
console.log(id);
console.log(obj);
let entity = await Blogs.update(obj, {
where: {
id: id
}
})
let result = await Blogs.findOne({
where: {
id: id
}
})
ctx.body = {
code: 1000,
msg: '修改博客成功!',
data: result
}
})
.delete('/blogs/:id', async (ctx) => {
let id = ctx.request.params.id;
console.log(id);
await Blogs.destroy({
where: {
id: id
}
})
ctx.body = {
code: 1000,
msg: '删除博客成功',
data: null
}
})
app.use(cors())
app.use(bodyParser())
app.use(router.routes())
let port = 8000;
app.listen(port)
console.log(`程序运行在如下地址:http://localhost:${port}`);
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/faceffpill/nodejs-simple-demo.git
git@gitee.com:faceffpill/nodejs-simple-demo.git
faceffpill
nodejs-simple-demo
nodejs简单demo
master

搜索帮助