我的开源项目,趣享GIF源代码已正式公开

Posted 郭霖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的开源项目,趣享GIF源代码已正式公开相关的知识,希望对你有一定的参考价值。

可能有些朋友不明白,项目不是已经开发好了吗,还有什么东西要写的呢?这是因为开源版和非开源版本在某些地方是不一样的,比如说非开源版本登录是使用的QQ、微信、微博这种第三方登录的方式,而开源版用不了,因为第三方登录一定要验证App的包名和签名才行,大家在各自电脑上打出来的APK包签名肯定是验证不过的。

于是在开源版本中,我将登录方式改成了手机号登录,之所以我一直排斥做传统的账号密码登录功能,是因为这样还需要专门开发一套账号管理系统,包括设置密保问题,以及找回密码等功能,太过于麻烦。而使用第三方登录和手机号登录,就相当于把安全性问题交给了第三方解决,我这里就相对轻松了很多。

手机号登录功能我一开始选用的是阿里云的短信服务,结果我开发服务器使用的语言是Ruby,而阿里云并没有提供Ruby的SDK,得用原始的HTTP方式来对接才行。但是阿里云短信服务的原始对接方式太复杂了,各种身份验证绕来绕去,我实在没搞定,最终换成了腾讯云的短信服务,在这方面着实花了不少时间。

除了修改了登录功能之外,我还调整了App的主题颜色,使用绿色作为开源版的主色调,还修复了几个由大家测出来的Bug。并且大家在试用了趣享GIF之后提出来了不少建议,本来我是想将这些建议也一一优化的,但是这样肯定无法在春节之前开源出来了,最终我决定将这些建议缓一缓,先发一个初始的开源版,以后再慢慢进行版本迭代吧。

开源版本和之前发布的非开源版本功能基本是完全一致的,因此大家应该也体验的差不多了,我这里就简单再发几张截图吧。

我的开源项目,趣享GIF源代码已正式公开

可以看到,开源版的Logo以及整体App的主色调我都进行了调整。

手机号由于不方便在截图里面显示出来,登录功能就不跟大家演示了,总之如果这是一个已注册的手机号,那么登录成功后将会直接跳转至主界面,如果是未注册的手机号,那么会跳转到注册界面。

注册界面如下图所示:

我的开源项目,趣享GIF源代码已正式公开

由于这是非第三方登录的情况,我无法像第三方登录时那样自动获取到第三方账号的昵称和头像,因此昵称需要自己手动输入才行,头像使用的是一个系统默认的图标,当然大家后面可以再自行进行修改。注册成功会自动跳转到主界面。

浏览GIF界面如下图所示,这些大家应该都很熟悉了:

我的开源项目,趣享GIF源代码已正式公开

分享动画效果,可以将图片分享到QQ、微信、微博、或者保存到手机:

我的开源项目,趣享GIF源代码已正式公开

点赞动画效果:

我的开源项目,趣享GIF源代码已正式公开

发布GIF趣图:

我的开源项目,趣享GIF源代码已正式公开

应大家的建议,增加了一键回到顶部的功能,点击当前页面的Tab项即可一键回到顶部:

我的开源项目,趣享GIF源代码已正式公开

由于没有了第三方账号的头像,默认的个人主页界面可能并不会很好看,如下图所示:

我的开源项目,趣享GIF源代码已正式公开

但是你可以点击Fab按钮来对你的个人主页进行随意的定制,编辑出好看的个人主页:

我的开源项目,趣享GIF源代码已正式公开

设置界面如下图所示:

关于界面也进行了一些调整:

http://github.com/guolindev/giffun

另外需要提醒大家一点的是,趣享GIF的源代码仅供学习和交流使用,严禁用于任何商业用途,否则我将保留一切追究法律责任的权力。当然,如果你是通过这个App的源码学到了很多知识,然后应用到了自己的项目当中,这种我是非常欢迎的,但如果只是在我的源码基础上稍微改了改代码或者界面,然后就拿去用作赚钱目的,这种行为是不被允许的。

本来考虑到服务器安全的问题,我有想过客户端与服务器接口通讯的这部分代码不进行开源,但是后来仔细考量之后我还是决定将所有的源代码都进行公开。我不知道这样会不会导致一些我没考虑到的服务器漏洞暴露出来,但是请大家不要试图对我的服务器进行攻击,我不是专业的服务器开发人员,这个服务器的存在只是为了方便大家更好地学习。

好了,狗年的最后一篇文章就到这里了,如约将趣享GIF开源我也算是如释重负。愿大家都能有一个愉快的春节假期,我们除夕见。

以上是关于我的开源项目,趣享GIF源代码已正式公开的主要内容,如果未能解决你的问题,请参考以下文章

Gitee 宣布开源须人工审核,大量开源项目被转为私有!

我应该等待多长时间才能公开免费/开源项目中的漏洞? [关闭]

CentOS 免费开源系统的传承项目RockyLinux正式启动

一大波开源项目正在撤离 Gitee?

一大波开源项目正在撤离 Gitee?

开源项目的 5 年长跑,runc v1.0 终于正式发布!