这是用户利用do_Gridview和do_ListView及其它组件绘制的日历和任务,基本实现一个完整的在线日程管理功能先看图,android和ios上的效果图如下: 我们可以看到通过deviceone平台可以实现跨平台的复杂ui,我们在IDE里可以看到用户拖拽了很多组件到设 ...
这是用户利用do_Gridview和do_ListView及其它组件绘制的日历和任务,基本实现一个完整的在线日程管理功能
先看图,android和ios上的效果图如下:
我们可以看到通过deviceone平台可以实现跨平台的复杂ui,我们在IDE里可以看到用户拖拽了很多组件到设计区,通过设置属性,绑定数据动态变化日历里显示的日期。
用户同时也使用do_Http组件从后台获取日程安排的数据,在手机上添加日程安排可以通过网络同步到服务端。
代码封装在自己定义的js文件里:
var deviceone = require("deviceone");var nf = deviceone.sm("do_Notification");var cacher = deviceone.sm("do_DataCache");var domain = "http://www.shenghuafood.com";var access_token = '';/** * API 地址定义 */var api = { login: domain + '/user/token/login', articleView: domain + '/article/article/view', articleList: domain + '/article/article/index', calendarEvent: domain + '/calendar/event/events',};/** * 正在加载UI */var loading = function(id, y) { id = id || ''; y = y || 400; var root = deviceone.ui("$"); return deviceone.ui(root.add('loading_' + id, "source://view/common/loading.ui", 0, y));}module.exports.loading = loading;/** * HTTP Post方法 */var post = function(uri, data, success, error, progressbar) { var post = deviceone.mm('do_Http'); post.method = 'post'; post.timeout = 60000; post.contentType = 'application/json'; post.setRequestHeader("Accept", 'application/json'); post.setRequestHeader("X-Auth-Token", cacher.loadData("access_token")); post.url = api[uri]; post.body = data; if(progressbar) { progressbar.visible = true; } post.on("fail", function(data) { if(progressbar) { progressbar.visible = false; } if (typeof error == "function") { error(data); } else { nf.toast(data.message); } }).on("success", function(data) { if(progressbar) { progressbar.visible = false; } if (typeof success == "function") { success(data); } }); post.request();};module.exports.post = post;/** * HTTP Get方法 */var get = function(uri, data, success, fail, progressbar) { var query = queryString(data); var get = deviceone.mm("do_Http"); get.method = "get"; get.timeout = "60000"; get.contentType = "application/json"; get.setRequestHeader('Accept', 'application/json'); get.setRequestHeader('X-Auth-Token', cacher.loadData('access_token')); get.url = api[uri] + '?' + query; if(progressbar) { progressbar.visible = true; } get.on("fail", function(data) { if(progressbar) { progressbar.visible = false; } if (typeof fail == "function") { fail(data); } }).on("success", function(data) { if(progressbar) { progressbar.visible = false; } if (typeof success == "function") { success(data); } }); get.request();};module.exports.get = get;/** * 对象转URL */var queryString = function(obj, sep, eq, name) { sep = sep || '&'; eq = eq || '='; obj = obj === null ? undefined : obj; var Euc = encodeURIComponent; if (typeof obj === "object") return Object.keys(obj).map(function(k){ var ks = Euc(k) + eq; if (Array.isArray(obj[k])) return obj[k].map(function(v){ return ks + Euc(v) }).join(sep); else return ks + Euc(obj[k]); }).join(sep); if (!name) return ""; return Euc(name) + eq + Euc(obj);};module.exports.queryString = queryString;
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:日程日历示例
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。