ios客户端发现_动画屋活动获奖展示和获奖模块开发总结

   最近在看《web2.0策略指南》,开篇即对flicker的DVD租赁业务模型进行分析,目前看来这样的商业模型仍然很强大,而自去年纸牌屋后,flicker又引领了一股自有内容的热潮,湖南卫视未来如爸爸去哪儿、快乐大本营等节目、央视世界杯独播、爱奇艺的晓说,刘春加盟后未可知的big
thing的节目。热潮后,是人为对影音入口的切割,这个入口渐次增多,对用户和对各方入口都不太算是好事,影音入口又进入了战国时代,不要多久这种模式的风险就会显现,只靠自有内容留住用户还远远不是终点,或许国内的入口可以继续看看flicker下一步怎么走。

   乐帝实习单位工位旁坐着一位功能客服妹子,每日工作内容按照用户投诉,与用户沟通,对bug进行截图,反馈到技术那边,技术那边能否解决都再给用户进行回访,说明原因或者提醒用户更新版本。乐帝所从事的工作是移动端发现活动页面的活动页面的开发工作,每周都会有活动上线,回馈VIP用户、普通用户以及特定合作运营商的用户。且不论客服最终报障反馈结果好坏、活动策划执行的好坏。每天、每日这样积累反馈,你从心底还是对这样的公司有正面评价的,因为他们重视用户、不断改进业务质量、提升用户体验。这是自制内容之外的突围方法。

   书归正传,乐帝这周主要做的有三块:

  • 动画屋活动获奖展示页面
  • 新活动华为爱奇艺手机活动两个页面
  • 获奖展示模块开发

项目介绍

(一).动画屋活动获奖展示页面的开发

动画屋这个活动项目,是乐帝来到实习单位,单独完成的第一个项目了,从活动开始、获奖统计、到如今获奖展示都是乐帝独立开发并测试完成。由于之前结束页面已经开发完成,产品那边给出获奖结果后,乐帝只需按照产品提供的数据查找出获奖用户的用户名和头像进行格式化展示即可。乐帝这里自己写了两个取出目标对象的方法。

function userObject(data,userUid){
				    var userObj = [];
				    for(j = 0;j <userUid.length;j++){
				    	userObj[j]=searchUid(data,userUid[j]);
				    }
				    return userObj;
				}//通过输入uid数组,返回各自对应的评论对象数组
function searchUid(data,uid){
					var comments = data['data']['comments'];
					var len = comments.length;
					for(i = 0;i < len;i++)
					{
						if(comments[i]['userInfo']['uid'] == uid)
						{
							return comments[i]['userInfo'];
						}
					}
				}//获取对应uid下的评论对象

首先乐帝奖获奖用户id保存到一个数组中。然后调用以上函数,将通过ajax取得评论json对象,并在对象中查找用户id与获奖id相同的用户信息对象,存储到目标数组中,再调用评论模块进行展示。

   这个项目重点加深了乐帝对缓存的了解。并形成了进一步的发布、测试解决方案。由于ios系统本身不带缓存清理。服务器也会对旧内容有缓存,新发布内容可能不能立即展现。

 所以在线修改页面需要从四方面着手看是否起作用。

  • 卸载app重装
  • 关闭app进程
  • 服务器端清理缓存
  • 用alert函数查看是否有实时修改

   通过以上四个方法,基本能保证修改能够生效。

   另外我了解到这个活动是专门针对ipad的活动,所以之前调节其他手机适配没有必要,以后的活动要注意询问,活动适用范围。从斌哥那了解到,他做适配只对iphone和ipad适配,这次乐帝专门在调节适配的时候记录了各种适配手机的分辨率,基本处于320-480之间,iphone处于320-360并且这也是主流机型所处范围,ipad分辨率在1024以上,正常引用adapter即可,无需再单独调节。从此看只调iphone和ipad是很有道理的。

(二).获奖展示模块的开发

    开发过程中,特别是目前移动端活动页面的开发,做久了会发现页面的模式非常固定,可以省去编写底层代码,而直接模块化“拿来主义”,只需要做点定位工作。获奖展示这个模块经常用到,于是单独拎出来,写了一个函数。为了防止命名冲突,这里在命名上做了一些特定的格式。

