这几天中秋节,配合运营部门开发了个中秋活动,本文总结一下过程中的一些体会
<!--more-->
微信订阅号和服务号混用的方案
我们的微信主账号是个订阅号,所以没有OAuth的能力,也就是说从网页上无法获得当前访问者的微信身份。而稍微完善一点的流程,都要求有这个能力。比如识别此人是否访问过此页面,显示访问者的微信昵称和头像等
所以我们就想了一个巧妙的办法,又认证了一个微信服务号,然后把订阅号和服务号关联起来,于是就可以通过union_id来标识同一用户了
然后在订阅号里,引导用户访问服务号OAuth的链接,比如
https://open.weixin.qq.com/connect/oauth2/authorize?appid=服务号的appid&redirect_uri=活动链接&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
这样就可以通过服务号的OAuth服务得到当前访问用户的union_id。接下来活动本身,是引导用户关注订阅号。当订阅号收到微信推送的关注事件之后,再通过微信接口把union_id查出来,就对上了
我们这个活动页面,还有一个特殊的地方。页面是属于某个用户的,此页面自己打开,和别人打开看到的东西是不同的。比如我的拉票页面,自己打开是看到已经投了多少票,别人打开是给我投票。我们设计的URL类似:
/zhongqiu/route/:union_id
:union_id表示此页面属于某个用户,这页是通过OAuth跳转来的,因此就带有当前访问者的union_id,与URL中的union_id对比,就可以识别出当前访问者的身份了
利用CDN加速网页访问
虽然活动是动静分离的,但是一开始的时候,我担心让静态文件走CDN,会导致跨域问题
比如把静态资源部署在OSS上,通过huodong.xxx.com来访问。然后在网页上通过ajax方式调用api.xxx.com上的接口。一般情况下都是没问题的,但是某些型号的手机会跨域失败。所以就全部署在同一个域名上,没有通过CDN访问
活动上线之后,不少用户反馈页面打开太慢。其实我们的前端页面已经是优化过的了,没有更直接的优化手段了,所以不上CDN也不行了
于是把js,css放到了OSS上,用s.xxx.com访问,通过CDN加速。html和服务接口还是放在服务器上,保持同一个域名,不走CDN
这样调整之后,静态资源的加载快了,但是html还是太慢。最后我同事发现,可以在CDN上配置路径过滤,设置不同的缓存时间。正巧服务接口的路径都是带/svc前缀的,于是把带这个前缀的路径都设置成不缓存,直接回源。最后访问速度明显提升
修复图片过大引起的闪退问题
活动的一个页面是照片墙,用户自己上传图片,在这页以瀑布流展示。没想到上线以后用户传的图片太多,使微信闪退了
凭经验判断应该是由于加载了太多图片,导致内存占用过高,iOS杀死了微信进程
这个问题似乎没有太好的优化办法,于是我们在服务端用sharp将用户上传的图片压缩,控制每张图片的大小
最后确实改善了闪退的现象,不过我相信这不是彻底的解决办法,如果图片数量进一步增加,那最终还是会闪退的。彻底的解决办法是需要优化这个html,将移出屏幕的图片释放。但是这个方案比较复杂,而且改动太大了,这次没有实施
加数据库索引,改善接口性能
发现有一个接口平均响应时间长达4秒钟。检查了一下,这个接口的代码异常简单,就是单纯的SQL过慢
涉及2张表的join,对join的字段加了索引,马上有明显改观,接口平均响应时间减少到0.1秒
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
【工作总结】2020年中秋节主题活动总结范文 这篇文档主要涵盖了两个方面,一是学校组织的中秋节主题活动,二是企业进行的中秋促销活动。 对于学校开展的中秋节主题活动,其主要目标是让学生了解并传承中华民族的...
【标题】和【描述】提及的是幼儿园在中秋节期间举办的活动总结,虽然标签为"技术",但实际内容涉及的是活动组织和管理,而非技术性知识。不过,我们可以从中提炼出一些与组织活动相关的重要点: 1. **领导重视**:...
中秋节起源于古代中国,最初是作为秋季丰收的祭祀活动。随着时间的发展,中秋节逐渐演变成为一个家庭团聚的日子。 中秋节的传统习俗 中秋节有许多独特的传统习俗,比如赏月、吃月饼、放灯笼等。这些活动不仅增添...
总结起来,《2015年中秋节祝福网页源码》是一个以HTML为基础,可能结合JavaScript和jQuery实现互动功能,以及利用ASP进行简单服务器处理的静态网页项目。它的优点在于易于部署、自定义性强,且适合各种规模的服务器...
中秋国庆开发区安全生产工作总结.docx
3. 活动组织:活动时间定在2012年的中秋节期间,持续四天,主要活动集中在第一天。活动地点是营销中心,预计参与人数约为300人。活动由专业活动执行机构负责实施。 4. 流程设计:活动流程包括了签到、冷饮服务、...
【房地产营销策划】\n\n该活动策划方案是针对2012年中秋节期间,长沙某地产项目——恒大城的一次品牌推广活动。活动的主要目的是通过丰富的文化活动,展现项目的文化内涵和特色,加强开发商与潜在客户之间的联系,...
总结起来,【中秋节祝福程序 v1.0】是一个简单的单页应用,利用JavaScript技术实现了动态生成个性化祝福的功能,通过与用户的互动,增强了中秋节的庆祝气氛。这个程序不仅展示了编程技术在文化传承中的应用,也体现...
【标题与描述分析】:这篇文档的标题和描述均指向一个特定的活动——2020年的中秋节活动心得感悟,其中包含的是一个营销活动的总结和反思,而非IT行业的专业知识点。然而,从标签"方案"来看,我们可以将讨论转向与IT...
这个"ASP实例开发源码-asp帝王组中秋节祝福源码.zip"是一个包含ASP编程示例的压缩包,主要用于展示如何利用ASP技术来实现一个中秋节祝福页面。下面将详细介绍ASP的基本概念以及如何通过ASP来实现类似的功能。 1. ...
总结起来,这个PHP中秋抽奖游戏涵盖了PHP基础、数据库操作、前端交互、安全防范以及资源管理等多个知识点。通过实践这样的项目,开发者可以提升自己的全栈开发能力,并且对PHP的随机数生成、数据库操作和安全防护有...
在这个节日,人们会赏月、吃月饼、猜灯谜等活动,而“中秋节测试”这样的小游戏,旨在通过互动的形式,让玩家在游戏中了解并体验中秋节的文化和传统。 【LINUX 6.X环境】:Linux是一种开源操作系统,以其稳定性和...
总结来说,这个“可爱卡通中秋节贺卡PPT模板”是一个富有创意和实用性的设计资源,能够帮助用户轻松制作出个性化的中秋节贺卡,同时也是一个学习和了解PPT设计的好案例。通过熟练掌握PPT的使用技巧,我们可以将简单...
这款模板以其独特的设计风格和功能实用性,深受广大用户的喜爱,特别适合在中秋节期间用于各类活动、演讲、汇报或者家庭聚会中。 首先,我们来详细了解一下PPT(PowerPoint)这种文件格式。PPT是微软公司开发的一款...
总结来说,"明月玉兔中秋节PPT模板.rar"是一个融合了中国传统文化元素的PPT设计资源,使用者可以通过解压文件,利用提供的模板快速构建具有中秋氛围的演示文稿,既节省时间,又能体现出对中国传统文化的尊重和传承。...
【商场国庆中秋卖场活动方案】是一份详细的策划文档,旨在为某商超在国庆与中秋节期间制定有效的市场营销策略。这份方案涵盖了多个方面的内容,包括商超的历史沿革、发展状况、市场营销环境分析、市场竞争地位分析、...
【软件开发试用期总结】 在软件开发领域,试用期是新员工适应公司环境、技术和文化的阶段。在这个过程中,个人需要不断学习和提升,以达到正式员工的标准。以下是对软件开发试用期的一些关键知识点的总结: 1. **...
工会积极落实职工福利政策,包括补充医疗保险报销、春节福利、员工生日慰问、三八节女性员工关爱、六一儿童节福利、高温慰问、中秋节和国庆节慰问以及发放劳保费用。同时,对生病住院的职工及其家属进行了慰问,体现...
同时,参与公司的活动,如中秋晚会,也展现了对企业文化认同的重要性。 在工作态度上,作者表现出敬业精神,准时上班,积极参与工作,对待问题认真负责。即使面临困难,也能保持积极态度,主动学习新知识,提高工作...
### 旅游及景区行业文旅景区中秋国庆双节总结 #### 核心观点概览 - **全国旅游数据表现强劲**:2023年中秋国庆双节期间,全国旅游人次与旅游收入双双超过2019年同期水平,展现出强劲复苏态势。 - **景区表现亮眼**...