如何在小程序中使用获取第三方的数据?开发实战
发表时间:2023-12-10 20:39:28
文章来源:炫佑科技
浏览次数:193
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
今天这篇文章进入了一个新的领域,开始进入网络开发。 前面的内容不需要服务器或后端的概念。 因为所有功能都在小程序上解决,所以数据只是缓存。
如果想要实现一些比较复杂的小程序,服务器的使用绝对是绕不开的一个环节。 在微信小程序中,通常有以下三种方式来开发后端服务器。
真正意义上的第三方使用了自己以外的接口,并且不是微信官方的; 利用微信小程序的云开发能力; 搭建自己的服务器,为小程序提供服务器接口;
他们的开发难度是1>2>3。1和3在小程序开发上没有区别,但是3可能需要全栈开发能力才能掌握。
微信官方提供的网络API文档有以下四类:请求数据()、下载文件()、上传文件()。
今天的文章将介绍如何在小程序中获取第三方数据?
开发实践
我们要使用的是亿源接口-历史上的今天提供的数据API。
首先金华微信小程序开发,在项目目录下新建一个目录如何在小程序中使用获取第三方的数据?开发实战,并新建Page索引。 页面代码如下:
<block wx:for="{{ lists }}" wx:key="{{ index }}">
<view class="list">
<view class="title">{{ item.title }}view>
<view class="desc">{{ item.year }}年{{ item.month }}月{{ item.day }}日view>
<view class="access">view>
view>
block>
这很简单。 它是一个列表样式,传入列表值,来显示“历史上的今天”的事件。
下一步是请求第三方API数据。 首先看一下易源的接口文档:历史上的今天-易源接口文档,大致内容如下:
接口返回格式为json,请求数据需要4个参数。 这是为了验证,我们需要注册一个账号才能获取。
这里关键是要知道返回数据的json结构如下:
{
"showapi_res_code": 0,
"showapi_res_error": "",
"showapi_res_body": {
"ret_code": 0,
"list": [
{
"title": "世界卫生组织宣布已经成功控制SARS",
"month": 7,
"img": "http://img.showapi.com/201107/5/099368663.jpg",
"year": "2003",
"day": 5
}
]
}
}
接下来我们就可以编写js代码了,打开/index.js文件,编写请求函数:
const { showapi_appid, showapi_sign } = require('./self.config.js');
const request_data = function(callback) {
wx.request({
url: 'https://route.showapi.com/119-42',
data: {
showapi_appid,
showapi_sign
},
header: {
'content-type': 'application/json'
},
success: res => {
var showapiData = res.data.showapi_res_body.list;
callback(showapiData);
}
})
}
网络请求可以通过wx. API,根据json结构可以准确获取列表信息。 注意:这里使用的是返回数据,想一想为什么? 另外,上面代码中的参数需要替换成自己的。
在*终的页面事件函数中,只需调用该方法即可。 代码如下:
onLoad: function (options) {
wx.showLoading({
title: '加载中'
})
request_data(res => {
this.setData({
lists: res
});
wx.hideLoading();
});
},
*终页面如下图所示:
**注:** 对于网络版,需要在小程序公众平台配置域名信息。 在开发工具中,查看此处的信息。
在开发和测试阶段,可以勾选“不验证”选项,以方便在开发工具中进行调试。
总结
本文介绍了微信小程序使用服务器(即后端开发)的三种方式,即:使用第三方数据接口、使用云端开发、自建服务器。
另外,wx的用法。 实用性的介绍了,“历史上的今天”小工具就完成了。
这里有一个问题需要思考:由于类似的第三方数据接口都是付费服务,所以这个接口虽然免费,但是限制了调用次数。 如何通过改进代码来尽量减少接口的调用次数? 有两个想法:
有了缓存功能,每个用户每天只需要1次请求; 有了数据库功能,无论有多少用户,每天只需要1次请求;