MooPHP漫游插件-Ta请客 开发实例文档 ====== 开发前言 ====== **开发前言** facebook Myspace 校内 51 漫游,开放平台的开放浪潮可不是一般的大。在互联网新的一轮热潮里面你不得不关心sns,你不得不关心开放平台,你不得关心国内同行社区老大Comsenz老大的漫游平台。 ====== 关于漫游平台 ====== **关于漫游平台** 我的理解就是:Comsenz提供的一个连通我们应用开发者和Comsenz上千万用户的纽带。 可以更简单的理解,Comsenz给我们提供上千万的用户给你利用,只要的应用足够吸引用户,最主要Comesenz是义务免费的给我们提供。 你更可以这样想想,你做一个新站的时候,你要从一个个ip做起来,而从漫游可以两周内上100w pv,你可以想想这是什么概念。 当然我上面的理解完全是从一个开发小众,一个平常小站长去理解一个漫游平台对于自己的意义。实际漫游平台给予我们的机遇远远不止此,你可以查看更多关于[[http://wiki.developer.manyou.com/wiki/index.php/MYOP|漫游平台的资料]] ====== 开发简要 ====== **开发简要** 1:TA请客插件基于 [[http://www.moophp.org/|MooPHP]] 0.93.322 alpha manyou_api_client_0.1 开发的 2:[[http://wiki.developer.manyou.com/wiki/index.php/API|漫游api接口]]使用到的有:user.getLoggedInUser user.isAppAdded friend.get feed.publishTemplatizedAction notification.send 3:[[http://wiki.developer.manyou.com/wiki/index.php/MYML|漫游MYML]]使用到的有:my:tabs my:editor my:dialog my:success my:title my:redirect 4:[[http://wiki.developer.manyou.com/wiki/index.php/MYJS|漫游MYJS]]使用到的有:setStyle addEventListener Dialog ====== 开发基本准备 ====== **开发基本准备** 要边看实例,边看下文的,可以先安装[[http://uchome.developer.manyou.com/uchome/userapp.php?id=1003117|TA请客]] 大概了解MooPHP: [[http://www.moophp.org/|http://www.moophp.org/]] ====== 漫游开发 ====== **漫游开发** **1:获得漫游开发许可** 1:获得漫游开发许可,这一步开发的先决条件 登录(没有帐号的话,当然是要注册的)[[http://uchome.developer.manyou.com/uchome/|http://uchome.developer.manyou.com/uchome/]]在开始菜单找到开发者进去,一切明了 {{:documents:1.jpg|}} {{:documents:uch2.jpg|}} 上面的 API Key 和 Secret 就是我们需要用到和漫游平台通讯的唯一密匙。 **2:应用的构思和设计** 2:应用的构思和设计(是不是有点颠倒,开发许可都申请了,现在才开始考虑做啥应用,是不是有点迟?没关系。) 我当时想做这个是给予这样一个想法的:当时一个同事发了一个网址,是关于谁请吃冰淇淋的小游戏。 具体是这样一个样子的,一个人发起一个谁请冰淇淋的随机事件,然后找同事来参加,最后从参与的人当中随机抽出一个人来实现大家想吃冰淇淋的愿望。我看起来挺有意思的,我就打算做到漫游应用上面。 而我想我得更宽广点,不止是请冰淇淋而已,就变成了TA请客了。当然这些都是得有我创建的记录,我参与记录,我朋友的参与记录。 所以一个大概的构思很快就完成,因为这个逻辑本来就一点都不复杂。 **3:把构思到数据库实现设计** 3:把构思到数据库实现设计 因为本来比较简单的逻辑,所以数据库的设计也比较简单。创建游戏,参与游戏就两个表即可 具体的结构可以附件带的sql.sql 值得注意的 uid 为所有Comsenz的 uchome用户在漫游的唯一标识id, site为 Comsenz 的uchome在漫游上的站点id {{:documents:uch3.jpg|}} {{:documents:uch4.jpg|}} **4:代码实现** 4:代码实现 <1>和漫游通讯: 这个极度的方便,因为漫游平台的主要开发语言为php,所以你会感觉所有的一切都是那么的熟悉。而且漫游官方直接提供了api client ,通过client 那是非常方便的使用所有的api,我们把该client 集成到了 MooPHP的一个插件,所以使用只需一句代码即可方便调用。 <2>功能实现:根据前面构思里面有要实现的功能模块有 首页 新游戏 我参与的游戏 朋 友的游戏 查看某一个游戏的详情 结果页面,那我们只要分开模块各个实现即可。 具体的代码实现可以看源码,附件提供的源码的基本的代码块都有简要的注释。 下面给出一些基本的MYJS MYML api 出现的文件列表: 使用到的漫游MYJS :setStyle addEventListener Dialog 出现的文件为 ./icecream/templates/new.htm 使用到的漫游MYML: my:tabs my:title 出现的文件为 ./icecream/templates/header.htm my:editor 出现的文件为 ./icecream/templates/new.htm my:success my:redirect 出现的文件为 ./icecream/include/global.function.php 使用到的漫游api接口: user.getLoggedInUser user.isAppAdded friend.get 出现的文件为 ./icecream/index.php feed.publishTemplatizedAction notification.send 出现的文件为 ./icecream/include/new.inc.php **5:最终首页效果** 5:最终首页效果 {{:documents:uch5.jpg|}} **6:所有源码下载** 6:所有源码下载 源码下载:[[http://www.ismole.net/attachment.php?aid=753&k=ed1af1a18fdb46367c99db0df5e98d4c&t=1218516842|widget.zip]] 你可以按照下面步骤建立一个完全像你上面看到的TA请客 <1>:根据上面教程获得开发许可(api_key 和 api_secret) <2>:解压并按照对应结构上传文件,并设置 ./icecream/cache 目录和其子目录熟悉为 777 <3>:执行数据库升级sql ./icecream/sql.sql <4>:配置相应数据库参数和api_key , api_secret ./icecream/config.inc.php **7:完成** 7:完成 写在最后,我写这篇文章的时候,回头看看发现这个应用真的比较缺乏太多,缺乏很多交互的元素,朋友的互动性,缺乏病毒性传播的因素。 希望大家能通过这篇文章对漫游平台的开发有个初步的认识和了解。