function h5_winnerArea( winnerObject,total){//参数为数组对象与需要展示的条数
	if(!(arrayObject instanceof Array))
		{return};
	var viewport = $(".viewport")[0];
	var length =  winnerObject.length;//获奖对象长度
        winnerObject = winnerObject.slice(0,total);//截取对象数组数目用来展示
    var h5_winner = $("<div class='h5_winner'></div>");
        h5_winner.appendTo(viewport);//选取第一个viewport,追加此段获奖代码到其后
    var h5_winnerUser = $("<div class='h5_winnerUser'><span>一共有</span><span>"+length+"</span><span>名用户中奖</span></div>");
        h5_winnerUser.appendTo(h5_winner);
	var h5_winnerArea = $("<div></div>");
		h5_winnerArea.attr("class","h5_winnerArea");
		h5_winnerArea.appendTo(h5_winner);
	var h5_winnerArea_list = $("<div></div>");
		h5_winnerArea_list.attr("class","h5_winnerArea_list");
		h5_winnerArea.append(h5_winnerArea_list);
	var h5_winnerArea_header = $("<div></div>");
	    h5_winnerArea_header.attr("class","h5_winnerArea_header");
	    h5_winnerArea_list.append(h5_winnerArea_header);
	var h2 = $("<h2>最近获奖用户</h2>");
	    h5_winnerArea_header.append(h2);
	var h5_winnerArea_item = $("<div></div>");
	    h5_winnerArea_item.attr("class","h5_winnerArea_item");
	    h5_winnerArea_list.append(h5_winnerArea_item);
	var ul = $("<ul></ul>");
	    h5_winnerArea_item.append(ul);
	    //循环对象数组用于格式化展示内容
	$.each(winnerObject,function(i,n){
		var li = $("<li></li>");
	    ul.append(li);
	var h5_winnerArea_item_icon = $("<div></div>");
	    h5_winnerArea_item_icon.attr("class","h5_winnerArea_item_icon");
	    li.append(h5_winnerArea_item_icon);
	var img = $("<img>");
	    img.attr("src",n.icon);
	    h5_winnerArea_item_icon.append(img);
	var h5_winnerArea_item_name = $("<div></div>");
	    h5_winnerArea_item_name.html(n.nickName);
	    h5_winnerArea_item_name.attr("class","h5_winnerArea_item_name");
	    h5_winnerArea_item_name.addClass("h5_winnerArea_textOverflow");
	    li.append(h5_winnerArea_item_name);
	var h5_winnerArea_item_prize = $("<div></div>");
	    h5_winnerArea_item_prize.html(n.rewardName);
	    h5_winnerArea_item_prize.attr("class","h5_winnerArea_item_prize");
	    h5_winnerArea_item_prize.addClass("h5_winnerArea_textOverflow");
	    li.append(h5_winnerArea_item_prize);
	});

}

对应css样式:

.h5_winnerUser {
	text-align: center;
	margin-top: 40px;
	font-size: 24px;
	font-weight: bold;
	color: #542004;
	width: 100%;
}

.h5_winnerArea {
	margin-top: 30px;
	width: 100%;
}

.h5_winnerArea_list {
	background-color: #ffffff;
	margin: 0 10px 100px 10px;
	border-radius: 6px;
}

.h5_winnerArea_header {
	padding: 10px 15px 0 15px;
}

.h5_winnerArea_header h2 {
	font-size: 24px;
	font-weight: bold;
	color: #4d4d4d;
	border-bottom: 1px solid #e7e7e7;
	padding-bottom: 10px;
}

.h5_winnerArea_item ul,
.h5_winnerArea_item li {
	list-style:none
}

.h5_winnerArea_textOverflow {
	overflow: hidden;/*溢出元素隐藏*/
	text-overflow: ellipsis;/*溢出元素隐藏显示‘…’*/
	white-space: nowrap;/*不换行,此三个都是对文字的处理*/
}

.h5_winnerArea_item ul {
	padding: 0 15px;
}

.h5_winnerArea_item li {
	border-bottom: 1px solid #e7e7e7;
	overflow: hidden;
	padding: 5px 0 5px 0;
	line-height: 60px;
	height: 60px;
}

 .h5_winnerArea_item_icon {
	float: left;
	width: 40px;
	margin-right: 20px;
}

.h5_winnerArea_item_icon img {
	border-radius: 20px;
	width: 40px;
	height: 40px;
}

 .h5_winnerArea_item_name {
	float: left;
	font-size: 24px;
	font-weight: bold;
	color: #000000;
}

.h5_winnerArea_item_prize {
	float: right;
	text-align: right;
	display: inline;
	font-size: 20px;
	color: #4d4d4d;
}

这个模块可以根据需要随时修改内容,从这个模块开发的过程中,从斌哥那里了解到原生代码针对不同浏览器会出现不兼容的问题,所以模块尽量采用了jquery框架书写。

    由于华为爱奇艺手机活动项目还没有上线。这里就不介绍开发情况了。这里特别感谢一下斌哥,斌哥作为资深程序员,能对我耐心指导规范化编程,解决我的一些想不通的问题,非常感激。

ios客户端发现_动画屋活动获奖展示和获奖模块开发总结

时间: 2024-08-25 17:45:12

ios客户端发现_动画屋活动获奖展示和获奖模块开发总结的相关文章

ios客户端发现_动画屋后期页面重构与悬浮评论分享模块开发项目总结

从"看世界杯送流量"项目,遇到响应式布局问题之后,专门钻研了这方面专业的书籍,同时阅读了相关文章.响应式布局简单的说就是使开发的页面在不同设备上都有友好的效果.而最开始"暑期动画屋"的项目,当时并没有采用响应式布局,虽然ipad上可用,其他设备则会有显示问题.这也暴露了,目前所在移动业务事业部前端的问题:    1.考虑到响应式布局在不同设备上,UI设计师只给了一套UI原型图,而在不同设备上的显示只是根据前端工程师的理解或个人偏好来完成布局.从产品经理的角度以及测试

