uniapp(uncloud) 使用生态开发接口详情5(云公共模块)

1.uniCloud官网 云对象中云公共模块: 网站:

https://uniapp.dcloud.net.cn/uniCloud/cf-common.html

javascript 复制代码
// 官网介绍
cloudfunctions
  ├─common // 云函数公用模块目录
  |  └─hello-common // 云函数公用模块
  |     ├─package.json
  |     └─index.js // 公用模块代码,可以不使用index.js,修改 package.json 内的 main 字段可以指定此文件名
  └─use-common // 使用公用模块的云函数
     ├─package.json // 在 use-common 目录执行 npm init -y 生成
     └─index.js // 云函数入口文件
  1. 在 common 新建 demo 公共模块
javascript 复制代码
// demo => index.js
function getMessage(str) {
	let msg = {
		"success": "查询成功",
		"noSuccess": "查询失败",
		"requried": "缺少参数"
	}
	return msg[str]
}

function getCode(code) {
	let codeObj = {
		200: 200, // "查询成功",
		404: 404 // 找不到路径
	}
	return codeObj[code]
}

function usrReslut(code, msg, data, total) {
	return {
		errCode: getCode(code),
		errMsg: getMessage(msg),
		data: data,
		total: total
	}
}
module.exports = {
	getMessage,
	getCode,
	usrReslut
}
  1. 点击demo 目录, 上传公共模块
  2. 使用公共模块
javascript 复制代码
const db = uniCloud.database()
// 1. 引入
const {
	getMessage,
	getCode,
	usrReslut
} = require("demo")

module.exports = {
	_before: function() { // 通用预处理器
		const body = this.getHttpInfo().body
		if (!body) {
			throw new usrReslut(400, "requried")
		}
		this.params = JSON.parse(this.getHttpInfo().body)
		this.startTime = Date.now()
	},

	async get() {
		let {
			num
		} = this.params
		if (num == null) throw new usrReslut(400, "requried")

		const res = await db.collection("sy_product_nav").limit(num).get()
		// let result = {
		// 	errCode: getCode(0),
		// 	errMsg: getMessage("noSuccess"),
		// 	data: res.data
		// }
		// return result
		// 使用之后,保存文件,再上传部署
		return  usrReslut(200, "success", res.data, 0)
	},

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

		return result
	}

}
  1. 在postman中, 使用之前的接口请求, 结果返回ok, 最后是根据自己的需求制定接口
相关推荐
三声三视19 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
小徐_23331 天前
Open Wot 1.0.5 发布:让 AI 接入 wot-ui,只需要两条命令
前端·uni-app·ai编程
AI多Agent协作实战派1 天前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
小杨小杨、努力变强!1 天前
VS Code运行HBuilder X中的uni-app项目
vscode·uni-app·uni-app run
码兄科技2 天前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app
2501_916007472 天前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
2501_916007473 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
小徐_23333 天前
AI 写 wot-ui 总在猜 API?我们把 Skills、MCP 和 CLI 都配好了
前端·uni-app·ai编程
Liu.7743 天前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
小徐_23334 天前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app