用baas实现文章管理功能的例子
需求:实现从数据库中查询文章(包括内容和标题、日期等信息),在手机端显示。
技术实现:由于只需要进行“查询”,没有新增和修改、删除的操作,而且也没有对文章有权限方面的限制,所以没有必要用BIZ来做,BAAS即可实现。
具体步骤:
1、数据库中新建数据表,可以用BIZ的新建概念关系来实现,也可以在数据库直接新建表。
2、考虑到用BIZ的复杂性(权限、OAUTH转URL),用简单而直接的BAAS来建立action,在baas中新建一个"服务",IDE会自动生成一个service.m文件,在该文件中新建数据表aciton,选择我们新建的表格,这里可以选择query和save(不包括新增和删除,这是baas和biz的最大差别),由于本案例只需要查询,所以这里只建立queryaction即可。至此,我们就有了一个可以直接查询数据库的action文件,当需要时就可以调用,然后通过过滤器(filter)来约束结果集。
3、有个aciton,下面就可以到UI2中建立前端页面。我们在对应目录下建立W文件,通过向导来实现,这里我选择的是“微网2”模板,根据向导指示填写必要参数后即可。
4、对生成内容进行裁剪和润色,首先按照编码规范,将“mainactivity.w”和"mainactivity.js"文件重命名为“index.w"和“index.js”,这样一眼就能看出来入口页面(默认为index)。
5、修改index.js里的参数。
(1)定义可被调用的页面,这里定义了main、content1和AAAA四个页面。
var Model = function() {
this.callParent();
var shellImpl = new ShellImpl(this, {
"contentsXid" : "pages",
"pageMappings" : {
"main" : {
url : this.transUrl('./main.w')
},
"content1" : {
url : this.transUrl('./contents/content1.w')
},
"AAAA" : {
url : this.transUrl('./list.w?title=AAAA')
}
"BBBB" : {
url : this.transUrl('./list.w?title=BBBB')
}
}
}
});
};
(2)定义页面初始化的时候,直接指向main页面
Model.prototype.modelLoad = function(event) {
justep.Shell.showPage("main");
};(3)定义transUrl事件
Model.prototype.transUrl = function(url) {
return require.toUrl(url);
};
6、从上一步可以看出,当用户调用index.w的时候,在页面初始化的modeload事件响应中,直接跳转到了mian.w,所以我们再来main.w是如何继续执行的。
define(function(require) {
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
var Model = function() {
this.callParent();
};
// 图片路径转换
Model.prototype.transUrl = function(row) {
var url = (typeof row === "object") ? "./img/" + row.val("imageName") : row
return require.toUrl(url);
};
Model.prototype.openPageClick = function(event) {
var row = event.bindingContext.$object;
var pagename = row.val("pagename");
// if ("bzqthb" === pagename) {
// window.location = "httP://xxxxx";
// return;
// }
if (pagename) {
justep.Shell.showPage(pagename);
}
};
Model.prototype.contentstoClick = function(event) {
var imgcontents = this.comp("imgcontents");
var activeXid = imgcontents.getActiveXid();
var content = imgcontents.getContent(activeXid);
var url = $(content.$domNode).attr("url");
if (url)
justep.Shell.showPage(require.toUrl(url));
};
return Model;
});
7、然后到list.w中进行设置。
define(function(require) {
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
var Model = function() {
this.callParent();
};
Model.prototype.open = function(event) {
var row = event.bindingContext.$object;
var url = "./detail.w";
justep.Shell.sh.showPage(require.toUrl(url), {
rowid : row.val("FID")
});
};
Model.prototype.backBtnClick = function(event) {
justep.Shell.closePage();
};
Model.prototype.modelLoad = function(event){
var title=this.getContext().getRequestParameter('title');
var titleName="";
switch(title){
case 'AAAA':
titleName='页面一 ';break;
case 'BBBB':
titleName='页面二';break;
}
var o={"title":titleName};
this.comp("titleBar1").set(o);
var filter =" FLMBS='"+title+"' and FTYPE='true'";
this.comp("baasData").setFilter("_filter", filter);
this.comp("baasData").refreshData();
this.comp("list").refresh();
};
return Model;
});
8、最后到detail.w中进行设置。
define(function(require) {
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
var Model = function() {
this.callParent();
};
Model.prototype.backBtnClick = function(event) {
justep.Shell.closePage();
};
Model.prototype.modelParamsReceive = function(event) {
var rowid = this.params.rowid;
if (!rowid){
alert("未获取到参数");
return;
}
var mainData = this.comp("baasData");
mainData.clear();
//var url = require.toUrl("./data.json");
//$.getJSON(url, function(data) {
// mainData.newData({
// defaultValues : data[rowid]
// });
//});
var filter =" FID ='"+rowid+"'";
this.comp("baasData").setFilter("_filter", filter);
this.comp("baasData").refreshData();
};
return Model;
});
用baas实现文章管理功能的例子相关推荐
- 用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现文章管理功能 实现效果 前文列表 用 Flask 来写个 ...
- 黑马博客——详细步骤(七)项目功能的实现之文章管理
3.文章管理 1.添加文章管理和文章编辑页面路由: 验证两个静态页面能否被访问 2.实现点击切换导航栏功能: 3.更改连接的选中状态 实现文章管理功能:(基于数据库) 创建文章集合->添加文章具 ...
- archives_do.php,织梦后台文章管理中增加批量添加tag标签功能
需求背景: 之前发布了不少文章,后来发现之前的这些文章当时发布时都没有添加tag标签,然而现在需要都添加上tag标签,然而这个在默认的织梦后台是没办法批量实现的,只能一篇篇文章去修改. 思考: 织梦原 ...
- SSM框架(spring+spring mvc+mybatis)+Mysql实现的星星少儿教育系统(功能包含前台:首页少儿早教知识、资讯、英语课程、视频、专家,后台包括文章管理、来源管理、返回首页等)
博客目录 SSM框架(spring+spring mvc+mybatis)+Mysql实现的星星少儿教育系统 实现功能截图 系统功能 使用技术 代码 写在最后 SSM框架(spring+spring ...
- 一步步使用SpringBoot结合Vue实现登录和用户管理功能
文章目录 前言 1.前后端分离简介 2.示例所用技术简介 一.环境准备 1.前端 1.1.安装Node.js 1.2.配置NPM源 1.3.安装vue-cli脚手架 1.4.VS Code 1.5.C ...
- ECShop后台详解-模块管理、基本信息设置、商品展示、促销管理、订单管理、文章管理、报表统计、数据备份与还原
在ECShop后台可进行商品管理.促销管理.订单管理.广告管理.报表统计.文章管理.会员管理.模板管理.短信管理.数据库管理等模块的设置. 模板管理 一个好的网店模板,首先会给人留下深刻的视觉印象.网 ...
- ISO14229-1专栏(5)--诊断与通信管理功能单元服务介绍
从这篇文章开始就要接触14229-1的核心内容--诊断服务的介绍了,在之后的文章中我们会接触到26个服务以及若干个他们的子服务. 我们介绍的顺序也是和14229-1中的顺序相同,不是按照SID从小到大 ...
- idea 报系统分区磁盘不足_系统磁盘管理功能讲解,电脑硬盘分区格式化修改驱动器号图文教程...
大家好,我是老盖,感谢观看本篇文章,本文做的也有视频,也可以看我发布的视频. 今天给大家讲一下系统自带的磁盘管理管理功能,磁盘管理比较常用的是硬盘分区,格式化和更改驱动器号这几个功能. 对着计算机点右 ...
- 5G NGC — SMF 会话管理功能
目录 文章目录 目录 SMF SMF 过载控制 NF Services Nsmf_PDUSession Service Create SM Context service operation Upda ...
最新文章
- 解决使用requests_html模块,req.html.render()下载chromium速度慢问题
- MR案例:Reduce-Join
- cocos2dx 3.3 Director setNotificationNode BUG
- Python 爬虫小程序(正则表达式的应用)
- 服务器apache远程命令,Linux实例:用socket通讯远程执行命令
- Metal日记:使用步骤指南
- 优秀的程序员应该掌握多少门编程语言?
- 内连级元素有哪些_行内元素和块级元素都有哪些
- 【方案分享】华为MateBook X Pro上市数字传播方案.pptx(附下载链接)
- Perl篇:常用调试命令
- java 私塾_Java私塾基础note
- Protel99SE教程(一)——原理图封装
- 【 机器学习】入门,理论框架以及学习资料
- 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
- Jpeg图片旋转和Exif方向
- 30 多名腾讯工程师,七天七夜拯救微盟的奇迹行动
- 用matlab求带参数d积分,用MATLAB求定积分
- Linux—虚拟机下如何查看系统是多少位的?32 or 64
- [附源码]Nodejs计算机毕业设计面向老年群体的健康养生系统Express(程序+LW)
- Dell戴尔笔记本电脑G15 5515 Ryzen Edition原装出厂Windows11系统恢复原厂oem系统