const Koa = require("koa");
const Router = require("koa-router");
const views = require("koa-views");
const static = require("koa-static");
const koaBody = require("koa-body");
const md5 = require("md5") //加密 下载好直接就能用
let musicData = require("./data/music.json")
let router = new Router();
let app = new Koa();
app.use(koaBody());
app.use(static(__dirname+"/static"));
app.use(views(__dirname+"/views",{
extension:"pug"
}))
router.get("/", ctx=>{
ctx.redirect("/login")
})
// 跳转登录的首页 服务端获取cookies中信息的方法 ctx.cookies
router.get("/login", async ctx=>{
let cookiesInfo = ctx.cookies.get("isLogin"); //获取加密的cookies
// console.log(cookiesInfo)
if(cookiesInfo){
let serverInfo = md5("张三"+"123") //正常情况下获取数据库中存储的账号密码 这里就自己写一下
if(serverInfo == cookiesInfo){ //判断是否相等 ,
ctx.redirect("/list") //如果相等跳转
}
}
await ctx.render("login")
})
// 跳转到检查页面 这里用post提交
router.post("/checkUser", async ctx=>{
// console.log(ctx.require);
// console.log(ctx.request.body); //是koa-body中的参数,用来获取参数
// console.log(ctx.request); //数据库中查询的数据
if(ctx.request.body.username == "张三" && ctx.request.body.pwd == "123"){ //判断处理用户名和密码成功之后才做下面的动作
if(ctx.request.body.rememberMe){
let loginStatus = md5("张三"+"123") //md5加密
// 字段名/属性名 属性值
ctx.cookies.set("isLogin",loginStatus,{
//时效性 (保存的日期)固定 单位毫秒
maxAge:3600 * 1000 * 24 * 7
});
}
// 跳转到list页面 重新定向可以跳转
ctx.redirect("/list")
}else{
ctx.redirect("/error")
}
})
router.get("/list", async ctx=>{
// console.log(ctx.cookies.get("isLogin"))
await ctx.render("list",{
musicData //这里是个数组
})
console.log(musicData)
});
//
router.get("/error", async ctx=>{
await ctx.render("error")
})
// 定义歌曲详情页面的
router.get("/detail", async ctx=>{
await ctx.render("detail",{
})
})
app.use(router.routes());
app.listen(8787)
前段文件
each val,key in musicData
ul(class="listContainer "+(key%2==0?"grayBg":""))
li.grayWord #{key+1}
li #{val.songName}
li #{val.album}
li.grayWord #{val.time}
span(class="btnController" onclick="showDetail("+ JSON.stringify(val) +")")
a(href='#')
img(src='img/play.png')
img(src='img/add.png')
客户端存储2
最新推荐文章于 2024-10-01 20:12:28 发布