文档章节

OSC线下活动客户端自动签到流程说明以及二维码扫描Demo

火蚁
 火蚁
发布于 2014/04/23 22:43
字数 827
阅读 473
收藏 3

刚在公司吃完烧烤回来,吃得好饱,这个感觉真是太棒了,@丫头潘潘这手艺都可以在公司楼下开个烧烤摊自己当老板了,给潘潘点个赞。要不下次咱们源创会的茶歇时间让潘潘现场给oscer来一份烧烤得了。

好了,有点扯远了,今天的主题是讲讲线下活动签到的大体流程以及跟大家分享一下android端的二维码扫描demo;这次深圳站的源创会也是第一次采用了这种方式进行的签到,实际证明取得了比较好的成效,大大的节省了人力和签到的时间,不过遗憾的是有一部分用户在到会场之前并没有装好客户端()。

城市圈的活动发起人将可以看到有一个二维码,这个二维码就是活动签到的主角:
 

那么通过扫描二维码的内容,你可以得知是这样的一个JSON格式的字符串:

{"require_login":true,"title":"osc每周四羽毛球召集","type":1,"url":"http://www.oschina.net/action/qrcode/sigin?id=152323"},

require_login:是否需要登录;
title:是活动的主题;
type:是二维码的类型,1表示为签到的二维码;
url:为活动签到的请求的地址

手机url的请求方式是get请求,不需要传递任何参数,其实用户的信息已经包括在了cookie里面的了

在进行二维码扫描签到的时候是需要用户先登录的,所以oscer们在进行签到的时候最好是先登录了再去扫描二维码。大体的流程图如下:
 
android客户端采用的是google提供的zxing进行的开发,只是作了一些小的修改,iphone采用的则是 ZBarSDK,其实也有人提到说不需要发送地理位置以防止有些人不在现场进行签到吗?这个问题我们当时在设计的时候也有考虑过这个情况,但是讨论完之后觉得没这个必要。
    

至于详细的情况oscer可以参考源代码,

  1. android源代码地址:http://git.oschina.net/oschina/android-app

  2. iphone源代码地址:http://git.oschina.net/oschina/iphone-app

另外我也抽出了一个小的demo,觉得合适的可以直接引入到需要的项目中,地址:http://git.oschina.net/LittleDY/barcode。


好了,今天就聊到这了,准备洗澡睡觉了,明天继续osc的每周四羽毛球活动,以后有关android客户端的建议和问题可以在动弹里艾特火蚁。额,对了,最近已经开始着手开发git的客户端了,界面还没有完全定型呢,有好的建议也欢迎提。


ps:活动的签到也支持用微信进行签到,不过采用的不是同一个二维码,微信的二维码形式如下:

© 著作权归作者所有

共有 人打赏支持
火蚁

火蚁

粉丝 484
博文 19
码字总数 6492
作品 1
高级程序员
私信 提问
加载中

评论(5)

FoxHu
FoxHu

引用来自“火蚁”的评论

引用来自“FoxHu”的评论

@火蚁 二维码图片也是用Zxing生成的吗?那些json信息怎么写入到二维码的呢?

嗯,是的,具体怎么生成就是zing内部的事了,这个是服务器那边提供的
哦,明白了,谢谢!
火蚁
火蚁

引用来自“FoxHu”的评论

@火蚁 二维码图片也是用Zxing生成的吗?那些json信息怎么写入到二维码的呢?

嗯,是的,具体怎么生成就是zing内部的事了,这个是服务器那边提供的
FoxHu
FoxHu
@火蚁 二维码图片也是用Zxing生成的吗?那些json信息怎么写入到二维码的呢?
blu10ph
blu10ph
Zoker
Zoker
哈哈,沙发,睡觉!
开源中国社区活动支持计划,让活动上 OSC 首页

线下的技术聚会丰富了程序员们的生活,拓展了大家的视野,同时可以结识同行。为了支持各类 IT 技术活动,特推出开源中国社区活动支持计划。 该计划为您提供: 完整的活动发布、报名、通知、签...

oschina
2014/10/27
1K
18
千元悬赏Windows Phone客户端活动签到功能开发

使用 OSC客户端扫描二维码进行线下活动签到,是我们近期推出方便源创会和城市圈内等各种线下活动自助签到的功能。目前 Android 和 iPhone客户端都已支持该功能。而 Windows Phone 客户端由于...

oschina
2014/06/04
5.2K
65
开源中国 Android 客户端 v2.8.4 发布

热情似火的五月即将到来,在这个有点凉爽的季节,我们非常开心的宣布:开源中国 Android 客户端 v2.8.4 今天正式发布!!! (广而告之:即将到来的五月,开源中国携手上海、南京众基友邀您参...

巴拉迪维
2017/04/26
1K
36
关于线下聚会使用手机扫描二维码进行签到的问题

昨天 @郑传义 建议 OSC 的手机客户端能通过扫描二维码直接进行线下活动的签到,个人觉得这个想法相当好,并计划开发此项功能。 大家帮忙想想应该如何来开发这个功能呢,二维码中包含什么样的...

红薯
2014/03/13
481
6
OSChina 安卓客户端 2.0 正式版更新发布

前天我们发布了 OSChina 的 Android 客户端全新改版的 2.0 预发布版本,广受好评也发现一些比较普遍的问题。经过昨天的修复和完善,今天终于迎来了全新的改版 —— 2.0 正式版! 你可以通过下...

oschina
2014/12/26
14.5K
86

没有更多内容

加载失败,请刷新页面

加载更多

Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
31分钟前
1
0
Apache Flink 漫谈系列 - 持续查询(Continuous Queries)

摘要: 实际问题 我们知道在流计算场景中,数据是源源不断的流入的,数据流永远不会结束,那么计算就永远不会结束,如果计算永远不会结束的话,那么计算结果何时输出呢?本篇将介绍Apache Fl...

阿里云官方博客
35分钟前
6
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
36分钟前
3
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
40分钟前
0
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部