首页原生化,首页大概是填充数据,响应数据显示隐藏布局,添加事件。
因为线上是H5的首页,需要使用https://static.wiscode.cn/YiYaoKuaPingTai/native/app.html 这个地址调试,下面有一些动态数据,到时候需要喊我改参数调试
登录:
zybtest10 123456, 首页切换到广元,数据比较多
1. 顶部区域 + 幻灯:
(1)顶部左上角的科伦易贸是可以点的,事件为cityAction,点击后js弹出picker切换。切换后需要刷新UI显示最新的切换
j.current = { //需要判断current这个key是否存在
name: "" //当前城市名
}
注: 首页共三类数据
a: 上面的当前城市 j.current
b: 首页本身的数据 j.m
c:定时器数据 j.cd
(2) 搜索按钮:搜索是个按钮不是input,点击事件 = sousuoAction
(3)扫描按钮,action = scanAction
(4) 消息按钮,action = xiaoxiAction
(5) 幻灯区域:直接显示下面的幻灯数据就可以
j.m.banner = [
{
image: {url: ""}
}
]
幻灯可以点击:action = huandengItemAction, data = {"index": index} //点击的幻灯的index
(6)顶部有皮肤功能,简单说就是搜索框后面有一个背景色(电池栏一起变色),幻灯后面有一个图片,由数据决定即可。
背景色 = j.m.top.bgcolor,背景图 = j.m.top.bglogo
2. 菜单区域 + 新闻资讯:
(1)菜单
菜单区域是可以左右滚动的,下面有分页器。如果只有一页,我是隐藏了分页器的。
j.m.areas = [
{image: {url: ""}}
]
点击事件:caidanItemClick, data = {index: "1"}, //点击菜单的index
(2)新闻资讯:上下滚动(自动滚动)
j.m.articles = [
{
title: ""
}
]
点击事件:gonggaoAction,data = {index: "1"}, //点击的index
3.三图区 + 秒杀1
如下图,上面品字状的为三图区域, 下面左右均分的是秒杀1,这个区域的特点是,数据渲染会导致有的dom不存在,隐藏。ios这里各种算高度,安卓好的多,
(1)三图区域:
j.home_advert = [ //图1, 他只有一条,庄哥也是返回的数组,你判断size
{
image: {url: ""}
}
]
注: 如果数据size=0,隐藏图1
j.home_advert2 = [ //图2图3:
{
image: {url: ""}
}
]
注: 这里最多两张,没有就隐藏对应的图,如果只有一张,单张图宽度不变(不拉伸占满)
点击事件:这里一共最多三张图,action=santuAction, 数据为{data: "0"} //这里是data不是index,因为我用的是VMButton
(2)秒杀1:
j.m.seckill_img = { //左侧数据
title_desc: ["广", "元", "秒", "杀"], //左上的文字
goods: [ //左侧商品,最多4个
{image: {url: ""}}
]
}
点击事件:action=m1LeftAction, 数据= {data: "0~3"} //这里最多4个商品,data依次从0-3
j.m.package_goods = {//右侧数据
title: "", //右侧上面的标题文字
goods:[ //右侧商品,最多2个
{image: {url: ""}}
]
}
点击事件:action=m1RightAction, 数据= {data: "0~1"} //这里最多4个商品,data依次从0-1
4. 秒杀2:
j.m.seckill = {
is_show: 101 //101显示 102隐藏整个秒杀2
goods: [ //可以左右滑动,三个商品一页
{} //商品模型
]
}
点击事件:
action = m2ItemAction, 不同传参数,所有商品跳转同一个页面,js决定。
下面的倒计时是非m的另外的数据:(js自带timer,只管显示)
j.cd = {
str: //左侧的文字,如距结束:
d: //天
h: //时
m: //分
s: //秒
}
5. 秒杀3:
j.m.seckill_area = [ //如果size=0,需要把包含切换导航全部隐藏
{
title: "", //标题,用于上面tab显示切换
goods: [], //子商品列表
}
]
点击事件:
(1)右侧更多,m3MoreAction, {index: "0"}, //其中index为当前选中的tab的index
(2)商品item点击,因为这是九宫格列表布局,我走的是itemclick封装。下面楼层还有itemclick,为了区分这些不同列表的点击事件,需要为这个列表加一个vid = m3 (之前的已有逻辑)
6. 最后的楼层:楼层列表有两种样式(九宫格 / 之前的列表GoodsRow),如下图:
楼层由三部分组成:顶部楼层导航条 + 4图区域 + 商品列表(两种样式):
j.m.floors = [
{
title: //楼层标题
advert:[], //1图的差不多
advert2:[], //3图, 数据和逻辑和上面的差不多 (数据不够,宽度不变)
floor_style: 101, //子商品列表样式 101商品列表式 102九宫格式
goods: [], //商品列表
}
]
点击事件:
(1)更多:cellAction(name: "louchengMoreAction", closure: nil)
(2)商品点击:itemclick, 这两个列表vid=louchenglist0 (floor_style=101)和 louchenglist1(floor_style=102)
(3)因为封装的原因:点击加入购物车应该是有弹窗的。
7. 返回顶部按钮:页面滚动到底部一定高度(ios是1200)出现返回顶部按钮,一点滚动到顶部。