热门标签 | 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博客不同的主题会有不同得独立样式,在使用该源码的时候自己得在从新检测下


推荐阅读
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 本文介绍了 AngularJS 中的 $compile 服务及其用法,通过示例代码展示了如何使用 $compile 动态编译和链接 HTML 元素。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 解决Win10下MySQL连接问题:Navicat 2003无法连接到本地MySQL服务器(10061)
    本文介绍如何在Windows 10环境下解决Navicat 2003无法连接到本地MySQL服务器的问题,包括启动MySQL服务和检查配置文件的方法。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细介绍了如何利用Duilib界面库开发窗体动画效果,包括基本思路和技术细节。这些方法不仅适用于Duilib,还可以扩展到其他类似的界面开发工具。 ... [详细]
  • Spark中使用map或flatMap将DataSet[A]转换为DataSet[B]时Schema变为Binary的问题及解决方案
    本文探讨了在使用Spark的map或flatMap算子将一个数据集转换为另一个数据集时,遇到的Schema变为Binary的问题,并提供了详细的解决方案。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
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社区 版权所有