微信小程序之历史上的今天

微信小程序之历史上的今天

需求描述

今天我们再来做一个小程序,主要是搜索历史上的今天发生了哪些大事,结果如下
当天的历史事件或者根据事件选择的历史事件的列表:
在这里插入图片描述
点击某个详细的历史事件以后看到详细信息:
在这里插入图片描述

API申请和小程序设置
API申请
第一步:完整账号注册
我们需要来到如下网站,注册账号:万维易源
第二步:账号注册完成以后,点击右上角的控制台信息。
在这里插入图片描述
第三步:在控制台界面选择接口使用者-appKey管理
在这里插入图片描述
第四步:在appKey管理界面,点击添加按钮,在应用中输入自己想要的名字,白名单非必填,可调用接口搜索手机可以查询到对应的如下信息,选择以后点击“立即创建”。

在这里插入图片描述
第五步:设置以后,我们便可以看到我们常见的appKey了。

在这里插入图片描述

小程序设置

在小程序中,我们应用的API不是随便能够使用的,是需要在小程序中进行设置才能够使用。
第一步:登录小程序管理后台
第二步:在小程序后台点击管理-开发管理中的开发设置
在这里插入图片描述
第三步:在开发设置中鼠标滚轮往下拉找到服务器域名设置,然后点击右侧修改按钮,在request合法域名中讲我们设置的需要的api加入进去,结果如下
在这里插入图片描述
至此,我们的API Key的申请以及小程序的设置已经完成,我们可以正式开发我们的业务。

业务实现

代码框架

我们的业务代码框架如下
在这里插入图片描述

代码实现

app.json实现

总体基调设置如下

{"pages": ["pages/index/index","pages/details/details","pages/logs/logs" ],"window": {"backgroundTextStyle": "dark","navigationBarBackgroundColor": "#FFFFFF","navigationBarTitleText": "历史上的今天","navigationBarTextStyle": "black"},"sitemapLocation": "sitemap.json"
}
util.js实现
const formatTime = date => {const year = date.getFullYear()const month = date.getMonth() + 1const day = date.getDate()const hour = date.getHours()const minute = date.getMinutes()const second = date.getSeconds()return [month, day].map(formatNumber).join('').toString()
}const formatNumber = n => {n = n.toString()return n[1] ? n : '0' + n
}module.exports = {formatTime: formatTime
}
index.wxml实现

界面布局实现

<!--pages/index/index.wxml-->
<view class='hot'><view class='button'><button bindtap='bindSearch'>历史上的今天{{timesTamp}}</button></view><view class="dateChoose"><view>时间选择:</view><picker mode="date" value="{{timesTamp}}" bindchange="bindchange"><view><text>{{timesTamp}}</text> </view></picker></view><view class="news" wx:for="{{arrayResult}}" wx:key="index"><navigator url="/pages/details/details?title={{item.title}}&content={{item.content}}&img={{item.img}}"><text class="title">{{index + 1}}.{{item.title}}</text></navigator></view>
</view>
index.wxss实现

界面样式实现

/* pages/index/index.wxss */
.hot {width: 90%;margin: 0 auto;font-size: 30rpx;overflow: scroll;
}
.dateChoose{font-size: large;font-weight: bolder;display: flex;flex-flow: row nowrap;padding: 10rpx;
}.title{font-size: large;font-weight: bolder;
}.news{border: 1rpx solid #eee;padding: 15rpx 0;
}.button button {background-color: #ff0000;color: white;
}
index.js实现

业务实现如下

