Closed solarhell closed 5 years ago
connect-flash和flash这两个包都试过了。
connect-flash
flash
router.get('/login', (req, res) => { // 判断用户是否已经登录 if (req.currentUser) { // 如果已经登录,发送当前登录用户信息。 res.redirect('/users/profile') } else { // 没有登录,跳转到登录页面。 console.log(req) res.render('login', {message: req.flash('error')}) } })
// 处理登录请求(可能来自登录界面中的表单) router.post('/login', (req, res) => { AV.User.logIn(req.body.emailOrPhone, req.body.password).then((user) => { user.set('lastLoginIP', req.headers['x-real-ip']) user.save() res.saveCurrentUser(user) // 保存当前用户到 Cookie res.redirect('/users/profile') // 跳转到个人资料页面 }, (error) => { //登录失败,跳转到登录页面 console.log(error.code) req.flash('error', error.code) return res.redirect('/users/login') }) })
<!DOCTYPE HTML> <html> <head> <title>登陆</title> </head> <body> <% if (flash) { %> <p><%= flash.message %></p> <% } %> <form action="/users/login" method="post"> <label>用户名/邮箱:</label> <input type="text" name="emailOrPhone" autocomplete="on" placeholder="用户名/邮箱"> <label>密码:</label> <input type="password" name="password" autocomplete="off" placeholder="密码"> <input type="submit" value="登陆"/> </form> </body> </html>
const express = require('express') const cookieParser = require('cookie-parser') const cookieSession = require('cookie-session') const AV = require('leanengine') const flash = require('flash') app.use(AV.Cloud.CookieSession({ secret: 'my secret', maxAge: 3600000, fetchUser: true })) app.use(cookieSession({ name: 'session', keys: ['key1', 'key2'] })) app.use(flash())
代码如上所述,看过文档中关于session的描述了,但是还是没能配置成功。
抱歉,这个 issue 太久了,先关掉了。这个仓库是项目模板,如无意外的话不会添加更多功能了。
connect-flash
和flash
这两个包都试过了。代码如上所述,看过文档中关于session的描述了,但是还是没能配置成功。