legend3---18、第一阶段代码完成
legend3---18、第一阶段代码完成
一、总结
一句话总结:
看起来麻烦或者自己因为厌烦不想做的,其实硬着头皮来做,一下子就做完了
1、layer_mobile的loading层和关闭loading层?
layer.open({type: 2});//loading层
layer.closeAll('loading'); //关闭加载层
2、页面绕过缓存强制刷新?
location.reload(true)
3、js中判断一个变量是否定义?
typeof(var1) == "undefined"
4、用户未读的消息部分该如何做?
要创建一个用户未读消息表(用于放具体的未读消息的情况),用户具体统计各种未读消息的数量
用户表里面只需要有总的未读消息数量,个人板块未读消息数量
5、系统推送消息如何实现?
系统消息表:有一个系统推送消息表(里面是记录系统的所有推送消息)
系统发一条消息,就给所有人的未读系统消息字段增加一条,这样方便统计总的未读消息
系统消息表:有一个系统推送消息表(里面是记录系统的所有推送消息)
系统消息表的id存缓存:消息推送表的最大id可以存在缓存中,这样可以避免频繁去查数据库就知道是否有更新了
用户记录已读到的系统消息的id:用户表里面用户加上 已读到的系统消息的id字段(未读的消息就是id比这个大的)
用户检测是否有系统消息:每次用户登录或者进入主页,就 来看用户是否有未读的系统推送的消息
----
也可以系统发一条消息,就给所有人的未读系统消息字段增加一条,这样方便统计总的未读消息
6、打开个人中心,个人中心的消息 已读怎么解决?
先取数据然后更新为已读,这样下次取数据的时候就是已读状态
比如视频评论数据,就是在取数据之后,就设置为已读
7、(页面顶端的)用户的未读消息数量怎么做(session里的用户信息总是在控制器操作之后)?
用延迟更新算法
//如果不是访客,就更新未读消息数量
if(!$is_visit){
//这里是延迟延迟更新算法
//1、如果上一次有数据,就减去上一次的数据
if($user1->unread_2_my_num_minus){
$user1->unread_2_num-=$user1->unread_2_my_num_minus;
$user1->unread_2_my_num-=$user1->unread_2_my_num_minus; if($user1->unread_2_num<0) $user1->unread_2_num=0;
if($user1->unread_2_my_num<0) $user1->unread_2_my_num=0; $user1->unread_2_my_num_minus=0;
} //2、如果这一次有数据,就把这一次的数据放到上一次的变量里面
if($user1->unread_2_my_num){
$user1->unread_2_my_num_minus=$user1->unread_2_my_num;
} $user1->save();
}
二、内容在总结中
legend3---18、第一阶段代码完成的更多相关文章
- UBoot启动代码第一阶段流程
http://blog.csdn.net/xautfengzi/article/details/7470134 前段时间了看了UBoot的源码,放了一段时间之后忘得差不多了.现做一些注释,方便以后温习 ...
- uboot 2013.01 代码简析(2)第一阶段初始化
uboot执行"make smdk2410_config"之后就可以进行编译了,可以执行make命令进行编译, 因为整个输出太长,我仅仅列出部分最关键的输出(部分我不关心的内容直接 ...
- [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇)
原文:[原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) .NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(后篇) 前言:接着上篇来. 系列文章链接: [ ...
- 用kotlin方式打开《第一行代码:Android》之开发酷欧天气(1)
参考:<第一行代码:Android>第2版--郭霖 注1:本文为原创,例子可参考郭前辈著作:<第一行代码:Android>第2版 注2:本文不赘述android开发的基本理论, ...
- 王译潇20162314 实验报告三plus结对编程四则运算第一阶段
北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年5月12号 实验密级: 非 ...
- 回味经典——uboot1.1.6 之 第一阶段
转自:http://blog.csdn.net/lizuobin2/article/details/52054293 最近打算移植一个比较新的 uboot 到开发板,回想起来上一次移植 uboot1. ...
- 用 Flask 来写个轻博客 (37) — 在 Github 上为第一阶段的版本打 Tag
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 第一阶段结语 打 Tag 前文列表 用 Flask 来写个轻博客 (1 ...
- JAVA学习第一阶段(1)
java入门第一阶段 1.在java中接受并保存用户输入的值: (1)import java.util.Scanner//引入包 (2)Scanner input=new Scanner (Syste ...
- HTML5 & CSS3初学者指南(1) – 编写第一行代码
介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器 ...
随机推荐
- coco creator编辑动画坑之拖图片
如图所示,批量选中多张图片之后,拖到右下角的框中,发现有时候可以有时候不行.这个我觉得是个软件的bug 后来经过测试发现只有在粉红色圈的高度才可以正确放入图片,否则都放不了.
- WebService 规范
详见:https://blog.csdn.net/u011165335/article/details/51345224 JAVA 中共有三种WebService 规范,分别是JAX-WS(JAX-R ...
- VS代码自动排版
1, ctrl+a 2, ctrl+k 3, ctrl+f
- Gitlab-CI +Docker + Docker-Compose构建可持续集成java项目的镜像
先注册好Runner: https://www.cnblogs.com/zsifan/p/11714788.html 以及搭建Java和Maven环境: https://www.cnblogs.com ...
- subprocess、struct模块的简单应用与ssh模型(黏包)
一.subprocess模块 #可以通过传递字符串命令,帮你去实现一些操作系统的命令. import subprocess res = subprocess.Popen("dir" ...
- addEventListener和attachEvent的区别(转载)
attachEvent 与addEventListener到底有什么区别呢?总结如下: 一.适应的浏览器版本不同 attachEvent——兼容:IE7.IE8:不兼容firefox.chrome.I ...
- sql 索引的使用 转载:https://www.cnblogs.com/xiaoyangjia/p/11267191.html#mysql_performance
B-Tree索引的3个限制: 如果不是按照索引的最左列开始查找,则无法使用索引 不能跳过索引中的列.如果联合索引(a,b,c) ,如果使用条件a和c条件查询,那么只能使用索引的第一列a 如果查询中有某 ...
- Selenium常用API的使用java语言之19-调用JavaScript代码
虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法.在这种情况下,就可以借助JavaScript来控制浏览器的滚动条.WebDriver提供了execu ...
- Linux 防火墙开放端口(有时不生效可能是没有保存、重启导致)
原创 Centos7--防火墙(Firewall)开启常见端口命令 2018-05-22 20:19:51 午夜阳光psb 阅读数 7396更多 分类专栏: Linux 版权声明:本文为博主原创文章, ...
- Linux 内核参数说明
转载自: https://www.cnblogs.com/tolimit/p/5065761.html 因个人能力有限,不能保证所有描述都正确,还请大家集思广益,有错误的地方欢迎大家留言指正,同时也欢 ...