1小时实战入门小程序开发,历史上的今天案例讲解

简介: 1小时实战入门小程序开发,历史上的今天案例讲解

我们前面学了这么多的小程序基础知识,一直没有用一个实际的案例来把前面的知识点串起来,今天我们就来开发一款简单的《历史上的今天》,来把我们前面的知识点完整的串起来。


老规矩,先看效果图



可以看到我们实现了如下功能


1,列表页

2,列表跳转详情页

3,视频播放(其实是假的,后面给大家讲这个视频播放)

4,网络请求

5,列表到详情数据携带好了,话不多说,我们来直接看代码实现。


一,网络数据的获取


网络数据获取我们用来官方提供的wx.request方法。

下面红色框里就是我们的网络数据获取的代码

是不是感觉就这几段代码,很简单,事实上,石头哥写这段代码费老劲了。。。

不是说代码难写。主要是因为我这里用到的是一个三方提供的api,刚开始是想着用豆瓣电影的api,可是。。。

豆瓣之前的免费api好像停了,再去找一些api吧,基本上都收费了。这个api也是找了好久,才找到了百度提供的一个“历史上的今天百科” api,接口很简单如下图:

我们只需要用这个api,简单的做下get请求,就能请求下来一大堆数据。

而这一大堆数据也正是我们所需要的列表数据。



二,首页列表数据的解析


上面第一步已经获取到了我们所需要的数据,但是那么一大坨,我们该怎么使用呢,所以,使用之前我们要对数据做一个简单的解析。这样我们才可以显示到我们的桌面上。话不多说,我们直接写代码来获取数据。

核心代码就是我们下图红色框,框起来的这部分。

再来看下我们请求到的数据。通过下图可以看到,小程序使用wx.request在请求数据的同时,已经把数据给我们解析好了。

但是这里有个问题,我们请求的数据一下子把整个12月历史上的今天,都返回了。我们只想取到今天的数据,也就是12月14日的数据。该怎么取呢。

因为这里对象里的属性值不是我们传统的name,age。。。。这样的字母样式的,而是用一个数字,比如1201来作为对象里的一个属性。这样我们取值的时候就不能用传统的 object.name 这样的方式了。

当然直接用res.data.12会报错的。如下图

所以呢我们就换种方式,比如我们先通过 res.data['12']先把所有12月的数据都取到。

然后再通过 res.data['12']['1214']来取12月14日的数据。如下图

这样我们就成功的取到了历史上的12月14日的16条数据,我们接下来要做的就是把这16条数据,展示到页面上。


三,首页数据的展示


其实列表的展示,我之前写过好多文章讲解的,大家可以去翻下我之前的文章,也可以看下我之前录的讲解视频

《10小时零基础快速入门小程序开发》

  • 我这里直接把关键代码贴出来给大家。
    1,index.wxml
    2,index.js
    3,index.wxss
    这样我们的首页展示就实现了,接下来看我们的详情页

四,详情页


可以看出我们的详情页很简单,就一个webview,但是功能却很丰富。

当然这一切都拜webview这个强大的组件所赐。至于如何实现这个视频功能的,我视频里有说的。偷笑。。。。。

,时长04:50

还是接着讲我们的这个详情页,首先我们要实现的是首页列表点击,跳转到详情页。这里还要贴出首页的代码了

上图的bindtap用来实现点击事件,data-link用来在点击的时候传递值。

看上图的点击事件的实现,可以看出,我们是在点击的时候拿到一个link值,然后把这个值传递到详情页,而这个值,就是我们webview用来展示网页的链接。

这个时候我们的详情页,其实就相当于一个浏览器了,你往里面传递不同的网址,我们就能显示不同的内容。

其实到这里我们就基本上实现了我们的功能了。

下面把index.js的完整代码贴给大家。

