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

看到论坛里有童鞋在问ITeye官方怎么没有手机版的客户端,于是我花时间自己搞了一个,这样看帖就方便了。
客户端集成了ITeye的资讯,论坛,博客的相关内容,支持Android和iPhone手机。

[img]http://dl2.iteye.com/upload/attachment/0090/2145/9f9777c6-8555-345c-838a-b540ff395a5a.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0090/2147/a415afe5-4050-33ea-a301-52539632262b.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0090/2149/238b2579-52e5-396c-aa28-e7ba15c55ca2.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0090/2153/24d6c3b3-b864-3815-a62d-4798d24e3650.jpg[/img]


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


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


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

这里附上登录页面的源码

<?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>


[img]http://dl2.iteye.com/upload/attachment/0090/2069/004190a8-54fc-3958-be15-fcaa5f45b2b2.jpg[/img]

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

[url]http://www.iteye.com/topic/1132280[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值