在线日记系统设计

前段时间为了练手,自己设计了一个仿QQ邮箱日历 的在线日记系统

前台采用CSS+HTML+Javascript实现

后端用的 是 MVC+DBMapper 实现

Vs2010+SQLServer2008开发的

核心部分如下:

用户登录

日历查看

农历查看(状态栏下方显示鼠标停放 的日期的农历)

日记编辑(点击日期编辑日记)

记事标注(有日记的日期做了淡黄色标注)

部分代码:

 1    ReFill: function () {//用最后一次填充的年月再次填充
 2         this.Fill(this.last_Year_Month);
 3     },
 4     Fill: function (s_d) {//参数必须是2015-9-1  格式  某个月的第一天 好确定 从哪个单元格开始绑定数字 到哪个单元格结束
 5         var table = document.getElementById(this.id);
 6         var ndate1 = this.getFormatDay(s_d);
 7         var todayDate = this.getFormatDay();
 8         var curday = 1;
 9         var maxday = this.monthDays[ndate1.Month];
10         if (ndate1.Month === 1) {
11             if ((ndate1.Year % 100 != 0 && ndate1.Year % 4 === 0) || ndate1.Year % 400 === 0) {
12                 maxday = 29;
13
14             }
15
16         }
17         for (var i = 1; i < table.rows.length; i++)
18             for (var j = 0; j < table.rows[i].cells.length; j++) {
19                 table.rows[i].cells[j].className = ‘‘;
20                 table.rows[i].cells[j].setAttribute(‘data‘, ‘‘);
21                 table.rows[i].cells[j].onmouseover = null;
22                 table.rows[i].cells[j].onmouseout = null;
23                 table.rows[i].cells[j].onclick = null;//清理上次填充时 加载的事件和属性 以免影响本次
24
25                 if ((i === 1) && (j < parseInt(ndate1.Week, 10))) {
26                     table.rows[i].cells[j].innerHTML = ‘ ‘;
27
28                 }
29                 else {
30                     if (curday > maxday) {
31                         table.rows[i].cells[j].innerHTML = ‘ ‘;
32                     }
33                     else {
34                         if (todayDate.Year === ndate1.Year && todayDate.Month === ndate1.Month && todayDate.Date0 === curday) {
35                             table.rows[i].cells[j].className = ‘today-cell‘;
36                         }
37                         table.rows[i].cells[j].setAttribute(‘data‘, ndate1.Year + ‘-‘ + (ndate1.Month + 1) + ‘-‘ + curday);
38                         table.rows[i].cells[j].innerHTML = curday + ‘<br/><span class="nongli-cell">‘
39                   + nongli.GetLunarDay(ndate1.Year, (ndate1.Month + 1), curday).CDay + ‘</span>‘;
40                         curday++;
41                         var b = this;
42                         //显示农历鼠标移入移除事件
43                         table.rows[i].cells[j].onmouseover = function () {
44                             var selectDate = this.getAttribute(‘data‘);
45                             var de = selectDate.split(‘-‘);
46                             var nong = nongli.GetLunarDay(parseInt(de[0]), parseInt(de[1]), parseInt(de[2]));
47                             document.getElementById(b.longli).innerHTML = ‘农历‘ + nong.CMonth + nong.CDay;
48                         }
49                         table.rows[i].cells[j].onmouseout = function () {
50
51                             document.getElementById(b.longli).innerHTML = ‘‘;
52                         }
53
54                         table.rows[i].cells[j].onclick = function () {
55                             var selectDate = this.getAttribute(‘data‘);
56                             if (b.onDateCellClick instanceof Function)
57                             { b.onDateCellClick(selectDate); }
58                         }
59                     }
60                 }
61             }
62         this.last_Year_Month = ndate1.Year + ‘-‘ + (ndate1.Month + 1) + ‘-1‘;
63         this.selectNotedDates(this.last_Year_Month);
64     },
65     dateChange: function () {
66         var IndexMonth = document.getElementById(this.selectMonth).selectedIndex;
67         var month = document.getElementById(this.selectMonth).options[IndexMonth].value;
68
69
70         var IndexYear = document.getElementById(this.selectYear).selectedIndex;
71         var year = document.getElementById(this.selectYear).options[IndexYear].value;
72
73         this.Fill(year + ‘-‘ + month + ‘-1‘);
74     },

Javascript代码

 1     public class NoteEntity:IDbTableNaming
 2     {
 3         [PrimaryKey]
 4         public int? Id { get; set; }
 5         public int? UserNameId { get; set; }
 6         public string Title { get; set; }
 7         public string NoteTime { get; set; }
 8         public string Content { get; set; }
 9         string IDbTableNaming.DBTableName//显示实现接口
10         {
11             get { return "Note"; }
12         }
13     }
14
15
16         IDbMapper db = DbMapper.CreateDbMapper(DbMapper.PROVIDER_SQLSERVER, null);
17         public NoteEntity GetNote(int userId, string date)
18         {
19             List<NoteEntity> lst = db.Query<NoteEntity>("select Id,UserNameId,Title,NoteTime,Content from Note where [email protected] and CONVERT(varchar(100),NoteTime,23)[email protected]",
20                 new NoteEntity(){
21                    UserNameId=userId,
22                    NoteTime=Convert.ToDateTime(date).ToString("yyyy-MM-dd")//把 2015-9-4 转换为 2015-09-04
23                 }).ToList();
24             if(lst.Count>0){return lst[0];}
25             else{return null;}
26         }
27
28         public bool DeleteNote(string date,int userId) {
29             List<NoteEntity> lst = db.Query<NoteEntity>("select Id,UserNameId,Title,NoteTime,Content from Note where [email protected] and CONVERT(varchar(100),NoteTime,23)[email protected]teTime",
30                 new NoteEntity()
31                 {
32                     UserNameId = userId,
33                     NoteTime = Convert.ToDateTime(date).ToString("yyyy-MM-dd")//把 2015-9-4 转换为 2015-09-04
34                 }).ToList();
35             if (lst.Count > 0)
36             {
37                 db.Delete<NoteEntity>(new NoteEntity() {
38                   Id=lst[0].Id
39                 });
40                 return (db.Execute() > 0);
41             }
42             else {
43                 return false;
44             }
45         }

