Html5+移动端小应用分享(得见) – HALDW

应用截图

整个应用由移动端+php后端处理构成

移动端在DCloud平台下HBuilder开发和编译,使用了MUI框架;

目录结构如下:

 

php后端处理代码部署在了新浪云应用当中

response.php代码如下:

1 <?php
2 header(“Content-Type:text/html; charset=utf-8”);
3 function getCurlData($url){
4 $ch = curl_init();
5 $header = array(
6 ‘apikey: XXXXXXX’,
7 );
8 // 添加apikey到header
9 curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
10 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
11 // 执行HTTP请求
12 curl_setopt($ch , CURLOPT_URL , $url);
13 $res = curl_exec($ch);
14 return $res;
15 }
16 //object转数组
17 function object_array($array){
18 if(is_object($array)){
19 $array = (array)$array;
20 }
21 if(is_array($array)){
22 foreach($array as $key=>$value){
23 $array[$key] = object_array($value);
24 }
25 }
26 return $array;
27 }
28 $type = $_REQUEST[‘type’];
29 if(empty($type)){
30 ob_clean();//清除之前输出内容
31 echo json_encode(array(‘error’=>1,’msg’=>’参数错误’));die();
32 }
33 $url = “”;
34
35 switch($type){
36 case “todayhistory”:
37 $month = (int)$_REQUEST[‘month’];
38 $day = (int)$_REQUEST[‘day’];
39 $url = “http://apis.baidu.com/netpopo/todayhistory/todayhistory?month=”.$month.”&day=”.$day.”&appkey=1307ee261de8bbcf83830de89caae73f”;
40 ob_clean();//清除之前输出内容
41 echo getCurlData($url);
42 die();
43 break;
44 case “todaytv”:
45 $reqType = (int)$_REQUEST[‘req_type’];//1:获取电视频道列表;2:查询电视节目
46 $tvid = (int)$_REQUEST[‘tvid’];
47 $starttime = strtotime(date(‘Y-m-d 00:00:00’));
48 $endtime = strtotime(date(‘Y-m-d 23:59:59’));
49 $url = $reqType==1?”http://apis.baidu.com/netpopo/tv/tv_channel”:”http://apis.baidu.com/netpopo/tv/tv?tvid=”.$tvid.”&starttime=”.$starttime.”&endtime=”.$endtime;
50 ob_clean();//清除之前输出内容
51 $res = object_array(json_decode(getCurlData($url)));
52 if($res[‘code’]==1){
53 echo json_encode($res);die();
54 }else{
55 //三级联动数据格式[{value: ‘110000’,text: ‘北京市’,children: [{value: “110101”,text: “北京+市”,children: [{value: “110101”,text: “东城区”}]}]}]
56 $list = array();
57 if($reqType==1){
58 foreach($res[‘data’] as $row){
59 //“id”: “1”,”name”: “中央台”,”parentid”: “0”,”istv”: “0”
60 $id = (int)$row[‘id’];
61 $one = array(‘value’=>$id,’text’=>$row[‘name’],’children’=>array());
62 foreach($res[‘data’] as $rw){
63 $parentid = (int)$rw[‘parentid’];
64 if($parentid==$id){
65 $two = array(‘value’=>$rw[‘id’],’text’=>$rw[‘name’],’children’=>array());
66 foreach($res[‘data’] as $rw2){
67 $parentid2 = (int)$rw2[‘parentid’];
68 if($parentid2==$rw[‘id’]){
69 $three = array(‘value’=>$rw2[‘id’],’text’=>$rw2[‘name’],’children’=>array());
70 $two[‘children’][] = $three;
71 }
72 }
73 $one[‘children’][] = $two;
74 }
75 }
76 $list[] = $one;
77 }
78 }else{
79 foreach($res[‘data’] as $row){
80 $one = array(‘starttime’=>date(‘H:i’,$row[‘starttime’]),’name’=>$row[‘name’]);
81 $list[] = $one;
82 }
83 }
84
85 ob_clean();//清除之前输出内容
86 echo json_encode(array(‘error’=>0,’data’=>$list));die();
87 }
88 break;
89 case ‘mobileck’:
90 $mobile = $_REQUEST[‘mobile’];
91 if(empty($mobile)){
92 ob_clean();//清除之前输出内容
93 echo json_encode(array(‘error’=>1,’msg’=>’参数错误’));die();
94 }
95 $url = “http://appyun.sinaapp.com/index.php?app=mobile&controller=index&action=api&outfmt=json&mobile=”.$mobile;
96 ob_clean();//清除之前输出内容
97 $res = object_array(json_decode(getCurlData($url)));
98 $data = array(‘Province’=>$res[‘Province’],’City’=>$res[‘City’],’Operators’=>$res[‘Operators’]);
99 ob_clean();//清除之前输出内容
100 echo json_encode(array(‘error’=>0,’data’=>$data));die();
101 break;
102 default:
103 ob_clean();//清除之前输出内容
104 echo json_encode(array(‘error’=>1,’data’=>array(),’msg’=>’暂无数据’));die();
105 }
106 ?>

 

这个应用整体显得还很粗糙,不规范,也没能十分好的掌握html5+技术,希望自己能今早掌握。

自己本身是个php开发人员,html5+技术让自己也能轻松的实现移动应用开发,这点挺让人兴奋的!

源码与app百度云地址:http://pan.baidu.com/s/1pJkSnnt 密码:bgcx

参考资料
http://dcloudio.github.io/mui/
http://sae.sina.com.cn
http://apistore.baidu.com/

本文链接:Html5+移动端小应用分享(得见),转载请注明。



You must enable javascript to see captcha here!

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress

无觅相关文章插件,快速提升流量