📜  智能天气 asm 项目 github - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:20.753000             🧑  作者: Mango

智能天气 asm 项目

该项目是一个基于 Shell-Bash 脚本语言的智能天气应用程序,通过调用国内的气象数据接口,实现了实时天气预报和生活指数查询等功能。该项目在实现天气预报的同时,还以对当地空气质量进行监控,帮助人们及时了解当地的空气质量状况,更好地保护自己的健康。

功能特点
  • 实现了城市输入和自动定位两种查询方式,可以根据用户的喜好进行选择;
  • 支持多种查询类型,包括实时天气、未来天气、生活指数等,覆盖用户的各种需求;
  • 对当地的空气质量进行监控,帮助人们及时了解当地的空气质量状况,更好地保护自己的健康;
  • 代码简洁明了,易于阅读和理解,方便二次开发和定制。
相关资源
  • 项目代码地址:https://github.com/cwtuasm/intelligent-weather

  • 代码结构:

    intelligent-weather
    ├── LICENSE
    ├── README.md
    ├── api
    │   ├── air.sh # 空气质量查询脚本
    │   ├── future.sh # 未来天气查询脚本
    │   ├── life.sh # 生活指数查询脚本
    │   └── now.sh # 实时天气查询脚本
    ├── config
    │   └── config.sh # 配置文件,包含接口地址、APP KEY 等信息
    ├── geoip.sh # IP 定位脚本,获取当前机器的经纬度信息
    ├── lib
    │   ├── common.sh # 公共函数库,提供了一些通用的函数
    │   └── main.sh # 程序主体,根据不同参数调用不同的查询脚本
    ├── run.sh # 程序入口脚本,负责解析参数和调用主函数
    └── test
        └── main.test.sh # 单元测试脚本,用于测试各个查询脚本的正确性
    
使用方法

将项目代码 clone 到本地后,进入项目目录执行以下命令即可:

$ chmod +x run.sh  # 添加可执行权限
$ ./run.sh now 北京  # 查询北京的实时天气信息
$ ./run.sh future 上海  # 查询上海的未来天气信息
$ ./run.sh life 深圳  # 查询深圳的生活指数信息
$ ./run.sh air 成都  # 查询成都的空气质量信息
已知问题

该项目虽然实现了基本的天气查询功能,但由于国内的气象数据接口的限制,仍然存在一些已知的问题,如:

  • 查询频率存在一定限制,可能会造成查询失败或延时较长;
  • 存在部分城市查询不到的情况,如在搜索框中输入江苏,可能返回的是南京或苏州等城市的天气情况。
技术栈
  • Shell-Bash:脚本语言,实现天气查询和解析逻辑;
  • CURL:命令行工具,用于向接口服务器发送 HTTP 请求;
  • SED:命令行工具,用于解析 JSON 格式的返回结果。
参考文献