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

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

文本是更具上篇文章uni-app上下拉刷新的续文有需要了解上文的请点击下面连接访问

传送门: Uni-app实战上加载新下拉刷新 WordPress rest api实例

那么我们就开始了,主要的要是去介绍了以下一个插件的使用方式。官方的富文本框有markdown和html两种方式,但是样式欠佳!

本文插件传送门:uParse修复版,优化表格,css等,html富文本加载

1.导入组件

官网可以一键导入,直接点击hbuilder x导入就ojbk。另外新建界面和界面配置这边不说啦,如果有需要可以看上面文章或者之前更早的文章

随后我们引入样式app.vue中引入

1 <style>
2     /*每个页面公共css */
3     @import "components/un-parse/u-parse.css";
4 </style>

文章详情界面绑定数据(来自官方插件的代码复制,其中包含界面引入组件和注册组件复制即可用)

 1 <template>
 2   <div>
 3     <u-parse :content="article" @preview="preview" @navigate="navigate" />
 4   </div>
 5 </template>
 6
 7
 8 import uParse from ‘@/components/un-parse/u-parse.vue‘
 9
10 export default {
11   components: {
12     uParse
13   },
14   data () {
15     return {
16       article: ‘<div>我是HTML代码</div>‘
17     }
18   },
19   methods: {
20     preview(src, e) {
21       // do something
22     },
23     navigate(href, e) {
24       // do something
25     }
26   }
27 }
28
29
30
31 <style>
32
33 </style>

在用浏览器运行应该就可以看到 我是html代码 这行文字了。

2.获取接口数据

如果步骤一出现错误大家自己排除下,如果正常我们就继续往下走,在onLoad中发起一个接口请求,我们这个界面接受的是上个界面传过来的文章ID,为了方面单独演示这样就直接添加文章ID,没有从上级接受。测试文章:https://www.frbkw.com/wp-json/wp/v2/posts/1700

 1 onLoad() {
 2             // _self = this;
 3             // 加载 html 内容
 4             uni.request({ //接口请求
 5                 url: ‘https://www.frbkw.com/wp-json/wp/v2/posts/1700‘
 6                 success: (res) => {
 7                     console.log(res.data)
 8
 9                 }
10             })
11         },

控制台中打印出现数据

我们先定义几个我们需要的东西一个内容article

1 this.article = res.data.content.rendered;

还要一个图片作为顶部封面

1 this.banner_img = res.data.featured_image_src;

最后还一个标题

1 this.banner_title = res.data.title.rendered;

整理后如下

 1 onLoad(g) {
 2             // _self = this;
 3             // 加载 html 内容
 4             uni.request({ //接口请求
 5                 url: ‘https://www.frbkw.com/wp-json/wp/v2/posts/‘ + g.id,
 6                 success: (res) => {
 7                     console.log(res.data)
 8                     this.article = res.data.content.rendered;
 9                     this.banner_title = res.data.title.rendered;
10                     this.banner_img = res.data.featured_image_src;
11                     // console.log(this.article);
12                 }
13             })
14         },

在data的return中我们就要写上内容和标题为空,图片就不要了。整体效果下

1 data() {
2             return {
3                 article: ‘‘,
4                 banner_title: ‘‘
5
6             }
7         },

为了美观我们在顶部加入图片,学习小程序的样式,下面内容突起一点点圆角,整体template

 1 <template>
 2     <!-- 富文本框解析组件 开始 -->
 3     <div>
 4         <!-- 顶部图片 开始 -->
 5         <view class="data-banner" >
 6             <!-- 图片     -->
 7             <image class="data-banner-img" :src="banner_img"></image>
 8             <!-- 白色圆角 -->
 9             <view class="data-bsyj" ></view>
