一个利用微信分享的项目开发过程以及后续思考

每一次有活动信息强制要求微信转发的时候,我就会有一种抵触心理,并且将这种信息视为垃圾信息,但是如果公司将转发任务纳入考核,点击率积分制,最后积分兑奖品。看了哈自己的积分,竟然有两分了,每次转发内容都是“任务”,“任务完成”,为什么我的传播范围就这么窄呢?微信应该怎么玩?也就是这样微信给我的感觉并不是那种适合推广的,但是那些小游戏又是怎么火起来的?

项目简单描述

注册登录后,扫描属于自己的微信宣传页的二维码,宣传页上有自己的推广联系方式,最后统计通过自己的分享链接的注册用户数与推荐用户数。数据支持导出。最后的要求就是快速完成,越快越好。
项目需求分析下来是很简单的,一个注册登录,一个后台界面,一个宣传页面,最主要的是页面可以都是现成的。搜一下“注册登录界面”,好了出来好多现成模板,随心情找一个,还有psd源文件。再搜一下“后台界面”,又是好多现成的界面。最后宣传页面就只能继续同样的方法,略微不同的是可以找到很多单页宣传页制作的网站,要什么动画效果有什么动画效果,最后另存到本地,到这里页面就准备好了。开始框架选型了。

项目使用的框架与工具

对于php的框架接触了一些,但是使用略微熟悉的还是tp,比较悲剧的故事是,php7都来了,我们还是在php5.2,tp的要求是php5.3+,还好在一个代码托管平台上找到了tp5.2降版本非官方版本。
前端库使用的jquery,这个也是比较熟悉的,对于这种后端MVC框架,主要还是写控制,套模板,模板工作是交由后端来做的,所以我选择自己略微熟悉的jquery。
后台主页面虽然是现成的,子页面需要修改资料,罗列数据等,这里使用了css样式库bootstrap,这样一来事情又少了很多,不需要太多考虑,复制粘贴,几个页面也就玩事儿了。
中文字体的处理的使用了开源工具,font-spider,宣传页前几页都是统一的字体图片,后几页又是文字描述,要求字体与前面的统一,做成图片太麻烦了,于是想到了这个之前有记忆的字蛛,使用起来非常简单,有兴趣自己去官网瞧瞧。

项目问题总结

  1. 效率往往不能与质量齐飞
    轻微的说我是一个有代码洁癖的人,如果说要修格式不整齐代码,心情回瞬间下降,一阵想摔鼠标敲键盘的冲动,不得不做的事情是整理代码,整理好了再继续,这里编辑器有这个插件,但是没有用在道上,在这个工具横行的年代,首先的学会使用各种工具,效率的提升其实真的就太明显了,但是我还是没有学会。
    下载的模板自然而然就有这样的问题,看起来不是自己的风格,但是要做的就是把自己的数据拼进去,不需要额外考虑,时间框住了,钱也是一个问题,哈哈,不说钱,谈钱就变味了。样式轻微调整符合我的页面风格,如此足以。但是实际平日里写代码考虑的问题却是怎么减少冗余,怎样精炼,但每一次还是不想去修改上次的代码,宁愿从头再来。这里为了解决一些前面我描述的问题,接触了一些工具grunt到现在的gulp,接下来准备学习一下webpack,自从上次时间充裕学习了一下react-native,这么久没继续去学习,又给耽误了。前端发展的好快,完全不能跟上学习的脚步,很多时候就是想如何如何利用时间学习,可是闲暇的时候逛的最多的还是看群里吹吹牛,上微博看看段子手的新品,一直觉得时间过得好快,不吹了,我要继续学习了。
    总结一句:代码质量有待提高

  2. 表单验证其实是可以放一起的
    注册登录,报名,资料修改,几个位置的表单数据都是差不多的,但是这里同样的代码却写了多次,为什么会出现这样的问题?其实,是这样的。虽然说数据差不多,但还是回有些差距,做好了一个,第二个的时候也就直接复制粘贴到这个页面,下一个页面又需要了,又复制粘贴过去。你会考虑到什么问题?代码不这样写后面怎么优化?你说,你自己说说看。
    对于上面的情况我想还是会多次出现,即使我们在不断优化,不断提升,但是很多时候去修改以前做好的项目,如果有样式或js微调,我们通常还是容易写在html内混为一起。为了解决问题就出现了模块开发,对于公共模块重复使用,最后再将用到的打包起来,这样也就简介高效了很多。再来说说我的,正则验证是自己手写的,不是那么全,只要有一个基础的验证,过滤掉一些就行了,记得有一个很好的正则验证类,各种验证都有,直接调用就行了,忘记名字了,一时也没找到。
    获取数据,构成数据json格式,按照名称一一验证,这里我觉得可以优化的,但是没有好好写。提交上去的数据就是安全的吗?不是的,一定记住“绝对不相信前端页面提交上来的数据”。前段时间优化我们的那套程序的时候就发现了一个问题,数据没有过滤,什么sql注入,xxs什么的问题就来了,惟一比较好的是,有写一个封装类,数据都走哪里去了一趟,这样我只需要在那个封装类中添加数据过滤就行了。但是问题又来了,我们的程序是快速建站解决方案,有些地方是需要提交代码保存到数据库中,取出来还能直接使用,但是没有考虑到这个问题,就把bug写下来了,还好自己发现了,而且还只是在本地调试,并不需要过滤所有数据,只是用户访问时再过滤掉就行了。说了这么多,唯一想说的就是“数据”。
    总结一句:数据的安全性一部分在前端,大部分在后端

  3. 写代码前构思的重要性
    宣传页留下的有报名表单,用户通过这里可以留下自己的信息,之前的需求只是一个“我要报名”,等做完提交以后,需求又变化了,需要添加一个“我要推荐”,其中自然又重复的部分,数据库设计的时候我就将数据放在了同样的表中,因为最后不论是直接报名的用户还是推荐的用户都是我们的客户,直接就全部读取出来,我是这么理解,他们也没具体要求,只是这么说,具体怎么实现,也就是程序来做。没去过特大的公司,但是我觉得应该就是一个产品经理和一个项目经理的故事了吧,如果理解的不对,不要笑话。还好这里留了一手,推荐人关联起来存了一个表,推荐人也是享受福利的啊。于是后台数据也就需要区分我要报名的人,我要推荐的人,自然也就轻松了,还好多考虑了一下,差点就给自己挖了个坑,把自己深深埋葬。
    总结:思绪三分,敲码更有神,或许还要多两分,别着急,着急也是写bug,何必呢?

  4. 项目部署出现的问题

    1. 框架路径不正确,这是include的问题
    2. session的问题
      面对这样的问题,首先检查了phpinfo,session文件有生成,数据有存入,但是不能正常使用。一次登录会出现3个session,页面间跳转会产生不同的session文件。session存放目录没有权限,要么cookies的问题。很显然前者的可能性大一些,怎么处理呢?
      tp中的处理方式,配置文件中手动配置session保存路径:
	'SESSION_OPTIONS'		=>  array('save_path'=>'/'),
