欢迎使用邮箱系统!
++ 发件人: + + 发送时间: +
+ 邮件内容: + +
diff --git a/hw/2017-12-07/mail/src/app.js b/hw/2017-12-07/mail/src/app.js new file mode 100644 index 00000000..e097983e --- /dev/null +++ b/hw/2017-12-07/mail/src/app.js @@ -0,0 +1,46 @@ +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 index = require('./routes/index'); +//var users = require('./routes/users'); + +var app = express(); + +// view engine setup +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'jade'); + +// uncomment after placing your favicon in /public +//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); +app.use(logger('dev')); +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +app.use('/', index); +//app.use('/users', users); + +// 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 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); + res.render('error'); +}); + +module.exports = app; diff --git a/hw/2017-12-07/mail/src/bin/www b/hw/2017-12-07/mail/src/bin/www new file mode 100755 index 00000000..f1c284b4 --- /dev/null +++ b/hw/2017-12-07/mail/src/bin/www @@ -0,0 +1,90 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('src: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); +} diff --git a/hw/2017-12-07/mail/src/index.js b/hw/2017-12-07/mail/src/index.js deleted file mode 100644 index e777664e..00000000 --- a/hw/2017-12-07/mail/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -var express = require('express'); -var session = require('express-session'); -var index = require('./routes/index'); -var app = express(); - -app.use(session({secret: 'sosososososso'})); -app.use('/', index); -exports.app = app; \ No newline at end of file diff --git a/hw/2017-12-07/mail/src/package.json b/hw/2017-12-07/mail/src/package.json new file mode 100644 index 00000000..1fb0b318 --- /dev/null +++ b/hw/2017-12-07/mail/src/package.json @@ -0,0 +1,17 @@ +{ + "name": "src", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node ./bin/www" + }, + "dependencies": { + "body-parser": "~1.18.2", + "cookie-parser": "~1.4.3", + "debug": "~2.6.9", + "express": "~4.15.5", + "jade": "~1.11.0", + "morgan": "~1.9.0", + "serve-favicon": "~2.4.5" + } +} diff --git a/hw/2017-12-07/mail/src/stylesheets/style.css b/hw/2017-12-07/mail/src/public/stylesheets/style.css similarity index 91% rename from hw/2017-12-07/mail/src/stylesheets/style.css rename to hw/2017-12-07/mail/src/public/stylesheets/style.css index f1aec9e3..4224a905 100644 --- a/hw/2017-12-07/mail/src/stylesheets/style.css +++ b/hw/2017-12-07/mail/src/public/stylesheets/style.css @@ -1,3 +1,11 @@ +body { + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; +} + +a { + color: #00B7FF; +} *{ margin: 0; padding: 0; diff --git a/hw/2017-12-07/mail/src/routes/index.js b/hw/2017-12-07/mail/src/routes/index.js index fbfdd8bc..f8fb42cd 100644 --- a/hw/2017-12-07/mail/src/routes/index.js +++ b/hw/2017-12-07/mail/src/routes/index.js @@ -1,19 +1,12 @@ var express = require('express'); var router = express.Router(); -//var session = require('express-session'); -//router.get(session({ secret: 'sosos' })); -//判断是否有session.user +/* GET home page. */ router.get('/', function (req, res) { - //判断session是否存在 - //if (req.session.user) { res.render('main', { title: '主页', username: req.session.user }); - //} else { - //res.render('index', { title: '欢迎' }); - //} }); module.exports = router; diff --git a/hw/2017-12-07/mail/src/routes/mail.js b/hw/2017-12-07/mail/src/routes/mail.js index 4a7c2672..2f37664d 100644 --- a/hw/2017-12-07/mail/src/routes/mail.js +++ b/hw/2017-12-07/mail/src/routes/mail.js @@ -1,8 +1,8 @@ var debug = require('debug')('xxx'); var express = require('express'); var router = express.Router(); -var session = require('express-session'); -router.get(session({ secret: 'sosos' })); +//var session = require('express-session'); +//router.get(session({ secret: 'sosos' })); /* GET users listing. */ router.get('/', function (req, res, next) { diff --git a/hw/2017-12-07/mail/src/routes/users.js b/hw/2017-12-07/mail/src/routes/users.js new file mode 100644 index 00000000..623e4302 --- /dev/null +++ b/hw/2017-12-07/mail/src/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource'); +}); + +module.exports = router; diff --git a/hw/2017-12-07/mail/src/stylesheets/register.css b/hw/2017-12-07/mail/src/stylesheets/register.css deleted file mode 100644 index e69de29b..00000000 diff --git a/hw/2017-12-07/mail/src/views/mail/content.ejs b/hw/2017-12-07/mail/src/views/mail/content.ejs new file mode 100644 index 00000000..eb7f6b73 --- /dev/null +++ b/hw/2017-12-07/mail/src/views/mail/content.ejs @@ -0,0 +1,57 @@ + + + +
+ +| 序号 | +标题 | +发件人 | +发送时间 | +邮件状态 | + + + + +
|---|