uniapp(uncloud) 使用生态开发接口详情4(wangeditor 富文本, 云对象, postman 网络请求)

wangeditor 官网: https://www.wangeditor.com/v4/pages/01-开始使用/01-基本使用.html

这里用vue2版本,用wangeditor 4

终端命令: npm i wangeditor --save

  1. 开始使用
    在项目pages => sy_news => add.vue 页面中
javascript 复制代码
<template>
//...
	<uni-forms-item name="content" label="文章内容" required>
		<div id="div1"></div>
	</uni-forms-item>
// ...
</template>
<script>
import E from 'wangeditor'
let editor = null
// ...
onReady() {
	this.onWangEdit()
},
methods:{
	onWangEdit() {
		editor = new E("#div1")
		editor.config.zIndex = 0
		// 失焦时触发的回调函数
		editor.config.onblur = (newHtml) => {
	
			this.formData.content = newHtml
		}
		// 将图片保存本地服务器
		editor.config.customUploadImg = function(resultFiles, insertImgFn) {
			resultFiles.forEach(item => {
				let path = URL.createObjectURL(item)
				let name = item.name
				uniCloud.uploadFile({
					filePath: path,
					cloudPath: name
				}).then(res => {
					console.log("res", res);
					insertImgFn(res.fileID)
				})
			})
		}
		editor.create()
	},
	// 提交表格
	submitForm(value) {
		// 修复(鼠标在富文本内,直接提交)
		value.content = editor.txt.html();
		//...
	}	
	// ...
	}
	// ...
</script>
  1. 运行项目,浏览器中刷新页面,新增页面, 内容变成我们需要的富文本了,
  2. 修改(edit)界面同样的代码, 不过不同是
javascript 复制代码
<uni-forms-item name="content" label="文章内容" required>
	<div id="div1">
		<div v-html="formData.content"></div>
	</div>
</uni-forms-item>
  1. 上面都是添加数据,接下来进入写接口了,
    项目 => uniCloud-aliyun => 新建函数或者云对象
javascript 复制代码
// index.obj.js
const db = uniCloud.database()
module.exports = {
	_before: function() { // 通用预处理器

	},

	async getList() {
		const res = await db.collection("sy_news").get()
		let result = {
			errCode: 0,
			errMsg: "查询成功",
			data: res.data
		}
		return result
	},

}

4.1 点击demoObj 目录, 右键, 运行本地云对象, 目录下面多一个demoObj.param.js 文件,

javascript 复制代码
getList()

4.2 保存一下, 点击demoObj 目录, 右键, 运行本地云对象, 终端打印的

  1. 如果带参数怎么弄?
javascript 复制代码
// index.obj.js
const db = uniCloud.database()
module.exports = {
	_before: function() { // 通用预处理器
		this.params = this.getParams()[0]
		this.startTime = Date.now()
	},
	async getList() {
		const res = await db.collection("sy_news").get()
		let result = {
			errCode: 0,
			errMsg: "查询成功",
			data: res.data
		}
		return result
	},
	
	async get() {
		console.log('this.params', this.params);
		let {
			num
		} = this.params
		const res = await db.collection("sy_product_nav").limit(num).get()
		let result = {
			errCode: 0,
			errMsg: "查询成功",
			data: res.data
		}
		return result
	},

	_after(error, result) {
		if (error) {
			throw error
		}
		result.timeCode = Date.now() - this.startTime

		return result
	}

}
javascript 复制代码
// demoObj.param.js
get({
	num: 2
})

在运行ok, 这都是本地运行的,

  1. 接下来将 demoObj 右键 , 上传部署, 用postman请求数据

6.1 打开 uniCloud Web 控制台

6.2 云函数/云对象 => 函数/对象列表 (找到demoObj, 点击详情)

6.3 点击编辑, 输入 /demoObj

6.4 确定, 在点击(复制路径),到postman里面,改为post请求,

  1. 如在postman 里面带参数, uniCloud 中 云对象 一个 getHttpInfo 的API
javascript 复制代码
const db = uniCloud.database()
module.exports = {
	_before: function() { // 通用预处理器
		this.params = JSON.parse(this.getHttpInfo().body)
		// this.httpInfo = JSON.parse(this.getHttpInfo().body)
		this.startTime = Date.now()
	},

	async getList() {
		const res = await db.collection("sy_news").get()
		let result = {
			errCode: 0,
			errMsg: "查询成功",
			data: res.data
		}
		return result
	},


	async get() {

		let {
			num
		} = this.params
		const res = await db.collection("sy_product_nav").limit(num).get()
		let result = {
			errCode: 0,
			errMsg: "查询成功",
			data: res.data
		}
		return result
	},

	_after(error, result) {
		if (error) {
			throw error
		}
		result.timeCode = Date.now() - this.startTime

		return result
	}

}
相关推荐
小小尚@1 小时前
AE脚本-AE Actions v1.1.8 操作动作记录器
开发语言·前端·javascript·jupyter·postman
xy34531 小时前
SQLMap 核心语法与使用指南(三)
测试工具·渗透测试·sqlmap
我的xiaodoujiao2 小时前
快速学习Python基础知识详细图文教程18--多线程
开发语言·python·学习·测试工具
结网的兔子4 小时前
【前端开发】UniApp 项目地图选型与Web-APP跨端迁移方案
前端·uni-app
匠测AI说5 小时前
Selenium 工作原理深度解析:从架构到实践
selenium·测试工具·架构
程序员杰哥6 小时前
依赖于第三方接口时,如何进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
2501_916007471 天前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
雾沉川1 天前
Wireshark v4.4.7.0 网络抓包工具安装与实操技术教程
网络·测试工具·wireshark
PedroQue991 天前
uni-app路由插件化:解锁高效开发新姿势
前端·uni-app
Q741_1471 天前
TcpDump 使用笔记
网络·c++·笔记·测试工具·tcpdump