10         </view>
11         <!-- 顶部图片  结束 -->
12
13         <!-- 文章详情 开始 -->
14         <div class="data-center">
15             <u-parse :content="article" @preview="preview" @navigate="navigate" />
16         </div>
17         <!-- 文章详情 结束 -->
18     </div>
19     <!-- 富文本框解析组件 结束 -->
20 </template>

相关css样式

 1 page {
 2         background-color: #FFFFFF;
 3         /* padding: 10px; */
 4     }
 5
 6     .data-center {
 7         padding: 10px;
 8     }
 9
10     .a {
11         height: 360upx;
12         overflow: hidden;
13         position: relative;
14         background-color: #ccc;
15
16     }
17     .data-banner{
18         position: relative;
19     }
20     .data-banner-img {
21         width: 100%;
22     }
23
24     .data-bsyj{
25         background-color: #FFFFFF;
26         height: 10px;
27         width: 100%;
28         border-top-left-radius: 10px;
29         border-top-right-radius:10px ;
30         position: absolute;
31         bottom: 0px;
32     }
33     .banner-title {
34         max-height: 84upx;
35         overflow: hidden;
36         position: absolute;
37         left: 30upx;
38         bottom: 30upx;
39         width: 90%;
40         font-size: 32upx;
41         font-weight: 400;
42         line-height: 42upx;
43         color: white;
44         z-index: 11;
45     }

最后因为自定义了一些其他东西修改了下原作者的插件,添加了一些样式,请在components/un-parse/u-parse.css中覆盖样式(也可以直接在详情界面下方添加)

自定义h2

 1 .wxParse .h2{
 2   font-size: 1.5em;
 3   margin: 0.83em 0;
 4     background-color: #fcf2e9;
 5     padding: 10px;
 6     line-height: 1.7;
 7     border-left: #ff7800 5px solid;
 8   border-top-right-radius: 5px;
 9   border-bottom-right-radius: 5px;
10 }

自定义h3

.
1 wxParse .h3{
2   font-size: 1.17em;
3   margin: 1em 0;
4     background-color: #eef6fd;
5     padding: 10px;
6     line-height: 1.7;
7     border-left: #38A3FE 5px solid;
8 }

自定义代码块

 1 .wxParse .pre {
 2   overflow: auto;
 3   background: #4a4a4a;
 4   padding: 16upx;
 5   white-space: pre;
 6   margin: 1em 0upx;
 7     color: #73d8a1;
 8 }
 9 .wxParse .code {
10   display: inline;
11   background: #4a4a4a;
12     color: #73d8a1;
13 }

3.配置顶部

刚刚忘记这个步骤,后面才发现忘记了。我们消息界面打开顶部是图片,我们往上滑动的时候图片消失,显示标题。在pages.json中配置界面如下

 1 {
 2             "path" : "pages/data/data",
 3              "style": {
 4                  "navigationBarTitleText": "详情",
 5                  "app-plus": {
 6                      "titleNView": {
 7                          "type": "transparent"
 8                      }
 9                  }
10              }
11         }

总结

富文本框解析图片和代码块都比较兼容,如果说我们后台有设置其他的东西,例如下载按钮等这些就要自己在从新处理一次了

效果图:

原文地址:https://www.cnblogs.com/adozheng/p/12408255.html

时间: 2024-10-29 04:07:10

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

轻量级web富文本框——wangEditor使用手册(2)——扩展一个“缩进”功能

1. 引言 上一节<轻量级web富文本框——wangEditor使用手册(1)——基本应用>中我们讲解了如何应用wangEditor创建最基本的富文本编辑器,本节继续讲如何扩展一个简单的按钮.本节是继续上一节的内容来的,所使用的代码也是接着上一节的来的,错过的朋友请先看上一节,再看本节. 下载地址:https://github.com/wangfupeng1988/wangEditor demo演示:http://www.cnblogs.com/wangfupeng1988/p/4185508

轻量级web富文本框——wangEditor使用手册(1)——基本应用

