文档章节

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:活动的签到也支持用微信进行签到,不过采用的不是同一个二维码,微信的二维码形式如下:

© 著作权归作者所有

共有 人打赏支持
火蚁

火蚁

粉丝 485
博文 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
关于线下聚会使用手机扫描二维码进行签到的问题

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

红薯
2014/03/13
481
6
开源中国 Android 客户端 v2.8.4 发布

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

巴拉迪维
2017/04/26
1K
36
OSChina 安卓客户端 2.0 正式版更新发布

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

oschina
2014/12/26
14.5K
86

没有更多内容

加载失败,请刷新页面

加载更多

docker-compose ,docker-stack

1.例子 version: "3"services: php: image: registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 ports: - "38080:80" networks: - my_php_mysql volum......

chenbaojun
32分钟前
1
0
SQL_Server2000示例数据库NorthWind的分析(转)

SQL_Server2000示例数据库NorthWind的分析 表名:Categories(食品类别表) 表结构: 字段名称 数据类型 长度 允许为空 CategoryID(主键) int 4 否 CategoryName nvarchar 15 否 Description ...

QQZZFT
34分钟前
1
0
laravel 5.5 Session store not set on request.

laravel 5.5 数据存入session,会出现Session store not set on request.错误。查了下laravel 5.5将session放到global middleware中,需要laravel的文件 ./app/Http/Kernel.php中的加上一句:...

MichaelShu
今天
1
0
OpenCV VideoCapture.get()参数详解

param define cv2.VideoCapture.get(0) 视频文件的当前位置(播放)以毫秒为单位 cv2.VideoCapture.get(1) 基于以0开始的被捕获或解码的帧索引 cv2.VideoCapture.get(2) 视频文件的相对位置(...

NateHuang
今天
0
0
java基础知识,小栗子

来操作一下数组.....注意带参数的变长数组的使用. package com.avatus;import java.util.Random;import java.util.Scanner;public class Main { public static void main(St...

Oh_really
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部