欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

分享:自己开发的ITeye手机客户端(附源码)

程序员文章站 2024-01-18 17:52:58
...
看到论坛里有童鞋在问ITeye官方怎么没有手机版的客户端,于是我花时间自己搞了一个,这样看帖就方便了。
客户端集成了ITeye的资讯,论坛,博客的相关内容,支持Android和iPhone手机。

分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 

分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 

分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 

分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 


客户端我放到百度网盘上了,点此下载:http://pan.baidu.com/s/1Jhm3


客户端我是在iMAG移动应用开发平台开发的,基于iMAG移动中间件技术。
用中间件开发的好处是开发一次Android和iPhone就都搞定了,而且开发比较简单,会点儿HTML和Javascript就行了。
iMAG的原理是把xml文件翻译成原生代码来执行,因此性能和原生应用差不多,同时因为封装得比较好, 开发很简单,比PhoneGap之类的要好得多。


关于如何用iMAG中间件来开发移动应用,有兴趣的同学可以去iMAG的官网看看:http://www.imagapp.com

这里附上登录页面的源码
<?xml version="1.0" encoding="utf-8"?>
<imag>
    <script>
    <![CDATA[ 
        var authenticity_token;
        
        function isOnline(html) {
            if (html && (html.indexOf('class="welcome">欢迎') != -1)) {
            	return true;    
            } else {
                return false;
            }
        }
        
        function login() {
            var dlg = $page.waiting('用户登录|正在登录系统...');
        	var username = $('username').value;
        	var password = $('password').value;
            $http.post('http://xiaote.iteye.com/login', {                  
        			name: username, 
                    password: password,
                    authenticity_token: authenticity_token,
                    remember_me: '1',
                    button: '登 录'
            	}, function(data) {
				dlg.close();
                if (isOnline(data)) {
        			hint('登录成功');
            		var storage = $phone.localStorage();
        			storage.setItem('login_online', '1');
        			storage.setItem('login_username', username);
        			storage.setItem('login_password', password);
                    storage.setItem('login_token', authenticity_token);
        			var regex = /<a\s+id="notifications_count"\s+href="\S+">([^<]+)<\/a>[^收]+收件箱\(([0-9]+)\)/gm;
        			var group = regex.exec(data);
                	if (group != null) {
        				storage.setItem('login_message_count', group[1]);
        				storage.setItem('login_email_count', group[2]);
        			}
        			$page.close();
                } else {
        			hint('登录名称或密码错误,请重新登录');
            		var storage = $phone.localStorage();
        			storage.removeItem('login_online');
        			storage.removeItem('login_username');
        			storage.removeItem('login_password');
                }
            },  function(error) {
                if (error == 'timeout') {
                    hint('连接服务器超时,请重试');
                } else if (error == '401') {
                    alert('您所在的IP地址对ITeye网站访问过于频繁,请您稍后再试或到网站上填写验证码,谢谢!');
                }
            });
        }
        
        $page.onload = function() {
        	var dlg = $page.waiting('请稍后|正在加载..');    
            $http.get('http://xiaote.iteye.com/login', function(data) {
                var regex = /<input\s+name="authenticity_token"\s+type="hidden"\s+value="(\S+)"\s*\/>/mg;
                var group = regex.exec(data);
                if (group != null) {
                    dlg.close();
                    authenticity_token = group[1];
                   	var storage = $phone.localStorage();
                } else {
                    $http.get('http://www.iteye.com/logout', function(data) {
                    	dlg.close();
                        var storage = $phone.localStorage();
                        storage.removeItem('login_online');
                        storage.removeItem('login_username');
                        storage.removeItem('login_password');
                        storage.removeItem('login_message_count');
                        storage.removeItem('login_email_count');
                    });
                }
            },  function(error) {
                if (error == 'timeout') {
                    hint('连接服务器超时,请重试');
                } else if (error == '401') {
                    alert('您所在的IP地址对ITeye网站访问过于频繁,请您稍后再试或到网站上填写验证码,谢谢!');
                }
            });
        }
    ]]>
    </script>
    <page>
        <title style="background:gradient(#6293BB);">
            <center>
                <label>用户登录</label>
            </center>
        </title>
        <content style="background:white">
            <form action="login.xml" onsubmit="login();return false">
                <row style="padding:20">
                    <radios name="">
                        <item value="iteye" checked="checked">ITeye账号</item>
                        <item value="csdn">csdn账号</item>
                    </radios>
                </row>
                <list type="group" style="margin:10 20 20 20">
                    <item style="col-width:70,*">
                        <col>
                            <row><icon src="username.png"/><label style="margin-left:10">账号</label></row>
                        </col>
                        <col>
                            <row><input type="text" id="username" name="username" style="background:null"  placeholder="用户名或邮箱" /></row>
                        </col>
                    </item>
                    <item style="col-width:70,*">
                        <col>
                            <row><icon src="password.png"/><label style="margin-left:10">密码</label></row>
                        </col>
                        <col>
                            <row><input type="password" id="password" name="passowrd" style="background:null"/></row>
                        </col>
                    </item>
                </list>
                <input type="submit" style="background:loginbutton.png,loginbutton_pressed.png;margin:10 30;height:45" value="登录"/>
                <validation inputName="username">
                    <presence errorMessage="请输入账号"/>
                </validation>
                <validation inputName="password">
                    <presence errorMessage="请输入密码"/>
                </validation>
            </form>
        </content>
    </page>
</imag>


分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 

完整的客户端源码我在iMAG官网论坛里有分享:
http://bbs.imagapp.com
http://bbs.imagapp.com/forum.php?mod=viewthread&tid=65

http://www.iteye.com/topic/1132280



  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 登录页面
  • 大小: 15.3 KB
  • imag-iteye.zip (9.5 MB)
  • 描述: ITeye手机客户端
  • 下载次数: 361
  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 资讯
  • 大小: 54.7 KB
  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 资讯详情
  • 大小: 44.8 KB
  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 论坛
  • 大小: 47.1 KB
  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 帖子
  • 大小: 53.6 KB
  • 分享:自己开发的ITeye手机客户端(附源码)
            
    
    博客分类: 移动开发 iteye手机客户端 
  • 描述: 设置
  • 大小: 23.7 KB