Skip to content

Commit

Permalink
前端,数据库,后台
Browse files Browse the repository at this point in the history
iot,node,
  • Loading branch information
superchenney committed Aug 7, 2015
1 parent c09e411 commit 9fe70da
Show file tree
Hide file tree
Showing 3,307 changed files with 509,129 additions and 2 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
# smartHome
IOT nodejs
智能家居系统
114 changes: 114 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var multer = require('multer');
var mongoose = require('mongoose');
var session = require('express-session');

// var SerialPort = require("serialport").SerialPort;

var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();

global.dbHandel = require('./database/dbHandel');
global.db = mongoose.connect("mongodb://localhost:27017/nodedb");



app.use(session({
secret: 'secret',
cookie:{
maxAge: 1000*60*30
}
}));

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.engine("html",require("ejs").__express); // or app.engine("html",require("ejs").renderFile);
//app.set("view engine","ejs");
app.set('view engine', 'html');


// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));


app.use(function(req,res,next){
res.locals.user = req.session.user;
var err = req.session.error;
delete req.session.error;
res.locals.message = "";
if(err){
res.locals.message = '<div class="alert alert-danger" style="margin-bottom:20px;color:red;">'+err+'</div>';
}
next();
});


app.use('/', routes); // 即为为路径 / 设置路由
app.use('/users', users); // 即为为路径 /users 设置路由

app.use('/login',routes); // 即为为路径 /login 设置路由
app.use('/register',routes); // 即为为路径 /register 设置路由

app.use("/logout",routes); // 即为为路径 /logout 设置路由


app.use("/kaichuang",routes);
app.use("/guanchuang",routes);
app.use("/kaideng",routes);
app.use("/guandeng",routes);
app.use("/wenshidu",routes);
app.use("/guangzhao",routes);
app.use("/gengduo",routes);

app.use('/home',routes); // 即为为路径 /home 设置路由
app.use("/record",routes);
app.use("/setting",routes);

app.use("/wenshidu",routes);
app.use("/guangzhao",routes);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});


module.exports = app;
90 changes: 90 additions & 0 deletions bin/www
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
#!/usr/bin/env node

/**
* Module dependencies.
*/

var app = require('../app');
var debug = require('debug')('test:server');
var http = require('http');

/**
* Get port from environment and store in Express.
*/

var port = normalizePort(process.env.PORT || '3000');
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;
debug('Listening on ' + bind);
}
31 changes: 31 additions & 0 deletions database/dbHandel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var models = require("./models");

for(var m in models){
mongoose.model(m,new Schema(models[m]));
}


module.exports = {
getModel: function(type){
return _getModel(type);
},
// chenney
fetch: function(cb) {
return this
.find({})
.sort('date')
.exec(cb)
},
findById: function(id, cb) {
return this
.findOne({_id: id})
.exec(cb)
}

};

var _getModel = function(type){
return mongoose.model(type);
};
50 changes: 50 additions & 0 deletions database/models.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
module.exports = {

user:{
name:{type:String,required:true},
password:{type:String,required:true}
},

//chenney
operate:{
housename:{
type: String,
default: "客厅"
},
username:{
type:String
},
operate:{
type: String
},
date:{
type:Date,
default:Date.now()
}
},//操作记录


wenShiDu:{
date:{
type:Date,
default:Date.now()
},
temperature:{
type:Number
},
humidity:{
type:Number
},
}, //温湿度

guangZhao:{
date:{
type:Date,
default:Date.now()
},
illumination:{
type:Number
},
}

};
1 change: 1 addition & 0 deletions node_modules/.bin/serialportlist

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/serialportterm

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 9fe70da

Please sign in to comment.