非框架处理方式:
	$_SESSION['SESSION_OPTIONS'] = array('save_path'=>'/');//当前项目根目录作为session保存目录

微信分享的力量

接触微信很久了,因为我的微信还是用户名。但是却不是一个会玩微信的人呢,唯一的用途就是和朋友聊聊天,偶尔隔壁群中抢抢小红包。有那么一段时间看到朋友分享的小游戏挺不错的,那一段时间有加一些Q群,看到群里面的大神说某某游戏收入如何如何可观,这就是朋友圈的力量,是封闭的却也是另外一种开放。

再一次就是接触微信公众号,也是一个不错的机会,很多创业型公司就是接这种微信开发的活儿,客户资源不少,做的人也不少,找了个时间看了眼pigcms,正版授权的价格不低,足以看出,这个是赚钱的。

第一个公众号是闹着玩的,起了一个太不正式的名字,那时什么也不会,就用公众号自己的后台编辑弄了一些自定义回复,当时好像是为了玩QQ空间的花藤刷营养,足以可见当时是多么的无聊。也就是这个项目,以及另外一个待确认项目的情况下,我才想起这茬儿。另外一个公众号也是弄着玩,一开始是找了一个机器人的接口,可以自动聊天玩,弄着弄着没意思,后来换成了百度的翻译接口,可以在线翻译,只是最近收到消息说百度翻译接口要准备收费了,还要开发者认证啦。

说上面都只是一个铺垫,我想说的是,这个号竟然还有人关注,看了下新关注的人也有50来人了,看来还是可以继续玩玩啦,但是却不知道怎么开始。
这就是那个公众号

再来说回上线了这个微信宣传页的事儿,上线当天下午开始统计,推广人数也不少,流量我觉得也不错,因为一开始我觉得这种封闭的圈子是不可能和搜索媲美的,这次改变了我的看法,对比搜索它还是有自己的劣势,从流量上可以看出,第一天是猛增,当时还考虑要不要单独弄到其他服务器,因为会影响到我们另外一个项目。第二天我再去看统计的时候发现缓和了好多,这个就是一个影响度的问题,如果你的圈子里面全是意向客户那么你成功了,回头率自然不错,如果没有,后面也就没有什么效应了。搜索不一样,就拿博客来说,如果你写一篇博客,平台上会有人关注,第一天是差不多的,但是后续还会有一些流量继续,这就是开放一些的搜索。
这个就是流量趋势图

总的说来,各有各的优势,如何利用还是的看自己的业务相关。我就是一个弄着玩的,我自然抱着的心态就是玩,在没有找到怎么赚钱的途径的时候,唯一的想法也只能是玩,如果有一天玩的挺好了,自然也就可以通过玩来获取报酬。主要还是要把前面的吹牛一次性拉回来,回到问题本质上来,多接触不同的新鲜事物,不能一层不变的停留在当下的工作环境。

同步发布地址:博客新家

原文地址:https://www.cnblogs.com/unofficial/p/4961211.html