返回

用iVX和API实现的天气应用,快速,轻松!

后端

前言

在上一篇文章中,我们完成了一个新闻应用,但数据是手动添加的,使用iVX的API功能,直接获取网络数据,以便于数据更新。

项目准备

1. 新建iVX项目

创建iVX项目,需要有账号,没有账号的小伙伴,可以先注册一个。登录账号后,点击新建项目,选择空白项目,项目名称处输入“天气应用”,点击创建即可。

2. 搭建基本页面

1)引入样式表

<link rel="stylesheet" href="style.css">

2)页面主体内容

<div id="app">
  <div class="container">
    <div class="title">天气应用</div>
    <div class="search">
      <input type="text" id="city" placeholder="输入城市名称">
      <button id="search">搜索</button>
    </div>
    <div class="weather-info">
      <div class="city-name"></div>
      <div class="weather-icon"></div>
      <div class="temperature"></div>
      <div class="weather-desc"></div>
    </div>
  </div>
</div>

3. JavaScript 脚本

// 引入必要的库
const iVX = require('@ivx/ivx');

// 创建iVX实例
const ivx = new iVX();

// 获取DOM元素
const cityInput = document.getElementById('city');
const searchButton = document.getElementById('search');
const cityName = document.querySelector('.city-name');
const weatherIcon = document.querySelector('.weather-icon');
const temperature = document.querySelector('.temperature');
const weatherDesc = document.querySelector('.weather-desc');

// 监听搜索按钮点击事件
searchButton.addEventListener('click', () => {
  // 获取城市名称
  const city = cityInput.value;

  // 调用API获取天气数据
  ivx.api.get('http://api.openweathermap.org/data/2.5/weather', {
    params: {
      q: city,
      appid: '你的API密钥',
    }
  }).then(res => {
    // 获取天气数据
    const data = res.data;

    // 设置城市名称
    cityName.textContent = data.name;

    // 设置天气图标
    weatherIcon.innerHTML = `<img src="http://openweathermap.org/img/wn/${data.weather[0].icon}@2x.png">`;

    // 设置温度
    temperature.textContent = `${Math.round(data.main.temp - 273.15)}℃`;

    // 设置天气
    weatherDesc.textContent = data.weather[0].description;
  }).catch(err => {
    alert('获取天气数据失败!');
  });
});

运行项目

在项目根目录下,运行命令 npm start,即可启动项目。

结语

通过这篇文章,我们了解了如何使用iVX和API实现一个简单的天气应用。希望大家能够通过这个项目,对iVX和API有更深入的了解。