一小时的小程序开发实用介绍,今天的历史案例讲解
数据采集
小程序开发
浏览:1153 次

我们已经学到了很多关于小程序的基本知识,但我们从来没有用实际案例来链接前面的知识点。今天,我们将开发一个简单的“历史上的今天”,将之前的知识点完全联系起来。
老规矩,先看效果图
我们可以看到,我们已经实现了以下功能
1.列表页
2.列表跳转到详细信息页面
3.视频回放
4.网络请求
5.将数据从列表传递到明细
好吧,让我们看看代码实现。
1、 网络数据采集
我们使用wx。官方提供的获取网络数据的请求方法。
下面的红色框是我们的网络数据采集代码
你认为写这些代码很简单吗?事实上,石哥花了很多时间编写这段代码。。。
这并不是说代码很难写。这主要是因为我使用了第三方提供的API。起初,我想使用豆瓣电影的API,但。。。
豆瓣的免费api似乎已经停止了。去寻找更多的api。他们基本上是收费的。花了很长时间才找到百度提供的“历史上的今天百科全书”API。界面非常简单,如下所示:
我们只需要使用这个api简单地发出一个get请求,然后我们就可以请求大量数据。
这大量数据正是我们需要的列表数据。
2、 主页列表数据分析
在上面的第一步中,我们已经获得了所需的数据,但我们如何使用如此大量的数据?因此,我们需要在使用数据之前对其进行简单分析。这样,我们可以在桌面上显示它。话不多说,我们直接编写代码来获取数据。
核心代码是下图中的红色方框。
让我们看看我们要求的数据。如下图所示,小程序在使用wx请求数据时为我们解析了数据。要求
但这里有一个问题。我们要求的数据已经返回了整个12月的历史。我们只想得到今天的数据,也就是12月14日的数据,我怎么能得到。
因为对象中的属性值不是我们的传统名称,年龄….这个字母样式使用数字,例如1201,作为对象中的一个属性。这样,我们就不能在取值Name时使用传统对象。
当然,使用res.data。12将直接报告错误。如下所示
所以让我们改变方法。例如,我们首先通过res.data['12']获取12月的所有数据。
然后使用res.data['12']['1214']获取12月14日的数据
就这样,我们在历史上的12月14日成功获得了16条数据。接下来我们需要做的是在页面上显示这16条数据。
3、 主页数据显示
事实上,我已经写了很多关于这个列表的文章。你可以转到我以前的文章或观看我录制的视频

我会把钥匙码直接寄给你。
1,index.wxml
2,index.js
3,索引.wxss
这样,我们的主页显示就会实现。接下来,让我们看看我们的详细信息页面
4、 详细信息页
可以看出,我们的详细信息页面非常简单,只是一个网络视图,但功能丰富。
当然,这一切都要归功于强大的组件webview。至于如何实现这个视频功能,我在视频中已经说过。偷偷摸摸
让我们继续讨论我们的详细信息页面。首先,我们需要单击主页列表跳转到详细信息页面。主页上的代码应该张贴在这里
上图中的bindtap用于实现单击事件,数据链接用于在单击时传递值。
查看上图中click事件的实现,我们可以看到我们在单击时获得一个链接值,然后将该值传递到详细信息页面。这个值是我们的网络视图用来显示网页的链接。
此时,我们的详细信息页面实际上相当于一个浏览器。如果您向其发送不同的URL,我们可以显示不同的内容。
事实上,我们已经基本实现了我们在这里的功能。
索引的完整代码。js发布给您。
第页({
数据:{
数据列表:[],
月日:“”
},
加载(){
let month=this.getMonth()
let monthDay=this.getTime()
让yueRi=this.getFullTime()
让它=这个
wx.请求({
网址:`https://baike.baidu.com/cms/home/eventsOnHistory/${月}.json `,
成功(res){
安慰日志(“请求成功”,res.data['12']['1214'])
that.setData(设置数据)({

dataList:res.data[month][monthDay],
月日
})
},
失败(res){
安慰日志(“请求失败”,res)
}
})
},
//跳转到详细信息页面
goDetail(事件){
let link=event.currentTarget.dataset.link
console.log(链接)
wx.导航到({
url:'/pages/detail/detail?link='+链接,
})
},
//获取月日
获取时间(){
let date=新日期()
让月份=日期。获取月()+1
如果(月<10){
月=“0”+月
}
let day=date.getDate()
如果(天<10){
天=“0”+天
}
让monthDay=“”+月+日

c