乐趣区

egg(80)–egg之文章修改后返回到当前分页,模糊搜索

文章修改后返回到当前分页
middleware
app/middleware/adminauth.js
获取上一页的 url
ctx.state.prevPage = ctx.request.headers[‘referer’]; // 获取上一页的 url
view
app/view/admin/nav/edit.html 在 edit 的 from 中把上一页的 url 提交给后台
<input type=”hidden” name=”prevPage” value=”<%= prevPage %>”>
controller
app/controller/admin/nav.js
async doEdit() {
var _id=this.ctx.request.body._id;
var prevPage = this.ctx.request.body.prevPage;
await this.ctx.model.Nav.updateOne({“_id”:_id},this.ctx.request.body)
await this.success(prevPage,’ 编辑导航成功 ’);

}
效果

模糊搜索
view
app/view/admin/goods/index.html
<form role=”form” class=”form-inline” method=”get” action=”/admin/goods”>
<div class=”form-group”>
<label for=”name”> 输入关键词 </label>
<input type=”text” class=”form-control” value=”<%=keyword%>” id=”name” name=”keyword” placeholder=” 请输入名称 ”>
</div>

<div class=”form-group”>
<button type=”submit” class=”btn btn-default”> 开始搜索 </button>
</div>
</form>

controller
app/controller/admin/goods.js
async index() {
var page=this.ctx.request.query.page || 1;
var keyword=this.ctx.request.query.keyword;
// 注意
var json={};
if(keyword){
json=Object.assign({“title”:{$regex:new RegExp(keyword)}});
}
var pageSize=3;
// 获取当前数据表的总数量
var totalNum=await this.ctx.model.Goods.find(json).count();
var goodsResult=await this.ctx.model.Goods.find(json).skip((page-1)*pageSize).limit(pageSize);
await this.ctx.render(‘admin/goods/index’,{
list:goodsResult,
totalPages:Math.ceil(totalNum/pageSize),
page:page,
keyword:keyword
});
}
效果

退出移动版