1. 介绍&下载 wangEditor是用javascript编写的轻量级web富文本编辑器,依赖于jQuery和fontAwesome字体库,支持所有浏览器.使用wangEditor可以轻松创建web富文本框,并可以自定义扩展菜单功能.wangEditor所有源码都已经在github上开源下载. 下载地址:https://github.com/wangfupeng1988/wangEditor 交流QQ群:164999061 2. 生成富文本框 2.1 下载 从https://github.c

第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框

第三百九十四节,Django+Xadmin打造上线标准的在线教育平台-Xadmin集成富文本框 首先安装Django Ueditor1.8.143模块 下载地址 https://pypi.python.org/pypi/DjangoUeditor/1.8.143 下载后  python setup.py install  安装 安装好后在settings.py将DjangoUeditor添加到app INSTALLED_APPS = [ 'django.contrib.admin', 'djan

富文本框KindEditor和beautifulsoup4模块

一.富文本框KindEditor 1.官网下载:http://kindeditor.net/down.php 放在项目static/kindeditor/目录下 2.html页面引入kindeditor文件: <script src = "/static/kindeditor/kindeditor-all.js"> </script> <script src="/static/js/jquery-3.2.1.min.js"><

angular延时函数和数据加载完才显示主要的页面、上传文件到后端、富文本框编辑框(ckeditor)

延时函数 setTimeout(()=>{ console.log("延时打印") },10000); // 延时10秒打印 //简单等数据加载完才显示主要的页面 1.先下载ngx-loading模块 npm install --save ngx-loading 2.在app.module.ts中引入NgxLoadingModule模块 import {NgxLoadingModule} from 'ngx-loading'; imports: [ BrowserModule,

selenium处理富文本框,日历控件等 调用JS修改value值

http://blog.csdn.net/fudax/article/details/8089404 document.getElementById("js_domestic_fromdate").value = "2014-10-10" selenium处理富文本框,日历控件等 调用JS修改value值,布布扣,bubuko.com

[布局]记录部件字段富文本框如何设置统一高度

在使用快速开发平台构建业务功能中,往往都会用到记录部件,如何布局各个字段位置使用户一目了然,往往就是我们头大的问题.在一个固定大小的窗体下,各个字段的样式都是系统自动默认的,如下图: 此种布局方式真是惨不忍睹,那么如何布局多个富文本字段的位置才能使界面简单明了呢?今天为大家带来记录部件中富文本框(数据表中字段编辑类型word)的布局方法:首先在 空白区域鼠标右键唤出菜单[定制版面],单击进入[记录部件布局定制]模式: 选中富文本字段,鼠标右键点击[创建群组]: 群组创建完成,在顶部空白区域右键唤

kindeditor富文本框,上传文件后,显示文件名称

kindeditor作为一个应用广泛富文本框,我们经常会利用到它,然而在使用的过程中,发现有的地方使用起来很不方便,例如本文要说的,用户上传文件之后,默认只有文件URL,没有文件说明,如图: 点击确定之后,内容中显示的只是一串很长的地址,这并不是我们想要的. 更多的时候,我们只是希望它这里能默认显示文件名称,只有在文件说明里,填写了文件名称,在内容里面才会以名称的形式呈现.这个时候,我们就要给它做个小手术,来完善它,下面贴出代码: 1.修改asp.net/upload_json.ashx文件,大

基于bootstrap的富文本框——wangEditor【欢迎加入开发】

先来一张效果图: 01. 引言 老早就开始研究富文本框的东西,在写完<深入理解javascript原型与闭包>之后,就想着要去做一个富文本框的插件的例子. 现在网络上开源的富文本框插件非常多,一搜索一大堆,但是基于bootstrap的还不多,现在只有一个“bootstrap-wysiwyg”,老外写的,没有一个汉字,大家可以fork一下源码看看,写的非常简洁,压缩之后不到10KB,非常厉害!我也还没来得及研究,一定要看一下. 02. wangEditor 老外的东西,满地英文,给程序猿用着还可