inchina.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // const db = require('../../db/index.js');
  2. // const bcrypt = require("bcryptjs");
  3. // const jwt = require("jsonwebtoken");
  4. // const config = require('../../config.js')
  5. const axios = require('axios');
  6. //用户注册
  7. exports.articList = async (req, res) => {
  8. const cityname = req.query.cityname; // 从查询参数获取用户名
  9. try {
  10. const response = await axios.get(`https://weathernew.pae.baidu.com/weathernew/pc?query=${cityname}&srcid=4982&forecast=long_day_forecast`);
  11. // 获取外部接口返回的数据
  12. const datas = response.data;
  13. let index = datas.indexOf('<!DOC')
  14. let a = datas.substring(0, index)
  15. let reg = new RegExp('<script>', "")
  16. let b = a.replace(reg, "")
  17. let reg1 = b.lastIndexOf(";<")
  18. let c = b.substring(0, reg1)
  19. let index1 = c.indexOf(' {')
  20. let d = c.substring(index1, c.length)
  21. let e = d.substring(1, d.length)
  22. let f = e.substring(0, e.indexOf(';</'))
  23. console.log("jsonf===>>", JSON.parse(f))
  24. let g = JSON.parse(f)
  25. delete g.logo
  26. // 将数据返回给客户端
  27. res.rescc("获取天气数据成功", 200, g);
  28. } catch (error) {
  29. // 判断是否是 404 用户不存在等情况
  30. if (error.response?.status === 404) {
  31. return res.rescc("获取天气数据失败!");
  32. }
  33. // 其他错误
  34. res.rescc("服务器内部错误!");
  35. }
  36. }