文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 12:16

关注

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

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

https://harmonyos.51cto.com/

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

过程: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. "container"
  2.     "time"
  3.        {{currentTime}}{{temperature1}} 
  4.      
  5.     "time"
  6.       {{temperature1}} 
  7.      
  8.     "time"
  9.         {{text}} 
  10.      
 

  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.   data: { 
  6.     weatherInfo:{}, 
  7.     nextweatherInfo:{} 
  8.  
  9.   }, 
  10.  
  11.    
  12.   onLoad: function (options) { 
  13.     //微信小程序请求天气 
  14.      wx.request({ 
  15.        url: 'https://api.seniverse.com/v3/weather/now.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans&unit=c'
  16.        success:(resp)=>{ 
  17.             let info=resp.data; 
  18.             console.log(info);  
  19.             this.setData({weatherInfo:info}) 
  20.        } 
  21.      }) 
  22.      //微信小程序请求生活指数 
  23.      wx.request({ 
  24.        url: 'https://api.seniverse.com/v3/life/suggestion.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans'
  25.        success:(resp )=>{  
  26.          let live=resp.data 
  27.            console.log(live) 
  28.        } 
  29.  
  30.      }) 
  31.      //微信请求未来三天气预报 
  32.      wx.request({ 
  33.        url: 'https://api.seniverse.com/v3/weather/daily.json?key=S0YbU_VLcvXz-4LZx&location=成都&language=zh-Hans&unit=c&start=-1&days=5'
  34.        success:(resp)=>{ 
  35.          let time=resp.data; 
  36.          console.log(time
  37.          this.setData({nextweatherInfo:time.results[0].daily}) 
  38.  
  39.        } 
  40.      }) 
  41.  
  42.   }, 
  43.  
  44.    
  45.   onReady: function () { 
  46.  
  47.   }, 
  48.  
  49.    
  50.   onShow: function () { 
  51.  
  52.   }, 
  53.  
  54.    
  55.   onHide: function () { 
  56.  
  57.   }, 
  58.  
  59.    
  60.   onUnload: function () { 
  61.  
  62.   }, 
  63.  
  64.    
  65.   onPullDownRefresh: function () { 
  66.  
  67.   }, 
  68.  
  69.    
  70.   onReachBottom: function () { 
  71.  
  72.   }, 
  73.  
  74.    
  75.   onShareAppMessage: function () { 
  76.  
  77.   } 
  78. }) 

 渲染层

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

 wxss样式属性设置

  1.  
  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/想了解更多内容,请访问:

 【编辑推荐】

  1. incaseformat蠕虫病毒大爆发!20s删除用户文件
  2. 长文干货|手写自定义持久层框架!
  3. “远程删除照片”?个人信息安全不容践踏
  4. 快过年了,用JavaScript让你的网页放烟花吧
  5. 21世纪已过两个十年!十年前这些场景还记得吗?

 

来源:鸿蒙社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