鸿蒙的远程交互组件应用及微信小程序的远程交互组件应用

系统
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz

[[377872]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz

注:鸿蒙的远程交互组件应用相对复杂 ,访问网络时,首先要配置网络权限,华为官方文档有问题,在此引用我老师配置的模板,见附件

过程:1.导入鸿蒙的网络请求模块fetch

         2.发起对服务器的请求(在这过程中需要用JSON.parse将括号中的数据转换成json数据格式,具体见代码中标注)

js业务逻辑层

  1.  //导入鸿蒙的网络请求模块fetch 
  2. import fetch from '@system.fetch'
  3. export default { 
  4.     data: { 
  5.         title: 'World'
  6.         currentTime:''
  7.         temperature1:''
  8.         text:''
  9.  
  10.     }, 
  11.         onInit() { 
  12.             //发起对心知天气服务器的请求 
  13.           fetch.fetch({ 
  14.               url:'https://api.seniverse.com/v3/weather/now.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans&unit=c'
  15.               responseType:'json'
  16.               success:(resp)=>{ 
  17.                   //JSON.parse(字符串)转换成json数据格式 
  18.                   let weatherInfo=JSON.parse(resp.data); 
  19.                   this.currentTime=weatherInfo.results[0].last_update; 
  20.                   this.text=weatherInfo.results[0].now.text; 
  21.                   this.temperature1=weatherInfo.results[0].now.temperature; 
  22.               } 
  23.           }); 
  24.         } 

 渲染层

  1. <div class="container"
  2.     <text class="time"
  3.        {{currentTime}}{{temperature1}} 
  4.     </text> 
  5.     <text class="time"
  6.       {{temperature1}} 
  7.     </text> 
  8.     <text class="time"
  9.         {{text}} 
  10.     </text> 
  11. </div> 

  css样式属性设置

  1. .container { 
  2.     display: flex; 
  3.     justify-content: center; 
  4.     align-items: center; 
  5.     left: 0px; 
  6.     top: 0px; 
  7.     width: 454px; 
  8.     height: 454px; 
  9. .time { 
  10.     font-size: 50px; 
  11.     text-align: center; 
  12.     width: 200px; 
  13.     height: 1200px; 

 最终效果呈现:


微信小程序的远程交互应用:

js业务逻辑层

  1. // pages/images/weather/weather.js 
  2. Page({ 
  3.  
  4.   /** 
  5.    * 页面的初始数据 
  6.    */ 
  7.   data: { 
  8.     weatherInfo:{}, 
  9.     nextweatherInfo:{} 
  10.  
  11.   }, 
  12.  
  13.   /** 
  14.    * 生命周期函数--监听页面加载 
  15.    */ 
  16.   onLoad: function (options) { 
  17.     //微信小程序请求天气 
  18.      wx.request({ 
  19.        url: 'https://api.seniverse.com/v3/weather/now.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans&unit=c'
  20.        success:(resp)=>{ 
  21.             let info=resp.data; 
  22.             console.log(info);  
  23.             this.setData({weatherInfo:info}) 
  24.        } 
  25.      }) 
  26.      //微信小程序请求生活指数 
  27.      wx.request({ 
  28.        url: 'https://api.seniverse.com/v3/life/suggestion.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans'
  29.        success:(resp )=>{  
  30.          let live=resp.data 
  31.            console.log(live) 
  32.        } 
  33.  
  34.      }) 
  35.      //微信请求未来三天气预报 
  36.      wx.request({ 
  37.        url: 'https://api.seniverse.com/v3/weather/daily.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans&unit=c&start=-1&days=5'
  38.        success:(resp)=>{ 
  39.          let time=resp.data; 
  40.          console.log(time
  41.          this.setData({nextweatherInfo:time.results[0].daily}) 
  42.  
  43.        } 
  44.      }) 
  45.  
  46.   }, 
  47.  
  48.   /** 
  49.    * 生命周期函数--监听页面初次渲染完成 
  50.    */ 
  51.   onReady: function () { 
  52.  
  53.   }, 
  54.  
  55.   /** 
  56.    * 生命周期函数--监听页面显示 
  57.    */ 
  58.   onShow: function () { 
  59.  
  60.   }, 
  61.  
  62.   /** 
  63.    * 生命周期函数--监听页面隐藏 
  64.    */ 
  65.   onHide: function () { 
  66.  
  67.   }, 
  68.  
  69.   /** 
  70.    * 生命周期函数--监听页面卸载 
  71.    */ 
  72.   onUnload: function () { 
  73.  
  74.   }, 
  75.  
  76.   /** 
  77.    * 页面相关事件处理函数--监听用户下拉动作 
  78.    */ 
  79.   onPullDownRefresh: function () { 
  80.  
  81.   }, 
  82.  
  83.   /** 
  84.    * 页面上拉触底事件的处理函数 
  85.    */ 
  86.   onReachBottom: function () { 
  87.  
  88.   }, 
  89.  
  90.   /** 
  91.    * 用户点击右上角分享 
  92.    */ 
  93.   onShareAppMessage: function () { 
  94.  
  95.   } 
  96. }) 

 渲染层

  1. <!--pages/images/weather/weather.wxml--> 
  2. <text>{{weatherInfo.results[0].last_update}}{{weatherInfo.results[0].location.name}}{{weatherInfo.results[0].now.text}}{{weatherInfo.results[0].now.temperature}}</text> 
  3. <view class="margin"></view
  4. <view class="top"
  5.   <block wx:for="{{nextweatherInfo}}"
  6.     <view class="three"
  7.       <view
  8.          <text class="txt1">{{item.date}}</text> 
  9.       </view
  10.       <view
  11.         <text class="txt1">{{item.text_day}}</text> 
  12.       </view
  13.       <view > 
  14.         <text class="txt1">{{item.wind_direction}}</text> 
  15.       </view
  16.  
  17.     </view
  18.   </block> 
  19. </view

 wxss样式属性设置

  1. /* pages/images/weather/weather.wxss */ 
  2. .margin{ 
  3.   width: 100%; 
  4.   height: 30px; 
  5.   background-color: rgb(56, 168, 202); 
  6. .top
  7.   width: 100%; 
  8.   height: 50vh; 
  9.   display: flex; 
  10.   flex-direction: row; 
  11.   justify-content: center; 
  12.   margin: 5px; 
  13. .three{ 
  14.   width: 27%; 
  15.   height: 50%; 
  16.   border: 1px solid blue; 
  17.   margin: 5px; 
  18.   
  19. .txt1{ 
  20.   font-weight: bold; 
  21.   font: size 15px; 
  22.  

 最终效果呈现:


想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz想了解更多内容,请访问:

 【编辑推荐】

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2010-01-25 16:58:53

Android组件交互

2017-05-08 15:03:07

微信小程序开发实战

2013-12-08 22:02:24

手势交互交互设计交互体验

2021-02-20 09:52:02

鸿蒙HarmonyOS应用开发

2022-05-19 15:59:23

组件焦点鸿蒙

2023-01-05 09:01:05

UI组件库微信

2013-02-19 10:47:17

情感交互产品交互趋势

2011-09-01 15:54:10

app应用

2013-01-17 15:51:42

Android开发应用程序组件

2011-05-10 10:25:22

MIDletBlackBerry

2021-02-23 09:52:42

鸿蒙HarmonyOS应用开发

2014-05-27 15:04:15

AndroidActivitysingleTask

2014-05-27 14:33:37

AndroidActivitysingleTask

2014-05-27 15:09:13

AndroidActivitysingleTask

2014-05-27 14:59:24

AndroidActivitysingleTask

2009-08-20 10:12:59

Flex Alert组

2021-02-26 15:10:00

前端React组件交互

2014-05-27 14:44:26

AndroidActivitysingleTask

2014-05-27 14:12:49

AndroidActivitysingleTask

2014-05-27 15:07:07

AndroidActivitysingleTask
点赞
收藏

51CTO技术栈公众号