手机记事项目

阅读更多

做的一个手机项目,进入app公司客户端然后点击我的记事,可以添加自己的记事,作为自己对股票的分析记录或者个人心情记录都可以,,也就是一个记事的功能。。

里面有添加记事,修改记事,删除记事,记事列表。。等功能,,用到异步请求的有,添加,修改,删除。。

记事列表属于是php动态渲染页面的。直接请求成功追加html就可以了,不用自己在拼html结构。

 

JS分有base.js(公共的接口,截取字符串方法,时间戳的转换,等),,

addnote.js(只要是做添加记事输入框的一些输入操作,提示操作,本地存储,清除本地存储,以及添加记事和修改记事的接口,,接口是统一个,但是在修改的时候是获取pid来进行修改的。),

notelist.js(主要是做请求记事列表的接口,和删除列表的接口。选择复选框个数,取消选择,删除等)

 

里面有很多知识的运行。

直接上代码,作为积累。

 

base.js

//@charset "utf-8";

//var info = external.createObject("Passport");
var userid = 114480318 || info.get("161506039");//调试时给加的161506039 114480318 187849908
var uname = 'changnannan' || info.get("HunkHan");

var urlMap = {
    'save': "/blogapi/postapi/post/", // 添加记事的接口
    //'jsUrl': "/blogapi/userpostapi/getUserPostList/"//列表接口
    'jsUrl': "/stockdiary/indexapi/getList/"//列表接口
};
/**
 * @desc 根据博文获取提取股市日记详情接口url
 * @return string
 */
/*function getStockDiaryDetailUrl(pid){ 
	return '/blogapi/postapi/getPostBase/' + '?pid=' + pid;
}*/
/**
 * @desc 根据博文id获取博文删除接口url
 * @return string
 */
function getStockDiaryDeleteUrl(pid){
	return '/blogapi/postapi/delPost/' + '?ids=' + pid;
}
//时间戳转换成日期时间2014-8-8 下午11:40:20
function formatDate(ns){
	return new Date(parseInt(ns) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
}

//时间戳转换成八位日期2014-5-5 
function userDate(uData){
	var myDate = new Date(uData*1000);
	var year = myDate.getFullYear();
	var month = myDate.getMonth() + 1;
	var day = myDate.getDate();
	return year + '-' + month + '-' + day;
}

//时间戳转换成四位时间10:10  
function userTime(uTime){
	var myDate = new Date(uTime*1000);
	var hours = myDate.getHours();
	var minutes = myDate.getMinutes();
	return hours + ':' + minutes;
}


//时间戳转换成四位时间10:10:00
function userTime(uTime){
    var myDate = new Date(uTime*1000);
    var hours = myDate.getHours();
    var minutes = myDate.getMinutes();
    var second = myDate.getSeconds();
    return hours + ':' + minutes + ':' + second;
}

//定时提醒设置的时间传入 (2014,05,15)返回成2014-01-21
function setDate(year,month,day){
    return year + '-' + month + '-' + day; 
}
//定时提醒设置的时间传入 (01:02)返回成01:01:00
function setTime(hour,minute){
    return hour + ':' + minute+ ':00';
}

//时间格式2014-02-02 14:10:00改成时间戳
function js_strto_time(str_time){
    var new_str = str_time.replace(/:/g,"-");
    new_str = new_str.replace(/ /g,"-");
    var arr = new_str.split("-");
    var datum = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5]));
    return strtotime = datum.getTime()/1000;

}
//时间戳改成时间格式2014-12-12 下午01:10
function js_date_time(unixtime){
    var timestr = new Date(parseInt(unixtime) * 1000);
    var datetime = timestr.toLocaleString().replace(/年|月/g,"-").replace(/日/g," ");
    return datetime;
}

//获取location.url中的某一个字段值
function getUrlParam(item) {
    var value = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
    return value ? value[1] : value;
}

//限制字数
function mCutStr(str, len, str2) {
    if (str == '') {
        return '';
    }
    if (str2 == '') {
        var str3 = '';
    } else {
        var str3 = str2 || '...';
    }
    var str_length = 0; //实际长度
    var str_len = 0;
    str_cut = new String();
    str_len = str.length;
    for (var i = 0; i < str_len; i++) {
        a = str.charAt(i);
        str_length++;
        //中文的情况多加1
        if (escape(a).length > 4) {
            //中文字符的长度经编码之后大于4
            str_length++;
        }
        str_cut = str_cut.concat(a);
        if (str_length <= len && (i == (str_len - 1) || i == (str_len - 2))) {
            return str;
        }
        if (str_length >= len && i < (str_len - 2)) {
            str_cut = str_cut.concat(str3);
            return str_cut;
        }
    }
}

  

 

addnote.js

