first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var userRouter = require('./routes/user');
var cartRouter = require('./routes/cart.js');
var orderRouter = require('./routes/order.js');
var app = express();
app.all('*', function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type');
res.header('Access-Control-Allow-Methods', '*');
res.header('Content-Type', 'application/json;charset=utf-8');
next();
});
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use('/json/2.0/', indexRouter);
app.use('/json/2.0/user/', userRouter)
app.use('/json/2.0/cart/', cartRouter)
app.use('/json/2.0/order/', orderRouter)
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
});
module.exports = app;

View File

@@ -0,0 +1,91 @@
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('back-shop:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '4000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
console.log("You App Is Run here: http://localhost:3000/")
debug('Listening on ' + bind);
}

View File

@@ -0,0 +1,33 @@
module.exports = {
MysqlConfig: {
host : 'localhost',
user : 'root',
password : 'lb714500',
database : 'shop'
},
SqlConfig: {
index: {
QueryIndex: 'SELECT * from shop_commodity',
QueryIndexInfo: `SELECT * from shop_commodity where id = ?`,
QueryClassShop: `SELECT * from shop_commodity where commodity_brand = ?`,
SearchShop: `SELECT * from shop_commodity WHERE commodity_name or commodity_brand LIKE "%?%"`
},
user: {
Querylogin: 'SELECT id, user_money,user_name,user_nicname,user_truename from shop_user where user_name = ? and user_pwd = ?',
InsertUser: 'INSERT INTO shop_user (user_name, user_pwd, user_nicname) VALUES (?, ?, ?)'
},
cart: {
InsertCart: 'INSERT INTO shop_cart (user_id, commodity_id, cart_nums) VALUES (?, ?, ?)',
QueryCart: 'SELECT * from shop_cart where user_id = ? and commodity_id = ?',
SelectCart: 'SELECT shop_cart.cart_nums, shop_cart.id AS cid, shop_commodity.* FROM shop_cart ,shop_commodity WHERE shop_cart.commodity_id = shop_commodity.id AND shop_cart.user_id = ?',
deleteCart: 'DELETE FROM shop_cart WHERE id = ?'
},
order: {
addOrder: 'INSERT INTO shop_order (user_id, commodity_id, order_number,order_status,order_total,order_size) VALUES (?, ?, ?, ?, ?, ?)',
SelectOrder: 'SELECT shop_order.id AS oid,shop_order.order_number,shop_order.order_total,shop_order.order_size,shop_order.order_status, shop_commodity.* FROM shop_order ,shop_commodity WHERE shop_order.commodity_id = shop_commodity.id AND shop_order.user_id = ? and order_status = ?',
SelectAllOrder: 'SELECT shop_order.id AS oid,shop_order.order_number,shop_order.order_total,shop_order.order_size,shop_order.order_status, shop_commodity.* FROM shop_order ,shop_commodity WHERE shop_order.commodity_id = shop_commodity.id AND shop_order.user_id = ?',
updateOrder: 'UPDATE shop_order set order_status= ? WHERE user_id = ? and id = ?'
}
}
}

View File

@@ -0,0 +1,23 @@
var mysql = require('mysql');
var config = require("../confg/index");
var connection = mysql.createConnection(config.MysqlConfig);
connection.connect();
module.exports = {
query(sql, sqlParams = [], callback) {
console.log("sql", sql)
connection.query(sql, sqlParams, (error, results, fields) => {
if (error) throw error;
console.log("数据库查到的数据:", results)
results.length == 0
? callback({ status: 404, message: '数据库没有数据' })
: callback({ status: 200, message: '查询成功', data: results })
});
}
}

View File

@@ -0,0 +1,18 @@
{
"name": "back-shop",
"version": "0.0.0",
"private": true,
"scripts": {
"dev": "node-dev ./bin/www"
},
"dependencies": {
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"http-errors": "~1.6.3",
"md5": "^2.2.1",
"morgan": "~1.9.1",
"mysql": "^2.17.1",
"pug": "2.0.0-beta11"
}
}

View File

@@ -0,0 +1,54 @@
var express = require('express');
var router = express.Router();
var db = require("../db");
var config = require("../confg")
router.post('/addCart', function(req, res, next) {
var commodity_id = req.body.commodity_id;
var user_id = req.body.user_id;
db.query(config.SqlConfig.cart.InsertCart, [ user_id, commodity_id, 1], result => {
res.json(result)
})
});
router.post('/queryShopOrCart', function(req, res, next) {
var commodity_id = req.body.commodity_id;
var user_id = req.body.user_id;
db.query(config.SqlConfig.cart.QueryCart, [ user_id, commodity_id], result => {
if(result.hasOwnProperty("data")) {
result.data = "不可收藏"
}else{
result.status = 200
result.data = "可收藏"
}
console.log(result)
res.json(result)
})
});
router.post('/getAllCart', function(req, res, next) {
var user_id = req.body.user_id;
db.query(config.SqlConfig.cart.SelectCart, [ user_id ], result => {
res.json(result)
});
});
router.post('/deleteCart', function(req, res, next) {
var cartdata = req.body.cartdata;
let resd = ""
cartdata.forEach(val => {
db.query(config.SqlConfig.cart.deleteCart, [ val.cid ], result => {
resd = result
});
});
res.json({
status: 200,
message: '删除成功'
});
});
module.exports = router;

