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,等待一下,网页就加载到浏览器 ...
随机推荐
- Vue路由规则中定义参数
Vue使用routerLinke定义参数的时候 路由规则中不需要更改任何属性. 路由其实就是我们在html中定义的锚点,点击这个连接跳转一个锚点.vue中的路由也是这个原理, 前提是路由必须创建在实 ...
- 【Java】接口和抽象类总结
一.接口 1.1 成员变量(其实是常量) 1.2 方法 二.抽象类 2.1 成员变量 2.2 方法 一.接口 1.1 成员变量(其实是常量) 成员变量默认用 public static final修饰 ...
- 【nodejs代理服务器二】nodejs webpack打包配置踩坑总结
接着上篇用Nodejs开发web代理,防止web渗透.如果部署到正式环境,需要进行打包配置. 我在用webpack打包配置中遇到了几个错误,总结如下: webpack环境变量问题 https://ww ...
- Flutter——Switch组件(开关组件)
Switch组件常用的属性: 属性 描述 value 单选的值 onChanged 改变时触发 activeColor 选中的颜色.背景颜色 import 'package:flutter/mater ...
- Python绘制混淆矩阵,汉字显示label
1. 在计算出混淆矩阵之后,想自己绘制图形(并且在图形上显示汉字),可用 #coding=utf-8 import matplotlib.pyplot as plt import numpy as n ...
- tensorflow与numpy的版本兼容性问题
在Python交互式窗口导入tensorflow出现了下面的错误: root@ubuntu:~# python3 Python 3.6.8 (default, Oct 7 2019, 12:59:55 ...
- Luogu P2935 最好的地方Best Spot
Luogu P2935 最好的地方Best Spot 这道题就是一道近乎裸的Floyd,因为数据很小,所以用领接表存图就可以了. #include<bits/stdc++.h> #defi ...
- export default 和 export 的使用方式
node中导入模块:var 名称 = require('模块标识符') node中向外暴露成员的形式:module.exports = {} 在ES6中,也通过规范的形式,规定了ES6中如何导入和导出 ...
- Jenkins+jmeter+ant+Git 持续集成(六、代码提交到Gitlab即自动构建)
实现原理: 利用jenkins和gitlab的webhook结合,实现提交代码之后,自动触发jenkins的构建. 1.Jenkins的插件安装: 需要安装两个gitlab的插件:Gitlab Hoo ...
- main方法中参数"String[ ] args"详解
1.在编写完一个有主方法的java文件时,需要在cmd窗口中先编译此java文件(javac xxx.java),然后再运行(java xxx) 其实在运行java xxx的时候如果后面跟着参数用空格 ...