C#代码

时间: 2024-10-05 02:53:40

在线日记系统设计的相关文章

图像处理——基于机器视觉技术的人脸在线识别系统设计

基于机器视觉技术的人脸在线识别系统设计 本设计研究人脸检测与识别技术,在基于机器视觉技术上,构建了一套人脸在线检测识别系统,系统将由以下几个部分构成:计算机图像预处理.数据收集和预处理. 人脸图像定位检测.人脸识别模型训练.人脸识别.经过实验,确定该系统可对本人的人脸进行快速并准确的检测与识别. 关键词: 机器视觉: 图像处理: 人脸检测:人脸识别:OpenCV:人脸模型训练 一.设计目标 掌握人脸识别步骤: 熟悉条人脸识别的相关算法: 熟悉机器视觉系统设计的一般流程: 掌握常用图像处理技术与O

《基于微服务架构的在线学习系统设计与实现》第三章 文献随笔(四)

一.基本信息 标题:基于微服务架构的在线学习系统设计与实现 时间:2019 来源:微服务架构 关键字:在线学习系统:微服务架构:spring cloud框架:API网关 二.研究内容 1.研究背景 基于对国内外的各学习网站的体验与分析,结合软件工程的需求分析方法,综合大学生的学习习惯以及学习方法对系统进行的功能性需求分析以及非功能性需求分析. 2.在线学习系统的需求分析   (1)功能需求分析 学生用户需求分析: 网站注册.用户登录.个人信息管理.课程列表.课程公告.课程评分.课程收藏.课程讨论

基于WEB的企业用能信息在线填报系统设计

源码下载:http://download.csdn.net/detail/yiduiguwen/9523660 二.课题来源及选题依据 对于任何一家企业来说,其正常的生产过程都需要各种的一次或二次能源,针对能源使用计量数据的管理和应用,在企业发展过程中有着日益重要的作用.企业用能数据反映了消耗水平的高低,可以及时有效地指导企业有关部门及时采取行之有效的措施降低能耗,提高企业的节能意识,推动节能工作深入开展. 对于企业用能情况的查询与更新,不同企业员工应当具有不同的处理权限,比如某些低级别用户只能

在线聊天系统设计(原理+思路+源码)

这周项目要做一个在线聊天系统,感觉不是特别困难,原理也很简单,分享给大家. 技术: Java(Spring)+Mysql+MemCache Spring做的是事件驱动模型,所有DB,更新缓存操作改成异步的. MemCache存放缓存,每个用户的聊天记录缓存,好友关系维护. 需求: 用户分为虚拟用户,普通用户,高级用户(在线经理人),管理员用户(客服). 虚拟,普通用户有一个好友列表,好友列表保存着用户的好友,对于虚拟,普通用户来说,他们的好友列表只有高级用户+管理员用户. 高级用户,管理员用户来

关于开源OJ_在线评测系统(Online Judge)设计与实现的研究与分析

OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性.著名的OJ有TYVJ.RQNOJ.URAL等.国内著名的题库有北京大学题库.浙江大学题库.电子科技大学题库.杭州电子科技大学等.国外的题库包括乌拉尔大学.瓦拉杜利德大学题库等. Online Judge系统最初使用于ACM-ICPC国际大学生程序设计竞赛和OI信息学奥林匹克竞赛中的自动判题和排名.现广泛应用于世界各地高校学生程序设计的训练.参赛队员的训练和选拔.各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交判断中

基于B/S架构的在线考试系统的设计与实现

前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/onlineexam,如果喜欢的话请帮我Mark个Star. 摘 要 随着计算机软件技术的高速发展,现代社会正快速迈入了一个互联网应用时代,Web应用在各行业都得到了广泛的应用,如小型公司的运销存管理系统,高校的教务管理系统等都是通过B/S架构搭建的Web应用.在过去的几年中,在线考试系统应用在很多行业都得到了

十步优化SQL Server中的数据访问(转载)

原文地址:http://tech.it168.com/a2009/1125/814/000000814758.shtml 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表

T- SQL性能优化详解

故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表甚至有上千万行数据,测试团队开始在生产数据库上测试,发现订单提交过程需要花5分钟时间,但在网站上线前的测试中,提交一次订单

首席工程师揭秘:LinkedIn大数据后台是如何运作的

原文转自:http://kb.cnblogs.com/page/518558/ 摘要:Jay Kreps是来自LinkedIn的首席工程师,他表示日志几乎在计算机产生的时候就存在,除了可用在分布式计算或者抽象分布式计算模型内部之外,还有广泛的用途.本文中他讲述的日志的原理和通过把日志用做单独服务来实现数据集成.实时数据处理以及分布式系统设计.文章内容非常干货,值得学习. 英文原文:The Log: What every software engineer should know about re