ios客户端发现_华为爱奇艺手机活动开发总结

这个项目自发布需求.活动原型图交付.修订需求.测试.修改.再测试通过上线可谓旷日持久.回过头来看整个项目工期主要卡在活动原型图交付这儿.而为了避免项目上线最后开发赶工期,在这次获取需求的情况下,先对除了需要图以外的模块进行了开发,并调通接口,从而在得到图之后快速完成需求.而深挖这个项目,可追到爱奇艺与华为合作交付没有顺畅达成,才促使一系列后期延期.     再拿原型图交付.修改需求.测试.修改.再测试上线这几个流程来说,每个环节对需求认识不同,就会做出一定的需求误判,而流程图及原型图又不能兼顾到

ios客户端发现_世界杯送流量活动项目总结

   世界杯如火如荼的进行,视频网站类似于门户网站,需要快速根据外部环境更新内容.产品经理需要策划活动,并安排实施.这个活动就是在这样背景下产生的,爱奇艺与运营商合作,实现双赢.爱奇艺可以通过运营商向海量用户发送短信的方式,提高用户数,运营商通过爱奇艺视频平台给用户更多种多样的福利,提高用户黏性.   总的来说:运营商有用户,视频网站有内容.用户需要内容,有内容的需要用户,有用户的需要满足用户内容的需求.两者优点突出.需求明显合作水到渠成.另外爱奇艺将运营商作为大客户管理,保证了协同作战的机动性

ios客户端暑期“动画屋“活动项目总结

    入职实习的这个公司,第一天就分配了任务,从零开始写一个网页,之前虽然了解一些前端知识,但从头开写还是遇到了很多问题,互联网公司讲求效率,有deadline还是比较有紧迫感的,与在实验室放羊状态有了鲜明的对比.mentor.产品经理.组里的boss.实习生同事都给我提供了非常多的帮助.此篇总结为独立完成的第一个项目的项目总结.下图是已上线活动界面效果. 项目介绍 (一).爱奇艺IOS客户端发现-活动页面中"动画屋"活动开始页面的开发     活动开始页面的开发主要需求是:    

客户端发现_观影团活动页面开发与客户端新版跳转测试页面开发项目总结

   这一周过的是我理想的实习状态,手头有项目则忙项目,没项目则提高基础技能.那么下面来看看这周做的活动页面效果吧. 项目介绍 (一).观影团活动页面的开发 本项目页面的开发基本都是用之前用过的技术,不同之处在于乐帝之前的开发处于懵懂状态,现在回头看还是有些许的提高,对页面每一行代码都知道来龙去脉,弹出窗.对齐.居中布局都从本周阅读<前端开发修炼之道>有了更深层次的认识.css对齐与居中布局都不是单独属性完成的,而是有关联及触发的,而之前写页面不理解的恰恰是属性间的触发关系. 这里拿弹出窗的构

iosclient暑期“动画屋“活动项目总结

    入职实习的这个公司,第一天就分配了任务.从零開始写一个网页.之前尽管了解一些前端知识.但从头开写还是遇到了非常多问题,互联网公司讲求效率,有deadline还是比較有紧迫感的,与在实验室放羊状态有了鲜明的对照.mentor.产品经理.组里的boss.实习生同事都给我提供了非常多的帮助.此篇总结为独立完毕的第一个项目的项目总结. 下图是已上线活动界面效果. 俗话说,士别三日当刮目相看.当乐帝从12月的角度,审视6月做的这个项目时,对于当时写的代码可谓痛心疾首,代码还能够写的如此混乱.所以从

开源中国iOS客户端学习

开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客    http://blog.csdn.net/column/details/xfzl-kykhd.html 开源中国iOS客户端学习——序 说到这款开源软件就得提到她的娘家了--开源中国社区: 开源中国社区简介:开源中国 www.oschina.net 成立于2008年8月,是目前中国最大的开源技术社区.传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现.使用.并交流开源技术的平台.目前开源中国社区已收

猿题库 iOS 客户端架构设计(原文地址:http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/)

猿题库 iOS 客户端架构设计 序 猿题库是一个拥有数千万用户的创业公司,从2013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代.在如此快速的开发过程中,如何保证代码的质量,降低后期维护的成本,以及为项目越来越快的版本迭代速度提供支持,成为了我们关注的重要问题.这篇文章将阐明我们在猿题库 iOS 客户端的架构设计. MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的

iOS客户端开发与Web前端开发

转载自:http://blog.cnbang.net/tech/1813/不知不觉做iOS客户端开发已经半年多了,了解到iOS客户端开发与Web前端开发的一些异同,写一下. 版本升级.用户角度上看,客户端升级必须让用户手动下载整个新的安装包覆盖安装,而web的升级无需用户做任何事情.开发角度上看,如果客户端有个小bug需要紧急修复,需要修复完后打包一个完成的安装包,给一个版本号,发布给用户升级.而web只需要修改后台的某些文件,然后传到自己的服务器,用多快速的迭代开发方式都没问题.web没有版本