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


    wangeditor 官网: https://www.wangeditor.com/v4/pages/01-%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8/01-%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html
    这里用vue2版本,用wangeditor 4
    终端命令: npm i wangeditor --save

    1. 开始使用
      在项目pages => sy_news => add.vue 页面中
    <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
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    1. 运行项目,浏览器中刷新页面,新增页面, 内容变成我们需要的富文本了,
    2. 修改(edit)界面同样的代码, 不过不同是
    <uni-forms-item name="content" label="文章内容" required>
    	<div id="div1">
    		<div v-html="formData.content"></div>
    	</div>
    </uni-forms-item>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 上面都是添加数据,接下来进入写接口了,
      项目 => uniCloud-aliyun => 新建函数或者云对象
      在这里插入图片描述
    // 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
    	},
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

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

    getList()
    
    • 1

    4.2 保存一下, 点击demoObj 目录, 右键, 运行本地云对象, 终端打印的
    在这里插入图片描述
    5. 如果带参数怎么弄?

    // 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
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    // demoObj.param.js
    get({
    	num: 2
    })
    
    • 1
    • 2
    • 3
    • 4

    在运行ok, 这都是本地运行的,
    6. 接下来将 demoObj 右键 , 上传部署, 用postman请求数据
    6.1 打开 uniCloud Web 控制台
    6.2 云函数/云对象 => 函数/对象列表 (找到demoObj, 点击详情)
    6.3 点击编辑, 输入 /demoObj
    在这里插入图片描述
    6.4 确定, 在点击(复制路径),到postman里面,改为post请求,
    在这里插入图片描述
    7. 如在postman 里面带参数, uniCloud 中 云对象 一个 getHttpInfo 的API

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    在这里插入图片描述

  • 相关阅读:
    html5新增_canvas
    2022年第四届大数据与计算国际研讨会(WBDC 2022)
    Antv/G2 分组柱状图+折线图双轴图表
    nRF52832——大量数据传输时导致蓝牙断开连接,且无法被搜索到的解决方案(广播参数的设置、程序设计方法)
    java面向对象之封装-抽象-继承-组合-多态五种概念一网打尽
    算法题-两数求和
    DASCTF X GFCTF 2022十月挑战赛 Writeup
    MODBUS-TCP转MODBUS-RTU通信应用(S7-1200和串口服务器通信)
    Ubuntu crontab 遇到的sh脚本一些问题(手动执行可以,自动执行不行)
    通过数组模拟理解队列、环形队列
  • 原文地址:https://blog.csdn.net/ybilss/article/details/133883332