View File

@@ -0,0 +1,47 @@
var express = require('express');
var router = express.Router();
var db = require("../db");
var config = require("../confg")
/**
* APP的首页接口
* 请求地址:http://127.0.0.1:3000/json/2.0/index
* 请求方式:GET
* 请求参数:无
*/
router.get('/index', function(req, res, next) {
db.query(config.SqlConfig.index.QueryIndex, {}, result => {
res.json(result)
})
});
router.get('/class', function(req, res, next) {
var brand = req.query.brand;
console.log(brand)
db.query(config.SqlConfig.index.QueryClassShop, [brand], result => {
res.json(result)
})
});
router.get('/search', function(req, res, next) {
var keyword = req.query.keyword;
db.query(`SELECT * from shop_commodity WHERE commodity_name or commodity_brand LIKE '%${keyword}%'`, [], result => {
res.json(result)
})
});
/**
* APP从首页点击商品进入详情的接口
* 请求地址:http://127.0.0.1:3000/json/2.0/index/info
* 请求方式:GET
* 请求参数:
* id: string 需要请求的商品id,从首页接口获得
*/
router.get('/index/info', function(req, res, next) {
let id = req.query.id
db.query(config.SqlConfig.index.QueryIndexInfo, id, result => {
res.json(result)
})
});
module.exports = router;

View File

@@ -0,0 +1,48 @@
var express = require('express');
var router = express.Router();
var db = require("../db");
var config = require("../confg");
router.post('/addOrder', function(req, res, next) {
var orderdata = req.body.orderdata;
let resd = ""
orderdata.forEach(val => {
db.query(config.SqlConfig.order.addOrder, [ val.userId,val.shopId,val.orderNumber,val.orderStatus,val.orderTotal,val.orderSize ], result => {
resd = result
});
});
res.json({
status: 200,
message: '订单增加成功'
});
});
router.post('/selectOrder', function(req, res, next) {
var status = req.body.status,
uid = req.body.userid,
sql = null;
console.log(typeof status);
status == -1 ? sql = config.SqlConfig.order.SelectAllOrder
: sql = config.SqlConfig.order.SelectOrder;
db.query(sql, [ uid, status ], result => {
result.status = 200
res.json(result)
});
});
router.post('/updateOrder', function(req, res, next) {
var status = req.body.status,
uid = req.body.userid,
oid = req.body.oid;
db.query(config.SqlConfig.order.updateOrder, [ status, uid, oid ], result => {
res.json(result)
});
});
module.exports = router;

View File

@@ -0,0 +1,26 @@
var express = require('express');
var router = express.Router();
var db = require("../db");
var config = require("../confg")
var md5 = require('md5');
router.post('/reg', function(req, res, next) {
var username = req.body.username;
var userpwd = md5(req.body.password);
var usernicname = req.body.usernicname;
db.query(config.SqlConfig.user.InsertUser, [ username, userpwd, usernicname], result => {
res.json(result)
})
});
router.post('/login', function(req, res, next) {
var username = req.body.username;
var userpwd = md5(req.body.password);
// md5 不可逆加密
db.query(config.SqlConfig.user.Querylogin, [ username, userpwd ], result => {
res.json(result)
})
});
module.exports = router;

View File

@@ -0,0 +1,41 @@
# POST http://127.0.0.1:3000/json/2.0/user/login HTTP/1.1
# content-type: application/json
# {
# "username": "15155145354",
# "password": "714500"
# }
# POST http://127.0.0.1:3000/json/2.0/user/reg HTTP/1.1
# content-type: application/json
# {
# "username": "13666062265",
# "password": "789456",
# "usernicname": "哈哈哈"
# }
#POST http://127.0.0.1:3000/json/2.0/cart/getAllCart HTTP/1.1
#content-type: application/json
#
#{
# "user_id": "14"
#}
#POST http://127.0.0.1:3000/json/2.0/order/updateOrder HTTP/1.1
#content-type: application/json
#
#{
# "userid": "14",
# "status": 0,
# "oid": 172
#}
###
GET http://127.0.0.1:3000/json/2.0/search?keyword=小米
content-type: application/json
###