// pages/index/index.js
const util = require('../../utils/util.js');
Page({/*** 页面的初始数据*/data: {//密钥sign: 'APIKEY',//当前查询的时间timesTamp : util.formatTime(new Date()),//结果arrayResult: []},bindchange: function (e) {var that = this;var data = e.detail.value;var finallDate = data.split('-');console.log(finallDate[1] + finallDate[2]);that.setData({timesTamp: finallDate[1] + finallDate[2],});},//查询历史bindSearch : function (e) {var that = this;console.log(that.data.timesTamp);//请求wx.request({url: 'https://route.showapi.com/119-42?appKey=' + that.data.sign + '&needContent=1&date=' + that.data.timesTamp,success : function (e) {console.log(e.data.showapi_res_body.list);//获取热搜新闻var result = e.data.showapi_res_body.list;console.log(result);//判断是否返回消息if (result.showapi_res_code == -1004) {that.setData({ret_code: '接口返回错误',});} else {that.setData({arrayResult: result,});}}})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})
details.wxml实现

界面布局实现

<!--pages/details/details.wxml-->
<view><text class="title">{{title}}</text>
</view>
<view><text class="content">{{content}}</text>
</view>
<view><image class="image" src="{{img}}" mode="widthFix"/>
</view>
details.wxss实现

界面样式实现

/* pages/details/details.wxss */
.title{font-size: large;font-weight: bolder;text-align: center;padding: 10rpx;margin: 20rpx;
}
.content{font-size: small;padding: 10rpx;margin: 30rpx;
}
.image{width: 100%;justify-content: center;
}
details.js实现

业务实现如下

// pages/details/details.js
Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.setData({title : options.title,content : options.content,img : options.img});},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

至此我们完成历史上今天的开发内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm简单调试

本文简单讲述一下PyCharm中经常用到的调试操作。 示例代码如下&#xff1a; for i in range(10):print("hello", i)if i > 2:print("ok!")在代码前面打上断点&#xff0c;如下图所示&#xff1a; 单机调试按钮Debug 单机Resume Program按钮&#xf…

域名注册网国际域名与国内域名的区别

在当今互联网时代&#xff0c;域名注册是每个企业和个人建立在线存在的重要步骤。国际域名与国内域名之间存在一些显著的区别&#xff0c;这些区别影响着用户的选择和使用。 首先&#xff0c;国际域名通常以“.com”、“.net”、“.org”等后缀结尾&#xff0c;这些后缀具有全球…

Python 爬虫验证码识别

在我们进行爬虫的过程中&#xff0c;经常会碰到有些网站会时不时弹出来验证码识别。我们该如何解决呢&#xff1f;这里分享 2 种我尝试过的方法。 0.验证码示例 1.OpenCV pytesseract 使用 Python 中的 OpenCV 库进行图像预处理&#xff08;边缘保留滤波、灰度化、二值化、…

【Unity笔记】资源包导入后是洋红色(粉色)怎么办?

1.导入后发现是这样的 2.这个问题是渲染管道不匹配引起的。 导入的素材用的是 「通用渲染管线 Universal Render Pipeline, URP」&#xff0c;而项目里默认配置的是「内置渲染管线」&#xff0c;如图&#xff1a; 【知识补充】什么是渲染管线&#xff1f;&#xff1f;&#x…

Vue2移动端(H5项目)项目封装switch组件支持动态设置开启关闭背景色、值及组件内显示文字描述、禁用、switch 的宽度

前言 近期产品需求&#xff1a;Vue2移动端项目需要在switch开关内显示文字&#xff0c;看Vantui没有对应功能&#xff0c;因此自己手撸写了这个组件。 一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-switch v-model"check"/>2、配置参数&#xff08;…

Spring Boot教程之五十一:Spring Boot – CrudRepository 示例

Spring Boot – CrudRepository 示例 Spring Boot 建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生产就绪环境&#xff0c;使开发人员能够直接专注于逻辑&#xff0c;而不必费力配置和设置&#xff0c;因此如今它正成为开发人员的最爱。Spring Boot 是…

概率论与数理统计--期末

概率论占比更多&#xff0c;三分之二左右 数理统计会少一些 事件之间的概率 ab互斥&#xff0c;不是ab独立 古典概型吃高中基础&#xff0c;考的不会很多 条件概率公式&#xff0c;要记 公式不要全记&#xff0c;很多有名称的公式是通过基础公式转换而来的 目的在于解决一…

大数据高级ACP学习笔记(2)

钻取&#xff1a;变换维度的层次&#xff0c;改变粒度的大小 星型模型 雪花模型 MaxCompute DataHub

标准IO

student.c用链表完成 #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct student {char name[10];int chinese;int math;int English;int physics;int chemistry;int biology; }stu,*stuptr; typedef struct node {union{stu dat…

Ollama + FastGPT搭建本地私有企业级AI知识库 (Linux)

一、为何搭建本地企业级AI知识库&#xff1f; 首先我们分析下搭建本地企业级AI知识库的核心要点&#xff1a; 1.数据安全性&#xff1a;本地部署可以更好地保护企业敏感数据&#xff0c;避免数据泄露的风险。 2.定制化&#xff1a;根据企业特定需求进行定制&#xff0c;提供更…

基于SMT32U575RIT单片机-中断练习

练习要求&#xff1a; 1、通过扩展板按键key1&#xff0c;开/关元器件&#xff1b; 2、通过串口选择模式&#xff08;通过中断实现&#xff09;&#xff1a; LED&#xff1a; 切换只控制LED&#xff1b; FAN&#xff1a; 切换只控制FAN&#xff1b; BEE&#xff1a; 切换只控制…

人工智能的发展领域之GPU加速计算的应用概述、架构介绍与教学过程

文章目录 一、架构介绍GPU算力平台概述优势与特点 二、注册与登录账号注册流程GPU服务器类型配置选择指南内存和存储容量网络带宽CPU配置 三、创建实例实例创建步骤镜像选择与设置 四、连接实例SSH连接方法远程桌面配置 一、架构介绍 GPU算力平台概述 一个专注于GPU加速计算的…

w~自动驾驶~合集16

我自己的原文哦~ https://blog.51cto.com/whaosoft/12765612 #SIMPL 用于自动驾驶的简单高效的多智能体运动预测基准 原标题&#xff1a;SIMPL: A Simple and Efficient Multi-agent Motion Prediction Baseline for Autonomous Driving 论文链接&#xff1a;https://ar…

数据结构与算法之二叉树: LeetCode 107. 二叉树的层序遍历 II (Ts版)

二叉树的层序遍历 II https://leetcode.cn/problems/binary-tree-level-order-traversal-ii/description/ 描述 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&a…

NOVA:AutoRegressive Video Generation Without Vector Quantization——自回归视频生成无需向量量化

这篇文章介绍了一种名为NOVA的新型自回归模型&#xff0c;用于高效的文本到图像和文本到视频生成。以下是文章的主要内容总结&#xff1a; 1. 研究背景与问题 自回归大语言模型&#xff08;LLMs&#xff09;在自然语言处理&#xff08;NLP&#xff09;中表现出色&#xff0c;但…

外驱功率管电流型PWM控制芯片CRE6281B1

CRE6281B1 是一款外驱功率管的高度集成的电流型PWM 控制 IC&#xff0c;为高性能、低待机功率、低成本、高效率的隔离型反激式开关电源控制器。在满载时&#xff0c;CRE6281B1工作在固定频率(65kHz)模式。在负载较低时&#xff0c;CRE6281B1采用节能模式&#xff0c;实现较高的…

C4D2025 win版本安装完无法打开,提示请将你的maxon App更新至最新版本,如何解决

最近安装C4D2025 win版本时&#xff0c;明明按步骤安装完成&#xff0c;结果打开提示提示请将你的maxon App更新至最新版本&#xff1f;遇到这种情况该如何解决呢。 一开始我的思路以为是旧版本没有删除干净&#xff0c;所以将电脑里有关maxon的软件插件都卸载了&#xff0c;重…

open61499符合新型工业控制测试要求吗

工业互联网产业联盟发起了一项新型工业控制产品测试活动&#xff0c;从官网上摘录了部分测试要求&#xff08;联盟动态-工业互联网产业联盟&#xff09;如下&#xff1a; 新型工业控制是通过有线无线混合组网、软硬件分层解耦和模块化功能调用、多层级算力通用底座&#xff0c…

119.使用AI Agent解决问题:Jenkins build Pipeline时,提示npm ERR! errno FETCH_ERROR

目录 1.Jenkins Build时的错误 2.百度文心快码AI智能体帮我解决 提问1&#xff1a;jenkins中如何配置npm的源 提问2&#xff1a;jenkins pipeline 类型为pipeline script from SCM时&#xff0c;如何配置npm源 3.最终解决方法-Jenkinsfile的修改 4.感触 1.Jenkins Build时…

Python学习笔记:显示进度条

文章目录 1. 安装progress包2. 编写程序,实现功能3. 运行程序,查看结果4. 实战小结1. 安装progress包 在Anaconda Prompt里执行命令:pip install progress -i https://pypi.tuna.tsinghua.edu.cn/simple 2. 编写程序,实现功能 创建显示进度条.py程序 """ 功…