EZ Share 的一些经验

  1. 简介
    EZ Share是什么:EZ Share是由四位阿里应届生私下本身作的一款APP,专门为一些闷骚的微信(我问过咱们部门的同事,来往没对外提供接口,因此没法作)用户提供服务,根据用户的心情来匹配一些装逼的图片,并能把文字合理编排并融入装逼的图片,显得更有逼格。
  2. 系统架构
    由于功能比较简单,因此系统的复杂度也比较简单。主要分为两部分:phonegap,原生Android/IOS,以下图所示。
    请输入图片描述
    phonegap部分除了提供界面和APP的交互以外,还有一个很重要的功能,就是使用canvas对图片的处理,把文字融入图片里面。可能你会奇怪为啥要这样作?由于用原生来处理的话虽然性能不错,但Android和IOS都须要各写一份代码,并且原生对图片的处理比较麻烦。
    Android/IOS原生部分其实很简单,就是接入微信的SDK分享微信。
    phonegap和原生之间的通讯个人作法是在原生部分创建一个socket server,经过socket通讯。
  3. phonegap部分技术细节
    3.1 phonegap调试
    我以为phonegap的调试比较麻烦,我是采用weinre进行远程调试,其原理以下图:
    请输入图片描述
    配置步骤:(当心细节,我由于一些细节问题折腾了几个小时)
    【1】 使用npm安装weinre
    2 启动weinre
    3 注入一份js到index.html当中(在虚拟机中特别注意,千万别写localhost或者127.0.0.1,否则的话就会向虚拟机自己请求)
    【4】 记得在config.xml添加访问的权限
    3.2 canvas处理图片
    以下图所示,这个部分主要是分为3个canvas层:
    请输入图片描述
    【1】第一层:主要是渲染图片的背景
    【2】第二层:主要是渲染一些纯色背景而且根据用户的输入的文字渲染上去,并监听输入框的焦点事件,当失去焦点的时候,就会把文字重绘到第二层canvas上
    【3】第三层:这个canvas的display是hidden的,当用户肯定发送的时候,就会将第一层和第二层的canvas的内容渲染到第三层并生成一张图片储存到sd卡里面
  4. 原生Android部分技术细节
    其实就是接入微信sdk,当接收到phonegap发来的信息就发送到微信,如今我作了Android,由于太穷了,没有一台ios设备,大概等毕业以后回去入职的时候再买吧,^_^ 反正原生的代码很少,应该也很快。
    想吐槽一下的是android的微信sdk接入有点小麻烦,哈哈!必定要确保包名,签名证书正确才能发送。我也搜到一些资料有些人为了方即可以绕过微信的sdk直接唤醒微信的分享的activity,我猜他们的作法也是查看微信sdk包里面的源码再略加修改!html

  5. 效果图
    请输入图片描述android

由于我们EZ团队还在学校度假中,各个都忙着毕业和旅游,因此还须要一点点时间才能推出,哈哈,装逼神器你绝对值得拥有!ios

相关文章
相关标签/搜索