需求:实现从数据库中查询文章(包括内容和标题、日期等信息),在手机端显示。

技术实现:由于只需要进行“查询”,没有新增和修改、删除的操作,而且也没有对文章有权限方面的限制,所以没有必要用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实现文章管理功能的例子相关推荐

  1. 用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现文章管理功能 实现效果 前文列表 用 Flask 来写个 ...

  2. 黑马博客——详细步骤(七)项目功能的实现之文章管理

    3.文章管理 1.添加文章管理和文章编辑页面路由: 验证两个静态页面能否被访问 2.实现点击切换导航栏功能: 3.更改连接的选中状态 实现文章管理功能:(基于数据库) 创建文章集合->添加文章具 ...

  3. archives_do.php,织梦后台文章管理中增加批量添加tag标签功能

    需求背景: 之前发布了不少文章,后来发现之前的这些文章当时发布时都没有添加tag标签,然而现在需要都添加上tag标签,然而这个在默认的织梦后台是没办法批量实现的,只能一篇篇文章去修改. 思考: 织梦原 ...

  4. SSM框架(spring+spring mvc+mybatis)+Mysql实现的星星少儿教育系统(功能包含前台:首页少儿早教知识、资讯、英语课程、视频、专家,后台包括文章管理、来源管理、返回首页等)

    博客目录 SSM框架(spring+spring mvc+mybatis)+Mysql实现的星星少儿教育系统 实现功能截图 系统功能 使用技术 代码 写在最后 SSM框架(spring+spring ...

  5. 一步步使用SpringBoot结合Vue实现登录和用户管理功能

    文章目录 前言 1.前后端分离简介 2.示例所用技术简介 一.环境准备 1.前端 1.1.安装Node.js 1.2.配置NPM源 1.3.安装vue-cli脚手架 1.4.VS Code 1.5.C ...

  6. ECShop后台详解-模块管理、基本信息设置、商品展示、促销管理、订单管理、文章管理、报表统计、数据备份与还原

    在ECShop后台可进行商品管理.促销管理.订单管理.广告管理.报表统计.文章管理.会员管理.模板管理.短信管理.数据库管理等模块的设置. 模板管理 一个好的网店模板,首先会给人留下深刻的视觉印象.网 ...

  7. ISO14229-1专栏(5)--诊断与通信管理功能单元服务介绍

    从这篇文章开始就要接触14229-1的核心内容--诊断服务的介绍了,在之后的文章中我们会接触到26个服务以及若干个他们的子服务. 我们介绍的顺序也是和14229-1中的顺序相同,不是按照SID从小到大 ...

  8. idea 报系统分区磁盘不足_系统磁盘管理功能讲解,电脑硬盘分区格式化修改驱动器号图文教程...

    大家好,我是老盖,感谢观看本篇文章,本文做的也有视频,也可以看我发布的视频. 今天给大家讲一下系统自带的磁盘管理管理功能,磁盘管理比较常用的是硬盘分区,格式化和更改驱动器号这几个功能. 对着计算机点右 ...

  9. 5G NGC — SMF 会话管理功能

    目录 文章目录 目录 SMF SMF 过载控制 NF Services Nsmf_PDUSession Service Create SM Context service operation Upda ...

最新文章

  1. 解决使用requests_html模块,req.html.render()下载chromium速度慢问题
  2. MR案例:Reduce-Join
  3. cocos2dx 3.3 Director setNotificationNode BUG
  4. Python 爬虫小程序(正则表达式的应用)
  5. 服务器apache远程命令,Linux实例:用socket通讯远程执行命令
  6. Metal日记:使用步骤指南
  7. 优秀的程序员应该掌握多少门编程语言?
  8. 内连级元素有哪些_行内元素和块级元素都有哪些
  9. 【方案分享】华为MateBook X Pro上市数字传播方案.pptx(附下载链接)
  10. Perl篇:常用调试命令
  11. java 私塾_Java私塾基础note
  12. Protel99SE教程(一)——原理图封装
  13. 【 机器学习】入门,理论框架以及学习资料
  14. 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
  15. Jpeg图片旋转和Exif方向
  16. 30 多名腾讯工程师,七天七夜拯救微盟的奇迹行动
  17. 用matlab求带参数d积分,用MATLAB求定积分
  18. Linux—虚拟机下如何查看系统是多少位的?32 or 64
  19. [附源码]Nodejs计算机毕业设计面向老年群体的健康养生系统Express(程序+LW)
  20. Dell戴尔笔记本电脑G15 5515 Ryzen Edition原装出厂Windows11系统恢复原厂oem系统

热门文章

  1. 概率论:先验与后验与似然
  2. 《新神榜:杨戬》这样的爆款影视动漫作品,原来都掌握了一个成功密码
  3. Android 生成二维码工具类
  4. 普通话-命题说话21-30
  5. 问道账号服务器已满,服务器人数已满 《问道》手游不删档首日战况
  6. windows文件读取 xxe_XXE任意文件读取(当xml解析内容有输出时)
  7. PayPal轮询收单系统升级之PayPalme亲友支付
  8. 云原生之史上最全K8S环境搭建(强烈建议收藏)
  9. Java中long类型直接赋值大数字的问题
  10. Eclipse Papyrus插件离线编译