Page({
  data: {
    dataList: [],
    yueRi: ''
  },
  onLoad() {
    let month = this.getMonth()
    let monthDay = this.getTime()
    let yueRi = this.getFullTime()
    let that = this
    wx.request({
      url: `https://baike.baidu.com/cms/home/eventsOnHistory/${month}.json`,
      success(res) {
        console.log("请求成功", res.data['12']['1214'])
        that.setData({
          dataList: res.data[month][monthDay],
          yueRi
        })
      },
      fail(res) {
        console.log("请求失败", res)
      }
    })
  },
  //跳转到详情页
  goDetail(event) {
    let link = event.currentTarget.dataset.link
    console.log(link)
    wx.navigateTo({
      url: '/pages/detail/detail?link=' + link,
    })
  },
  //获取月日
  getTime() {
    let date = new Date()
    let month = date.getMonth() + 1
    if (month < 10) {
      month = '0' + month
    }
    let day = date.getDate()
    if (day < 10) {
      day = '0' + day
    }
    let monthDay = '' + month + day
    console.log(monthDay)
    return monthDay
  },
  //获取月份呢
  getMonth() {
    let date = new Date()
    let month = date.getMonth() + 1
    if (month < 10) {
      month = '0' + month
    }
    return month
  },
  //获取标准的月日
  getFullTime() {
    let date = new Date()
    let month = date.getMonth() + 1
    if (month < 10) {
      month = '0' + month
    }
    let day = date.getDate()
    if (day < 10) {
      day = '0' + day
    }
    let monthDay = month + '月' + day + '日'
    console.log(monthDay)
    return monthDay
  },
})

好了,今天就到这里了,后面会分享给大家更多的关于小程序实战入门的案例,敬请期待。

相关文章
|
26天前
|
小程序 前端开发 关系型数据库
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。
|
30天前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
27 0
|
1月前
|
小程序 IDE PHP
圈子源码如何打包生成App小程序/开发一个圈子系统软件所需要的费用体现在哪里?
将PHP源码打包成App的过程涉及多个步骤和技术选择。以圈子源码为例,首先明确需求,确定App功能和目标用户群体,并根据需求开发小程序页面,如用户注册、圈子列表等。源码准备阶段确保源码适用于小程序开发,环境配置需安装IDE(如微信开发者工具)及依赖库。最后在IDE中打包小程序并上传至管理平台,通过审核后发布。费用方面,模板开发成本较低,定制开发则更高,具体取决于需求复杂度和第三方服务费用。
74 0
|
2月前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
|
2月前
|
人工智能 小程序 API
【一步步开发AI运动小程序】十七、如何识别用户上传视频中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】提供人体、运动、姿态检测的AI能力,支持本地原生识别,无需后台服务,具有速度快、体验好、易集成等优点。本文介绍如何使用该插件实现用户上传视频的运动识别,包括视频解码抽帧和人体识别的实现方法。
|
2月前
|
人工智能 小程序 数据处理
uni-app开发AI康复锻炼小程序,帮助肢体受伤患者康复!
近期,多家康复机构咨询AI运动识别插件是否适用于肢力运动受限患者的康复锻炼。本文介绍该插件在康复锻炼中的应用场景,包括康复运动指导、运动记录、恢复程度记录及过程监测。插件集成了人体检测、姿态识别等功能,支持微信小程序平台,使用便捷,安全可靠,帮助康复治疗更加高效精准。
|
2月前
|
人工智能 小程序 UED
【一步步开发AI运动小程序】十六、AI运动识别中,如何判断人体站位?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,本地引擎无需后台支持,具备快速、体验好、易集成等优势。本文介绍如何利用插件的`camera-view`功能,通过检测人体站位视角(前、后、左、右),确保运动时的最佳识别率和用户体验。代码示例展示了如何实现视角检查,确保用户正或背对摄像头,为后续运动检测打下基础。
|
27天前
|
小程序 前端开发 关系型数据库
基于Uniapp+php校园小程序,校园圈子论坛系统功能,校园跑腿二手交流功能设计
校园圈子论坛及综合服务平台集成了校园跑腿、兼职信息、外卖团购、闲置交换、租赁服务、表白墙等多功能模块,提供一站式校园生活解决方案。系统采用uniapp前端和PHP后端开发,支持多城市、多学校切换,配备分站式后台管理,确保稳定性和安全性。通过融云IM SDK实现即时通讯功能,增强用户互动与粘性。适用于大学校园、城市及社区圈子,满足多样化需求,提升便捷体验。
|
1月前
|
移动开发 小程序 前端开发
超详细攻略!uniapp陪玩系统,打包陪玩小程序、H5需要注意什么?
陪玩系统的打包过程涵盖APP、小程序和H5平台。APP打包需使用uni-app开发工具,配置项目信息并选择云打包;小程序打包需在微信公众平台注册账号并提交审核;H5打包则直接通过uni-app生成文件并上传至服务器。各平台需注意权限配置、代码规范及充分测试,确保应用稳定性和兼容性。
|
3月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
81 0
在线课堂+工具组件小程序uniapp移动端源码

热门文章

最新文章