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 @@ + + + + + + + <%= title %> + + + + + +
+

欢迎使用邮箱系统!

+
+ 邮件名: +
+ 发件人: + + 发送时间: +
+ 邮件内容: +

+
+ 返回邮件列表 +
+ + + + + \ No newline at end of file diff --git a/hw/2017-12-07/mail/src/views/mail/list.ejs b/hw/2017-12-07/mail/src/views/mail/list.ejs index e69de29b..42ca37dd 100644 --- a/hw/2017-12-07/mail/src/views/mail/list.ejs +++ b/hw/2017-12-07/mail/src/views/mail/list.ejs @@ -0,0 +1,72 @@ + + + + + + <%= title %> + + + + + + +
+

欢迎使用邮箱系统!

+
+ + + + + + + + + + + +
序号标题发件人发送时间邮件状态
+ 返回首页 +
+
+ + + + + \ No newline at end of file diff --git a/hw/2017-12-07/mail/src/views/mail/send.ejs b/hw/2017-12-07/mail/src/views/mail/send.ejs index e69de29b..dad2737e 100644 --- a/hw/2017-12-07/mail/src/views/mail/send.ejs +++ b/hw/2017-12-07/mail/src/views/mail/send.ejs @@ -0,0 +1,57 @@ + + + + + + + <%= title %> + + + + + +
+

欢迎使用邮箱系统!

+
+ 邮件名: +
+ 收件人: +
+ 邮件内容:
+
+ +
+ + +
+ + + \ No newline at end of file diff --git a/hw/2017-12-07/mail/src/views/user/login.ejs b/hw/2017-12-07/mail/src/views/user/login.ejs index ed697265..89025722 100644 --- a/hw/2017-12-07/mail/src/views/user/login.ejs +++ b/hw/2017-12-07/mail/src/views/user/login.ejs @@ -29,5 +29,32 @@
不存在该帐号!点击注册!
+ + diff --git a/hw/2017-12-07/mail/src/views/user/register.ejs b/hw/2017-12-07/mail/src/views/user/register.ejs index 5ecc9cdd..f6d65c1e 100644 --- a/hw/2017-12-07/mail/src/views/user/register.ejs +++ b/hw/2017-12-07/mail/src/views/user/register.ejs @@ -25,6 +25,41 @@
+ + diff --git a/hw/2017-12-07/mail/test/index.js b/hw/2017-12-07/mail/test/index.js deleted file mode 100644 index b0a23620..00000000 --- a/hw/2017-12-07/mail/test/index.js +++ /dev/null @@ -1,14 +0,0 @@ -var assert = require('assert'); -var request = require('supertest'); -var app = require('../src/index').app; - -describe('', function () { - it('get /', function (done) { - request(app) - .get('/') - .expect(200, function (err, res) { - assert((res.text).indexOf('首页') !== null); - done(); - }); - }); -}); \ No newline at end of file diff --git a/hw/2017-12-07/mail/test/index.test.js b/hw/2017-12-07/mail/test/index.test.js new file mode 100644 index 00000000..059cbc39 --- /dev/null +++ b/hw/2017-12-07/mail/test/index.test.js @@ -0,0 +1,54 @@ +var assert = require('assert'); +var request = require('supertest'); +var app = require('../src/app'); + +describe('url测试', function () { + it('get /', function (done) { + request(app) + .get('/') + .expect(200, function (err, res) { + assert((res.text).indexOf('主页') !== null); + done(); + }); + }); + it('get /main', function (done) { + request(app) + .get('/main') + .expect(200, function (err, res) { + assert((res.text).indexOf('邮箱功能选择界面') !== null); + done(); + }); + }); + it('get /user/login', function (done) { + request(app) + .get('/user/login') + .expect(200, function (err, res) { + assert((res.text).indexOf('登录界面') !== null); + done(); + }); + }); + it('get /user/register', function (done) { + request(app) + .get('/user/register') + .expect(200, function (err, res) { + assert((res.text).indexOf('注册界面') !== null); + done(); + }); + }); + it('get /mail/list', function (done) { + request(app) + .get('/mail') + .expect(200, function (err, res) { + assert((res.text).indexOf('邮件列表界面') !== null); + done(); + }); + }); + it('get /mail/send', function (done) { + request(app) + .get('/mail/send') + .expect(200, function (err, res) { + assert((res.text).indexOf('发送邮件页界面') !== null); + done(); + }); + }); +}); \ No newline at end of file diff --git a/hw/OS/Linux/IMG_20171212_103430.jpg b/hw/OS/Linux/IMG_20171212_103430.jpg new file mode 100644 index 00000000..e672999e Binary files /dev/null and b/hw/OS/Linux/IMG_20171212_103430.jpg differ diff --git a/hw/OS/Linux/IMG_20171212_105027.jpg b/hw/OS/Linux/IMG_20171212_105027.jpg new file mode 100644 index 00000000..c2a059e8 Binary files /dev/null and b/hw/OS/Linux/IMG_20171212_105027.jpg differ diff --git a/hw/OS/w+l/1[72E}JBP`Q1{BEWY@(JLH8.jpg b/hw/OS/w+l/1[72E}JBP`Q1{BEWY@(JLH8.jpg new file mode 100644 index 00000000..9f968465 Binary files /dev/null and b/hw/OS/w+l/1[72E}JBP`Q1{BEWY@(JLH8.jpg differ diff --git a/hw/OS/win10/IMG_20171212_205948.jpg b/hw/OS/win10/IMG_20171212_205948.jpg new file mode 100644 index 00000000..02009e0c Binary files /dev/null and b/hw/OS/win10/IMG_20171212_205948.jpg differ diff --git a/hw/OS/win10/IMG_20171212_213301.jpg b/hw/OS/win10/IMG_20171212_213301.jpg new file mode 100644 index 00000000..ddca7a1a Binary files /dev/null and b/hw/OS/win10/IMG_20171212_213301.jpg differ