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

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

需求描述

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

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() + 1
  const 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() {

    }
})

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库模型全解析:从文档存储到搜索引擎

目录 前言1. 文档存储&#xff08;Document Store&#xff09;1.1 概念与特点1.2 典型应用1.3 代表性数据库 2. 图数据库&#xff08;Graph DBMS&#xff09;2.1 概念与特点2.2 典型应用2.3 代表性数据库 3. 原生 XML 数据库&#xff08;Native XML DBMS&#xff09;3.1 概念与…

Vue3+TS+vite项目笔记1

vue2与vue3的比较 源码的升级 使用Proxy代替defineProperty实现响应式。 重写虚拟DOM的实现和Tree-Shaking。 新的特性 Composition API&#xff08;组合API&#xff09;&#xff1a; setup ref与reactive computed与watch ...... 新的内置组件&#xff1a; Fragment T…

Spring5框架之SpringMVC

目录 1.SpringMVC的入门案例 1.1 通过maven构建一个web项目 1.2 添加对应的依赖及Tomcat插件 1.3 创建SpringMVC的配置文件 1.4 在web.xml中注册DispatchServlet 1.5 创建自定义的Controller 1.6 在Springmvc配置文件中注册 原理分析&#xff1a; 2.SpringMVC基于注解的…

Android Audio基础(53)——PCM逻辑设备Write数据

1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在 ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图。: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间数据不能随便…

【漫话机器学习系列】039.点积(dot product)

点积&#xff08;Dot Product&#xff09; 点积是线性代数中的一种基本运算&#xff0c;用于两个向量的操作。它是将两个向量按分量相乘并求和的结果&#xff0c;用于衡量两个向量在同一方向上的相似性。 点积的定义 给定两个相同维度的向量 和 &#xff0c;它们的点积定义为…

2024年大型语言模型(LLMs)的发展回顾

2024年对大型语言模型&#xff08;LLMs&#xff09;来说是充满变革的一年。以下是对过去一年中LLMs领域的关键进展和主题的总结。 GPT-4的壁垒被打破 去年&#xff0c;我们还在讨论如何构建超越GPT-4的模型。如今&#xff0c;已有18个组织拥有在Chatbot Arena排行榜上超越原…

Visual Studio 2022 C++ gRPC 环境搭建

文章目录 1、gRPC 安装2、创建项目2.1、创建 “空的解决方案”2.2、新建 gRPCServer 和 gRPCClient 项目2.3、创建 proto 文件 2、为 gRPC 服务端和客服端项目配置 protobuf 编译2.1、protobuf 配置2.2、gRPCServer 项目配置2.3、gRPCClient 项目配置 3、测试3.1、启动服务端程…

Wasm是什么

WebAssembly 是什么&#xff1f; 1.1 WebAssembly 的定义 WebAssembly&#xff08;简称 Wasm&#xff09;是一种二进制指令格式&#xff0c;设计用于在现代 Web 浏览器中高效运行程序。它可以被认为是一种低级的、接近硬件的编程语言&#xff0c;是一种介于字节码和机器码之间…

使用深度学习来实现图像超分辨率 综述!

今天给大家介绍一篇图像超分辨率邻域的综述&#xff0c;这篇综述总结了图像超分辨率领域的几方面&#xff1a;problem settings、数据集、performance metrics、SR方法、特定领域应用以结构组件形式&#xff0c;同时&#xff0c;总结超分方法的优点与限制。讨论了存在的问题和挑…

直播预告|StarRocks 3.4,打造 AI 时代的智能数据基座,应用场景全面扩展

随着新年的到来&#xff0c;StarRocks 3.4 即将上线&#xff0c;为 AI Workload 和更多应用场景提供强大支持&#xff01;此次升级聚焦于提升 AI 场景支持&#xff0c;并扩展更多应用场景&#xff0c;全方位提升数据分析体验。 更强的 AI 场景支持&#xff1a; 引入 Vector In…

【GOOD】A Survey of Deep Graph Learning under Distribution Shifts

深度图学习在分布偏移下的综述&#xff1a;从图的分布外泛化到自适应 Northwestern University, USA Repository Abstract 图上的分布变化——训练和使用图机器学习模型之间的数据分布差异——在现实世界中普遍存在&#xff0c;并且通常不可避免。这些变化可能会严重恶化模…

【微服务】5、服务保护 Sentinel

Sentinel学习内容概述 Sentinel简介与结构 Sentinel是Spring Cloud Alibaba的组件&#xff0c;由阿里巴巴开源&#xff0c;用于服务流量控制和保护。其内部核心库&#xff08;客户端&#xff09;包含限流、熔断等功能&#xff0c;微服务引入该库后只需配置规则。规则配置方式有…

神经网络的进展与挫折

神经网络的概念可追溯到上世纪40年代,当时被认为是一种模拟大脑神经元网络的计算系统。 1940年代,麦卡洛克(McCulloch)和沃尔特皮茨(Walter Pitts)率先提出了受人类大脑和生物神经网络启发的人工神经网络。 1951年,马文明斯基(Marvin Minsky)的SNARC系统标志着第一个…

搭建企业AI助理的创新应用与案例分析

在大健康零售行业&#xff0c;企业面临着日益增长的市场需求和复杂的供应链管理挑战。AI助理的应用不仅能够提升客户服务效率&#xff0c;还能优化供应链管理&#xff0c;降低运营成本。 一、AI助理在大健康零售行业的创新应用 个性化健康咨询 AI助理可以通过分析客户的健康…

一文读懂「LoRA」:大型语言模型的低秩适应

LoRA: Low-Rank Adaptation of Large Language Models 前言 LoRA作为大模型的微调框架十分实用&#xff0c;在LoRA出现以前本人都是通过手动修改参数、优化器或者层数来“炼丹”的&#xff0c;具有极大的盲目性&#xff0c;但是LoRA技术能够快速微调参数&#xff0c;如果LoRA…

接口项目操作图-thinkphp6-rabbitmq

一、用户开户流程 用户首次需要联系商务开通账户&#xff0c;需要提供手机号及来访问的IP。开好户之后&#xff0c;平台方将提供用户访问的key值及header头部参数的公钥加密文件、body访问参数以及返回数据的公私钥加解密文件。 二、用户请求流程 用户将拿到的key值进行rsa公钥…

程序环境及预处理

一.程序的翻译环境和执行环境 在ANSI C&#xff08;标准c&#xff09;的任何一种实现中&#xff0c;存在两个不同的环境。 计算机是能够执行二进制指令的&#xff0c;但是我们写出的c语言代码是文本信息&#xff0c;计算机不能直接理解 第1种是翻译环境&#xff0c;在这个环境…

回顾 Tableau 2024 亮点功能,助力 2025 数据分析新突破

2024 年&#xff0c;Tableau 用更智能、更高效的工具&#xff0c;重新定义了数据分析的可能性。 回顾 2024 年&#xff0c;Tableau 凭借一系列创新功能&#xff0c;在数据可视化与分析领域再次引领潮流。无论是深度整合 AI 技术&#xff0c;还是优化用户体验的细节&#xff0c;…

【姿态估计实战】使用OpenCV和Mediapipe构建锻炼跟踪器【附完整源码与详细说明】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

快速上手Python,制作趣味猜数字游戏

在编程学习的旅程中&#xff0c;游戏是一个极佳的切入点。今天&#xff0c;我们将一起创建一个简单而有趣的猜数字游戏&#xff0c;借此机会深入学习Python编程的基础知识和一些实用的编程技巧。无论你是初学者还是有一定基础的开发者&#xff0c;相信你都能从中获得乐趣和收获…