封面图是对 fullCalendar 扩展以后的完整demo,像素渣,凑合一下。。
上篇文章已经可以判断某一日期是节气、节假日还是阴历。接下来针对节假日的假期安排做下介绍。
节假日的假期安排是根据官方发布信息为准,并不像节假日一样可以根据一定的计算得到。因此未来的假期安排是未知的,万年历中也不会将未来的假期标注出来。以往的假期,官方明确表示哪天休息,哪天调休。
所以假期的安排可以用枚举来表示(静态,新的一年需要替换静态文件),也可以查询后台得到(信息在数据库中存放,新的一年只需添加数据库记录)。
一、静态资源文件处理
hao123万年历是以这样的方式展示。
1. 定义节假日。
同样的,2018年的节假日信息也追加在该对象中。
2. 定义css规则,以便在写样式时,根据不同日期类型,特殊处理。
weekend: 周末
rest: 法定节假日,放假
work: 法定节假日的调休日,即周末需要上班
vacation: 假期,rest和work的累加
solar: 二十四节气
isolar: 节日当天
3. 根据昨天文章,可以得到某一日期的类型。针对不同日期类型,返回不同的css 类。在写入 html 时,将css类即样式特殊处理即可。
4. 实例:
二、请求服务器数据展示
百度的万年历采用这种方式实现,它的后台接口除了返回是否节假日外,还返回了吉凶等一系列内容。当然,如果感兴趣,可以更深入研究下该接口的其他用途,太多太多隐藏的。。。。
以下是2018年清明节的请求状态:
Request URL:
https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=2018%E5%B9%B4%E6%B8%85%E6%98%8E%E8%8A%82&co=&resource_id=6018&t=1530705037076&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110209631428194275782_1530702477377&_=1530702477379
Response Preview: