热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Uniapp基础实战分类目录刷新WordPressrestapi实例(三)

Uni-app基础实战分类目录刷新WordPressrestapi实例哈还是老话题,本文章市wordpress博客的续文,从开始的首页文件接入数据,详情界面富文本解析,再到文本的分

Uni-app基础实战分类目录刷新 WordPress rest api实例

哈还是老话题,本文章市wordpress博客的续文,从开始的首页文件接入数据,详情界面富文本解析,再到文本的分类目录刷新。建议先看之前的文章



  • Uni-app基础实战富文本框解析 WordPress rest api实例(二)

  • Uni-app基础实战上加载新下拉刷新 WordPress rest api实例(一)


接口分析

分类接口: https://www.frbkw.com/wp-json/wp/v2/categories

分类文章接口(5是分类id):https://www.frbkw.com/wp-json/wp/v2/posts?categories=5

分类文章页码:https://www.frbkw.com/wp-json/wp/v2/posts?categories=5&page=1

技术分享图片


获取指定分类

拿到分类接口后可以直接在一个界面中直接循环所有的分类,但是枫瑞个人还是喜欢说在细分一点。按该博客的分类是移动端UI框架下会有2个子分类mui和uni。于是就把移动端ui框架做单页,这个界面至显示mui和uni。前提是我们先获取一个模板顶部滚动模板,官方或者下载插件都可以。

首先onload中添加一个函数,为了方便也写了一个下拉的


1 onLoad () {
2 this.classifywp();//获取分类
3 this.getnewsList();//下拉刷新
4 },

 

随后methods中执行函数


1 methods: {
2 // 分类目录接口
3 classifywp(){
4 uni.request({
5 url: ‘https://www.frbkw.com/wp-json/wp/v2/categories‘,
6 success: res => {
7 this.wpclassify=res.data;
8 },
9 });
10 },
11 }

 

return中绑定下wpclassify,我们还是去建立一个筛选的制定分类为ids。大概意思就是一组人,我们先把小组人全部点名一次,随后我们在挑选出几个(其实哇,写不来过滤就用这个方式简单点哎),其中ids里面的0和1分类代表分类的id


1 return {
2 wpclassify:‘‘,
3 ids:[0,1],
4 };

 

我们只要选择ids 在从wpclassify中拿数据(有使用组件)


1
2 <scroll-view scroll-x class="bg-white nav text-center">
3
4 <view class="cu-item" :class="index==TabCur?‘text-green cur‘:‘‘" v-for="(item,index) in ids" :key="index" @tap="tabSelect" :data-id="index" >
5 {请删除我{wpclassify[ids[index]].name}}
6 view>
7 scroll-view>

 

这样我们就可以看到分类了咯,因为一个界面下有2个分类,那么他要分开显示和分开刷新。组件中的有一个TabCur值,可以用它来显示不同分类下内容


1 <view v-show="TabCur==0">我是第一个分类><view>
2 <view v-show="TabCur==1">我是第二个分类><view>

 


分类刷新

同理我们采用以上方法去刷新我们的内容。添加下拉函数


1 onPullDownRefresh () {
2 //下拉刷新的时候请求一次数据
3 this.getnewsList();
4 },

 

不要忘记在psges.json中要开启下拉


1 {
2 "path": "pages/kaifa/kaifa",
3 "style": {
4 "navigationBarTitleText": "移动端框架",
5 "backgroundColor": "#FFFFFF",
6 "enablePullDownRefresh": true //我是开启下拉刷新
7 }
8 },

 

methods中开始写函数,用if去判断


1 //接口下拉刷新
2 getnewsList: function() {//第一次回去数据
3 // 判断分类刷新
4 if (this.TabCur==0) {
5 page = 1;
6 uni.showNavigationBarLoading();
7 uni.request({
8 url: ‘https://www.frbkw.com/wp-json/wp/v2/posts?categories=5&page=1‘,
9 success: res => {
10 page++;//得到数据之后page+1
11 this.wpmui = res.data;
12 uni.hideNavigationBarLoading();
13 uni.stopPullDownRefresh();//得到数据后停止下拉刷新
14 }
15 });
16 } else if (this.TabCur==1) {
17 page = 1;
18 uni.showNavigationBarLoading();
19 uni.request({
20 url: ‘https://www.frbkw.com/wp-json/wp/v2/posts?categories=92&page=1‘,
21 success: res => {
22 page++;//得到数据之后page+1
23 this.wpuniapp = res.data;
24 uni.hideNavigationBarLoading();
25 uni.stopPullDownRefresh();//得到数据后停止下拉刷新
26 }
27 });
28 }
29 },

 


总结

上拉就不写了哈,大家看上次的文章。效果图

技术分享图片

已知bug:

1.上拉加载页码会出现过大bug上拉无法点击得下拉一次恢复正常

2.console中报name未定义,原因来自wpclassify[ids[index]].name,但不影响

注意:

1.wp博客不同的主题会有不同得独立样式,在使用该源码的时候自己得在从新检测下


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
author-avatar
手机用户2502923513
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有