artTemplate模板引擎

整   理:晋 哲

时   间:2016-11-15

说   明:使用模板引擎代替原本数组的push()方法和字符串拼接方式

一、使用方式
1、基础引用

<div id="content"></div>
<script src="template.js"></script>

2、模板搭建
使用一个type="text/html"的script标签存放模板;

<script id="test" type="text/html">
<h1>{{title}}</h1>
<ul>
    {{each list as value i}}
        <li>{{i + 1}} :{{value}}</li>
    {{/each}}
</ul>
</script>

3、数据渲染

<script>
var data = {
    title: '一、基础用法',
    list: ['列表1', '列表2', '列表3', '列表4', '列表5']
};
var html = template('test', data);
document.getElementById('content').innerHTML = html;
</script>

二、语法
{{ 与 }} 符号包裹起来的语句则为模板的逻辑表达式。

1、输出表达式
对内容编码输出,如:{{ value }}

2、条件表达式

{{if admin}}
    <p>admin</p>
{{else if code > 0}}
    <p>master</p>
{{else}}
    <p>error!</p>
{{/if}}

3、遍历表达式

{{each list as value index}}
    <li>序列{{index}} :{{value.text}}</li>
{{/each}}

4、嵌入子模板

{{include 'template_name'}}

三、文档参考
https://github.com/aui/artTemplate

移动端列表页操作优化

详情见ppt
移动端列表页操作优化
旧项目代码
code

大纲如下
方案一:PHP + ajax方式
tab切换使用PHP判断
第一页数据PHP获取,输出
当前页面滚动到底部,ajax加载后续数据

方案二:纯ajax方式
tab切换也使用加载
默认加载第一页数据
滚动到屏幕底部,加载下一页

方案三:本地存储缓存列表
同纯ajax加载方式
点击详情页的时候,保存当前状态
屏幕滚动位置
当前列表页数据
当前页码
初始化时,如果本地存储有数据
恢复相应数据(列表页、滚动位置、页码等)
删除本地存储数据

对比总结

优化方案
纯ajax处理
每次ajax请求的时候,将请求参数附加到当前URL上
window.location.replaceState
点击内页,本地存储中存储当前滚动条滚动位置
初始化的时候,读取url中的请求参数进行请求
page如果不是第一页,则合并请求,修改limit
读取本地存储中的滚动位置,js滚动

常见JS写法问题
PHP和JS代码混合
列表页数据统一,不要一部分PHP,一部分JS
在JS中,到处有PHP输出的内容
污染全局,各种变量,函数定义
到处有监听事件的代码,同一个事件可能都有几个地方
JS使用样式定义的class或者ID
代码耦合严重,全都堆积在一起
JS文件未压缩

灵孩儿官网上线步骤说明

整    理:张少康

时    间:2016-11-08

说    明:灵孩儿官网需求目前还有可能更改,所以将官网上线步骤整理出来

1.在本地安装个java环境(安装jdk,配置环境变量)
2.在cmd下 进入你这个文件夹 然后执行java的jar打包命令:jar -cvf LinkHealth.war *(ps:war的包名字一定要对)
3.把线上的下线,点Undeploy
QQ图片20161108153023
4.点击选择文件按钮
QQ图片20161108153029
5.选择第二步打好的war包,点击deploy
QQ图片20161108153034

注:
灵孩官网上线后台链接:http://www.linkhealth.cn/manager
用户:linkhealth
密码: link1234health