/*
************************ 还没优化,可以让前端传集合名字,
因为删除和修改、获取品牌信息和获取手机信息方法代码一样,
返回的结果集也一样,只是查询的集合不一样
****************************
*/
var express = require("express");
var async = require("async");
var bodyParser = require("body-parser");
var MongoClient = require("mongodb").MongoClient;
var ObjectId = require("mongodb").ObjectId;
var multer = require("multer");
var upload = multer({
dest: "d:temp"
});
var fs = require("fs");
var path = require("path");
var app = express();
var url = "mongodb://127.0.0.1:27017";
app.use(
bodyParser.urlencoded({
extended: false
})
);
app.use(bodyParser.json());
//指定静态资源访问目录
app.use(express.static(__dirname + "/public"));
// app.use(express.static(require('path').join(__dirname, 'public')));
// app.use(express.static('public'));
app.use(function (req, res, next) {
// res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "X-Requested-With");
// res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
// 设置响应头来处理跨域问题
res.set({
"Access-Control-Allow-Origin": "*"
});
next();
});
/*
************************ 用户 ****************************
*/
//注册用户
app.post("/api/register", function (req, res) {
var userName = req.body.name;
var pwd = req.body.pwd;
var nicik = req.body.nicik;
var phone = parseInt(req.body.phone);
var age = parseInt(req.body.age);
var sex = req.body.sex;
var isAdmin = req.body.isAdmin === "是" ? true : false;
var results = {};
MongoClient.connect(
url, {
userNewUrlParser: true
},
function (err, client) {
if (err) {
//连接数据库失败
results.code = -1;
results.msg = "数据库连接失败";
res.json(results);
return;
} else {
var db = client.db("nodeProject");
async.series(
[
function (cb) {
db.collection("user")
.find({
name: userName
})
.count(function (err, num) {
if (err) {
cb(err);
} else if (num > 0) {
// 这个人已经注册过了,
cb(new Error("已经注册"));
} else {
// 可以注册了
cb(null);
}
});
},
function (cb) {
db.collection("user").insertOne({
name: userName,
password: pwd,
nicik: nicik,
phone: phone,
age: age,
sex: sex,
isAdmin: isAdmin
},
function (err) {
if (err) {
cb(err);
} else {
cb(null);
}
}
);
}
],
function (err, result) {
if (err) {
results.code = -1;
results.msg = "注册失败";
res.json(results);
client.close();
return;
} else {
// 注册成功
results.code = 0;
results.msg = "注册成功";
results.data = {
nicik: nicik,
isAdmin: isAdmin
};
}
client.close();
res.json(results);
}
);
}
}
);
});
//用户登录
app.post("/api/login", function (req, res) {
var userName = req.body.name;
var pwd = req.body.pwd;
var results = {};
MongoClient.connect(
url, {
userNewUrlParser: true
},
function (err, client) {
if (err) {
//连接数据库失败
results.code = -1;
results.msg = "数据库连接失败";
res.json(results);
return;
} else {
var db = client.db("nodeProject");
db.collection("user")
.find({
name: userName,
password: pwd
})
.toArray(function (err, data) {
if (err) {
results.code = -1;
results.msg = "查询失败";
} else if (data.length <= 0) {
results.code = -1;
results.msg = "用户名或密码错误";
} else {
// 登录成功
results.code = 1;
results.msg = "登录成功";
results.data = {
nicik: data[0].nicik,
isAdmin: data[0].isAdmin
};
}
client.close();
res.json(results);
});
}
}
);
});
//用户管理,获取所有用户信息
app.post("/api/allUser", function (req, res) {
var page = parseInt(req.body.page);
var pageSize = parseInt(req.body.pageSize);
var totalSize = 0; // 总条数
var totalPage = 0; // 总页数
var results = {};
MongoClient.connect(
url, {
userNewUrlParser: true
},
function (err, client) {
if (err) {
//连接数据库失败
results.code = -1;
results.msg = "数据库连接失败";
res.json(results);
return;
} else {
var db = client.db("nodeProject");
async.series(
[
function (cb) {
db.collection("user")
.find()
.count(function (err, num) {
if (err) {
cb(err);
} else {
totalSize = num;
cb(null);
}
});
},
function (cb) {
db.collection("user")
.find()
.limit(pageSize)
.skip(page * pageSize - pageSize)
.toArray(function (err, data) {
if (err) {
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node.js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行!
资源推荐
资源详情
资源评论
收起资源包目录
基于nodeJS和mongodb数据库的后台管理系统接口,数据,用户的增删改查接口.zip (44个子文件)
project_demo
yarn.lock 86B
误删恢复的文件
server.js 30KB
server.js 31KB
temp
555d2a3a3365685aa60afe09c1cb9e60 8KB
9922f9d33b93783438bac80de20eeeed 8KB
71693f135cdc94f85e18ef6540e90d8d 20KB
f91391dacf05a0e97c8308d8f3f998bc 8KB
ec590bc556b019fd5319ac392d7b75a2 8KB
b3ab606d72edef35bf0f040f0307a727 8KB
2e711233ea37a60282d34940dc111d25 8KB
c8deb96def7dd3a1cf2aac9cd764c410 13KB
796a895b257cff399d28d3cdeabe78c0 8KB
fa8bc140fd20c4b11c95497d8ed0bcff 20KB
f134f6f6fada990a63f1fc799888d1d3 8KB
ca1e3fd02efc3e1312ceb95c024d15ae 8KB
5e3240665005b40a1515d08229d625bc 8KB
8022309b43064825e89f424d8c6a15a5 8KB
ef08c4c574568cb3f028b7370d753b1d 8KB
b3bff56512b66bfd52a763073028ea08 8KB
8c4a697a2d299d0a699533b44bf18791 8KB
f77743c3579afbcdbd68e5f09ec7369d 8KB
33a92db9239ed8333909a32d0d809320 8KB
d17758123b95d7648229522b02c421c7 13KB
package.json 594B
public
images
1543739353361_2.jpg 8KB
1543681152610_timg.jpg 20KB
1543681045685_2.jpg 8KB
1543745134298_2.jpg 8KB
1543745155136_2.jpg 8KB
1543742661708_u=28549099,334139259&fm=26&gp=0.jpg 13KB
1543739308001_1.jpg 8KB
1543681269781_2.jpg 8KB
1543745180192_1.jpg 8KB
1543743349618_1.jpg 8KB
1543743309769_2.jpg 8KB
1543661420742_1.jpg 8KB
1543745851697_2.jpg 8KB
1543734249157_1.jpg 8KB
1543681169240_u=28549099,334139259&fm=26&gp=0.jpg 13KB
1543745227176_1.jpg 8KB
1543681226712_1.jpg 8KB
1543739387410_timg.jpg 20KB
package-lock.json 25KB
.gitignore 13B
共 44 条
- 1
资源评论
白话机器学习
- 粉丝: 8197
- 资源: 7687
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功