这是用户利用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;

java 日程日历_日程日历示例 - voxer的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. java 投票算法_摩尔投票算法 - woshixin的个人空间 - OSCHINA - 中文开源技术交流社区...

    摩尔投票算法(Moore majority vote algorithm) 这个在wiki的介绍在https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_m ...

  2. java遮罩层_页面遮罩层 - javaalex的个人空间 - OSCHINA - 中文开源技术交流社区

    一. 基于ajax请求的遮罩层: $.ajax({ type:'POST', url:url, data:obj, dataType:'json', beforeSend: function () { ...

  3. emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.准备一台笔记本电脑,一根网线即可. 2.将网线一头连接笔记本电脑,另一头连接存储.(连接存储的一头应连接到有扳手图标的那一网口上) 3.配置IP地址 IP:128.221.1.254 子网掩码:2 ...

  4. java运动员最佳配对_运动员最佳配对问题 - osc_y1pyjby5的个人空间 - OSCHINA - 中文开源技术交流社区...

    这道题可以看为排列数的一个典型模块 一.算法实现题: 1.问题描述: 羽毛球队有男女运动员各n人,给定2个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q ...

  5. java绘制统计直方图取平均_统计学——直方图解析 - osc_lv8qb16y的个人空间 - OSCHINA - 中文开源技术交流社区...

    直方图(Histogram),又称质量分布图,是一种统计报告图, 由一系列高度不等的纵向条纹或线段表示数据分布的情况. 一般用 横轴表示数据类型,纵轴表示分布情况. 直方图是数值数据分布的精确图形表示 ...

  6. java io 读取配置文件_java读取配置文件 - tomzhao2008的个人空间 - OSCHINA - 中文开源技术交流社区...

    对于要打包成jar文件来运行来说,用file是会有问题的,下面的程序可以解决这样的问题 1.ReadPropsUtil /** * */ package readproperties; import ...

  7. java中0l 1_Java基础笔记1 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...

    java 1.一元运算符:只需要一个数据就可以进行的运算符.例如 取反 ! 自增 ++ 自减-- 2.二元 运算符 :需要两个数据才可以进行操作的运算符,例如: 加法 + ,赋值 = 3.三元运算符 ...

  8. java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.什么是动态语言? 程序运行时,可以改变程序的结构或者变量类型:如Python,javaScript function(){ var s="var a=3;var b=4;" e ...

  9. java枚举变量带括号_java枚举类型 - 墨梅的个人空间 - OSCHINA - 中文开源技术交流社区...

    public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般 ...

最新文章

  1. 特征值 与特征向量(机器学习算法原理与实践)
  2. python思维导图完整版下载高清_快速学习 Python 的全套 14 张思维导图(附高清版下载)...
  3. jquery中跳出each循环
  4. 如何发送HTML表单数据
  5. web02--jsp数据传递
  6. tensorflow中tf.get_variable()函数详解
  7. c# 字符串中多个连续空格转为一个空格
  8. 2021-08-25556. 下一个更大元素 III
  9. $(document).scrollTop()与$(window).scrollTop()
  10. Gartner预测:芯片短缺,十大汽车主机厂未来一半都将自主设计芯片
  11. 【对讲机的那点事】450MHz模拟无线列调的工作原理(连载四)
  12. 【codevs1282】约瑟夫问题,卡数据ing?
  13. 【opencv图像基础】图像常见的通道模式:RGB、YUV、HSV
  14. iphone11系列的尺寸_揭秘iPhone12日常使用的2大隐患:还不如iPhone11?|iphone11|iphone12|电池|手机|电池容量|iphone...
  15. linux 释放进程res_linux下查询进程占用的内存方法总结
  16. Python制作GUI小软件,VIP电影输入链接就能看。
  17. 六步法将消息码转换为HDB3码
  18. 大疆2018网申之机器学习算法工程师笔试题B卷
  19. 袁萌记忆中的华罗庚先生
  20. OAException Application ICX Message Name ICX SESSION FAI

热门文章

  1. SQLSERVER2008 错误18456
  2. Python 图像处理 PIL 第三方库详细使用教程(更新中)
  3. 上市非上岸:讲述互联网创业的残酷 ☞ 对从事互联网从业人员的警示
  4. 十一.SpringCloud+Security+Oauth2实现微服务授权 - 授权服务配置
  5. java设置word页面为A3_怎样在word中设置A3纸型?怎么设置成A3格式
  6. [Codeforces1097G] Vladislav and a Great Legend
  7. python怎么打印图片_Python如何使用字符打印照片
  8. NSAttributedString设置字体属性
  9. 腾讯微博android sdk,腾讯微博java(android)sdk时间线api详细介绍
  10. heic格式怎么转换成png?