zoukankan      html  css  js  c++  java
  • Dcloud课程9 天气小助手如何实现

    Dcloud课程9 天气小助手如何实现

    一、总结

    一句话总结:调用天气的接口,如果网上找不到好用的,而如果仅仅是测试,那就自己写一个简单的接口就可以了。

    1、dcloud中的css样式怎么调?

    和网页中一样,比如类或者id,然后就在style中写样式即可

    2、dcloud中的提示代码的写法是什么?

    m+什么的形式,比如mf就是表单,fh就是页面中的内容中的头,等等(mb,mt)

    3、dcloud中如何给元素添加事件?

    getElement系列获取元素,然后addEventListener()自定义添加事件

    4、测试的时候如果接口没找到,怎么办(比如笑话接口)?

    直接自己用最简便的方式写一个就好,就一个php,几句话(两三句话)而已,找不到接口的话真的不用死着去找那么麻烦

    二、天气小助手如何实现

    1、相关知识

     

    2、代码

    index.html

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="utf-8">
     5     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
     6     <title></title>
     7     <script src="js/mui.min.js"></script>
     8     <link href="css/mui.min.css" rel="stylesheet"/>
     9     <script type="text/javascript" charset="utf-8">
    10           mui.init();
    11           mui.plusReady(function(){
    12               submits=document.getElementById('submit');
    13               submits.addEventListener('tap',function(){
    14                   city=document.getElementById('city');
    15                   if(city.value.length==0){
    16                       plus.mui.toast('城市不能为空');
    17                       return ;
    18                   }else{
    19                       mui.openWindow({
    20                         url:'weather.html',
    21                         id:'weather',
    22                         extras:{
    23 //                          .....//自定义扩展参数,可以用来处理页面间传值
    24                             cityname:city.value,
    25                         },
    26                     })
    27                   }
    28               })
    29           });
    30     </script>
    31     <style>
    32         .mui-content{
    33             margin-top:20px;
    34         }
    35         #submit{
    36             font-size: 20px;
    37             height:35px;
    38             line-height: 35px;;
    39             padding:0px;
    40             margin-top: 20px;
    41         }
    42     </style>
    43 </head>
    44 <body>
    45 <header class="mui-bar mui-bar-nav">
    46     <h1 class="mui-title">天气小助手</h1>
    47 </header>
    48 <div class="mui-content">
    49     <form class="mui-input-group">
    50         <div class="mui-input-row">
    51             <label>城市:</label>
    52             <input type="text" id="city" class="mui-input-clear" placeholder="请输入要查询的城市">
    53         </div>
    54     </form>
    55     <button type="button" id="submit" class="mui-btn mui-btn-blue mui-btn-block">按钮</button>
    56 </div>
    57     <nav class="mui-bar mui-bar-tab">
    58         <a class="mui-tab-item mui-active">
    59             <span class="mui-icon mui-icon-home"></span>
    60             <span class="mui-tab-label">首页</span>
    61         </a>
    62         <a class="mui-tab-item">
    63             <span class="mui-icon mui-icon-phone"></span>
    64             <span class="mui-tab-label">电话</span>
    65         </a>
    66         <a class="mui-tab-item">
    67             <span class="mui-icon mui-icon-email"></span>
    68             <span class="mui-tab-label">邮件</span>
    69         </a>
    70         <a class="mui-tab-item">
    71             <span class="mui-icon mui-icon-gear"></span>
    72             <span class="mui-tab-label">设置</span>
    73         </a>
    74     </nav>
    75 </body>
    76 </html>

    weather.html

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
     6     <title></title>
     7     <script src="js/mui.min.js"></script>
     8     <link href="css/mui.min.css" rel="stylesheet"/>
     9     <script type="text/javascript" charset="UTF-8">
    10           mui.init();
    11           mui.plusReady(function(){
    12               var data=plus.webview.currentWebview();
    13               titles=document.getElementById('title');
    14               titles.innerHTML=data.cityname;
    15               www=document.getElementById('www');
    16               var str='';
    17               mui.ajax('http://api.1-blog.com/biz/bizserver/weather/list.do?more=2&city='+data.cityname,{
    18                 data:{
    19                 
    20                 },
    21                 dataType:'json',//服务器返回json格式数据
    22                 type:'get',//HTTP请求类型
    23                 timeout:10000,//超时时间设置为10秒;
    24                 success:function(data){
    25                     //服务器返回响应,根据响应结果,分析是否登录成功;
    26                     if(data.status==00000 && data.detail.length){
    27                         var wData=data.detail;
    28                         for(var i=0;i<wData.length;i++){
    29                             str+='<li class="mui-table-view-cell mui-media"><a href="javascript:;">';
    30                             str+='<div class="mui-media-body">';
    31                             str+=wData[i].city+wData[i].date;
    32                             str+='<p class="mui-ellipsis">白天'+wData[i].day_condition+wData[i].day_wind+wData[i].day_temperature+'</p>';
    33                             str+='<p class="mui-ellipsis">黑夜'+wData[i].night_condition+wData[i].night_wind+wData[i].night_temperature+'</p>';
    34                             str+='</div></a></li>'
    35                         }
    36                         www.innerHTML=str;
    37                     }
    38                     
    39                 },
    40                 error:function(xhr,type,errorThrown){
    41                     //异常处理;
    42                     console.log(type);
    43                 }
    44             });
    45               
    46           })
    47     </script>
    48 </head>
    49 <body>
    50 <header class="mui-bar mui-bar-nav">
    51     <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
    52     <h1 class="mui-title"><span id="title"></span>天气</h1>
    53 </header>
    54 <div class="mui-content">
    55         <ul class="mui-table-view" id="www">
    56             
    57            
    58         </ul>
    59     
    60 </div>
    61 <nav class="mui-bar mui-bar-tab">
    62     <a class="mui-tab-item mui-active">
    63         <span class="mui-icon mui-icon-home"></span>
    64         <span class="mui-tab-label">首页</span>
    65     </a>
    66     <a class="mui-tab-item">
    67         <span class="mui-icon mui-icon-phone"></span>
    68         <span class="mui-tab-label">电话</span>
    69     </a>
    70     <a class="mui-tab-item">
    71         <span class="mui-icon mui-icon-email"></span>
    72         <span class="mui-tab-label">邮件</span>
    73     </a>
    74     <a class="mui-tab-item">
    75         <span class="mui-icon mui-icon-gear"></span>
    76         <span class="mui-tab-label">设置</span>
    77     </a>
    78 </nav>
    79     
    80 </body>
    81 </html>
     
  • 相关阅读:
    本地服务器连接不上解决过程!!!
    delete语句与reference约束 FK_subplan_job_id冲突问题,导致job无法删除解决办法
    设置手动批量删除数据库相关进程
    生成10位由大小写字母和数字组成的随机激活码
    修改表中某个字段区分大小写
    SQL获取时间戳流水号
    TypeError: Object(...) is not a function
    vue 中使用setTimeout
    Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber
    微信小程序 指定tabBar打开某个tab
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9388431.html
Copyright © 2011-2022 走看看