//@charset "utf-8";
Zepto(function(){	
//用户输入
	$('#notetitle').focus(function () {
    	if ($("#notetitle").val() == '无标题笔记') {
			$("#notetitle").val('')
		}
		$("#notetitle").css("color","#000");
	});
	$('#notecontent').focus(function () {
    	if ($("#notecontent").val() == '你想记录的内容') {
			$("#notecontent").val('')
		}
		$("#notecontent").css("color","#000");
	});
	$('#notetitle').blur(function () {
		var text = $(this).val();
		$(this).val(mCutStr(text, 42, ''));
		if(text.length == 0){
			$("#notetitle").val("无标题笔记");
			$("#notetitle").css("color","#D7D7D7");
		}
	});
	$('#notecontent').blur(function () {
		var text = $(this).val();
		if(text.length == 0){
			$("#notecontent").val('你想记录的内容');
			$("#notecontent").css("color","#D7D7D7");
		}
	});
	
	
	//定时提醒
	$("#remind").change(function(){
		if($(this).attr("checked") == true ){
			$(".s-data, .s-time").removeAttr("disabled");
			$(".s-data, .s-time").css('color','#000');
			$(".s-data, .s-time").css('display','inline-block');
		}else{
			$(".s-data, .s-time").attr("disabled", true);
			$(".s-data, .s-time").css('color','#969696');
			$(".s-data, .s-time").css('display','none');
		}
	});
	
	//调起日期控件
	$(".s-data").click(function(){
		//showDatePicker();
	});
	
	//调起时间控件
	$(".s-time").click(function(){
		//showTimePicker();
	});
	
	//本地存储
	var nt = document.getElementById('notetitle');
	var nc = document.getElementById('notecontent');
	if(typeof(pid) != "undefined"){
		if(nt.value != '无标题笔记'){
			$("#notetitle").css("color","#000");
		}
		if(nc.value != '你想记录的内容'){
			$("#notecontent").css("color","#000");
		}
		window.localStorage.clear();
	}else{
		    if(window.localStorage.getItem('ntitle')){
			    nt.value = window.localStorage.getItem('ntitle');
				if(nt.value != '无标题笔记'){
					$("#notetitle").css("color","#000");
				}
			}
			if(window.localStorage.getItem('ncontent')){
				nc.value = window.localStorage.getItem('ncontent');
				if(nc.value != '你想记录的内容'){
					$("#notecontent").css("color","#000");
				}
			}
			window.onunload = function() {
		        if(nt.value){
					window.localStorage.setItem('ntitle',nt.value);
				}
				if(nc.value){
					window.localStorage.setItem('ncontent',nc.value);
				}
		    };
			
	}       
	
	//点击完成提交数据add
	$(".add-box .okbtn").tap(function(){
		var title = $("#notetitle").val();
		var content = $("#notecontent").val();
		var cate = -1;
		var opens = 0;
		var stockcode = $(".no-edit").attr('stockcode');
		var alert_time = alert_time;
		if(title == '无标题笔记' && content == '你想记录的内容'){
			alert("您还没有做任何记录哟!");
			return false;
		}else if(title != 0 && title != '无标题笔记' && content == '你想记录的内容'){
			var content = $("#notetitle").val();
		}
		if($("#remind").attr("checked") == true){
			var data = $(".s-data").val();
			var time = $(".s-time").val();
			var alert_time = data +" "+ time;
			var str_time = js_strto_time(alert_time);//
			//alert(str_time);
		}
		
		if(typeof(pid) != 'undefined' ){
			var datas = {title:title,pid:pid,content:content,cate:cate,open:opens,stockcode:stockcode,alert_time:str_time};
		}else{
			var datas = {title:title,content:content,cate:cate,open:opens,stockcode:stockcode,alert_time:str_time};
		}
		$.ajax({
			url:urlMap.save,
			type:'POST',
			data:datas,
			dataType: 'json',
			success: function(data){
				if (data.errorcode == 0) {
					alert('保存记事成功!');//保存云端
					location.href = $(".okbtn").attr("link");//到记事列表
				}else{
					alert(data.errormsg);
				}
			},
			error: function (data) {
				alert(data.errormsg);
			}
		});	
	});
	//判断有没有股票代码
	if($(".no-edit").css("display") == "block"){
		$("#notecontent").css('height','368px');
	}
});

 

 

notelist.js

//@charset "utf-8";
Zepto(function(){
//与手机端交互接口暂时注释掉为了不报错
if(typeof(clock) != "undefined"){
	/*bridge.callHandler('notificationList',clock,function(data){
		alert(data);
	});*/
}
//初始加载
loadMove();
noteLast();
//去掉当天记事最后一条的线
function noteLast(){
	$(".time-list").each(function (i, obj) {$(obj).find(".text-in").eq(-1).css('border-bottom','0');});
}

//向上滑动或者点击加载更多方法
function loadMove(){
	//判断不同入口,添加记事有无
	if($(".add").length == 0){
		$(".notelist-content").css("margin","44px 0 0");
	}
	$(".notelist-content").on("swipeUp",function(){
      	var stop1=$(window).scrollTop();
      	var ttop=$("#last-note").offset().top;
        var wtop=$(window).height();
        if(stop1+wtop > ttop){
			
			$(".loadingmove").css('display','inline-block');
			$(".addmove").text('正在加载中');	
			var lastid = $(".noteli").eq(-1).attr("textclick");
			var listParam = 'lastId='+ lastid +'&start=0&length=10';
			$.ajax({
				url:urlMap.jsUrl,
				type:'POST',
				data:listParam,
				dataType: 'json',
				//async:false,
				success: function(data){
					if(data.errorcode == 0){
						$("#last-note").before(data.result.html);
						$(".loadingmove").css('display','none');
						//$(".addmove").text('记事已经加载完毕');
						noteLast();
					}else{
						alert(data.errormsg);
					}
				},
				error:function(data){
					alert(data.errormsg);
				}
			});			 
		}
	});
}
	
//点击进入(编辑页)详细页
$(".noteli").live('tap',function(){
	if($(".delete").css("display") == "inline-block"){
		return false;
	}else{
		location.href = $(this).attr('link');
	}
});


//点击整理
$("#arrange").tap(function(){
	$(".list-hd-delete").show();
	$(".list-hd").hide();
	$(".delete").show();
	$(".notelist-content").off();
	
});


//选中复选框
$(".delete").live('tap',function(){
	var pids = $(this).attr('value');
	//alert(pids);
	delCheck();
});

//选中复选框个数
function delCheck(){
	if($(".delete").css("display") == "inline-block"){
		var del = $(".notelist-content").find(".delete");
		var m = 0;
		var n = false;
		for(var i=0;i 
  

 

你可能感兴趣的:(本地存储,zepto,tap,ajax,手机项目)