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

news2025/3/12 19:48:30

1.uniCloud官网 云对象中云公共模块: 网站:
https://uniapp.dcloud.net.cn/uniCloud/cf-common.html

// 官网介绍
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 公共模块
// 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. 使用公共模块
    在这里插入图片描述
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, 最后是根据自己的需求制定接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BaiChuan2保姆级微调范例

前方干货预警:这可能是你能够找到的,最容易理解,最容易跑通的,适用于各种开源LLM模型的,同时支持多轮和单轮对话数据集的大模型高效微调范例。 我们构造了一个修改大模型自我认知的3轮对话的玩具数据集,使用…

Scrapy设置代理IP方法(超详细)

Scrapy是一个灵活且功能强大的网络爬虫框架,用于快速、高效地提取数据和爬取网页。在某些情况下,我们可能需要使用代理IP来应对网站的反爬机制、突破地理限制或保护爬虫的隐私。下面将介绍在Scrapy中设置代理IP的方法,以帮助您更好地应对这些…

PAM从入门到精通(六)

接前一篇文章:PAM从入门到精通(五) 本文参考: 《The Linux-PAM Application Developers Guide》 先再来重温一下PAM系统架构: 更加形象的形式: 五、主要函数详解 4. pam_get_item 概述: 获取…

YUV图片常见格式

YUV图像 1个亮度量Y2个色度量(UV) 兼容黑白电视 可以通过降低色度的采样率而不会对图像质量影响太大的操作,降低视频传输带宽 有很多格式,所以渲染的时候一定要写对,不然会有很多问题,比如花屏、绿屏 打包格式 一个像素点一…

SRE 的黄昏,平台工程的初晨

船停在港湾是最安全的,但这不是造船的目的 完成使命的 SRE 过去 10 年,SRE 完成了体系化保障系统稳定性的使命。但在这个过程中,SRE 也逐渐变成了庞大的组织。而 SRE 本身的定位是保障系统稳定性,许多时候会因为担心稳定性而减缓…

线性代数-Python-01:向量的基本运算 -手写Vector -学习numpy的基本用法

文章目录 代码目录结构Vector.py_globals.pymain_vector.pymain_numpy_vector.py 一、创建属于自己的向量1.1 在控制台测试__repr__和__str__方法1.2 创建实例测试代码 二、向量的基本运算2.1 加法2.2 数量乘法2.3 向量运算的基本性质2.4 零向量2.5 向量的长度2.6 单位向量2.7 …

Linux上Docker的安装以及作为非运维人员应当掌握哪些Docker命令

目录 前言 1、安装步骤 2、理解镜像和容器究竟是什么意思 2.1、为什么我们要知道什么是镜像,什么是容器? 2.2、什么是镜像? 2.3、什么是容器? 2.4、Docker在做什么? 2.5、什么是镜像仓库? 2、Dock…

ArkTS开发实践

声明式UI基本概念 应用界面是由一个个页面组成,ArkTS是由ArkUI框架提供,用于以声明式开发范式开发界面的语言。 声明式UI构建页面的过程,其实是组合组件的过程,声明式UI的思想,主要体现在两个方面: 描述U…

基于PHP的毕业生招聘管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

吃鸡战队都爱!KOTIN京天华盛定制主机值得拥有

开学季大促正在进行时,少不了来自KOTIN京天的关爱!称心满意的初秋,就来京天华盛官方旗舰店挑选一台心仪已久的电脑吧。准备入学的校友们和走过路过的游戏爱好者可千万不能错过了。 作为定制游戏电脑的行业佼佼者,KOTIN京天在各个价…

Android12之DRM架构(一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

视频太大怎么压缩变小?三分钟学会视频压缩

随着科技的不断发展,视频已经成为了我们日常生活中不可或缺的一部分,然而,大尺寸的视频文件常常会给我们带来诸多困扰,例如发送不便、存储空间不足等等,那么,如何将这些过大的视频文件压缩变小呢&#xff1…

公司如何防止源代码外泄,保护开发部门代码安全呢?

在智能制造业中,研发人员的开发环境,大多数采用c#开发语言svn 或c#git进行软件系统的开发,但是c#语言如何来防泄密保护呢?德人合科技针对于制造类企业制定了安全稳定的源代码防泄密方案,不影响员工的正常工作&#xff…

Vivado详细使用教程 | LED闪烁示例

文章目录 整体流程第一步:新建工程第二步:设计输入第三步:功能仿真第四步:分析与综合第五步:约束输入第六步:设计实现第七步:下载比特流 整体流程 打开软甲------>新建工程------->设计输…

0145 输入/输出(I/O)管理

目录 5.输入/输出(I/O)管理 5.1I/O管理概述 5.2设备独立性软件 5.3磁盘和固态硬盘 部分习题 5.输入/输出(I/O)管理 5.1I/O管理概述 5.2设备独立性软件 5.3磁盘和固态硬盘 部分习题 1.虚拟设备是指()…

C语言从入门到高级

C语言是“编程语言之首”(很多人学习的第一门编程语言),学好一门编程语言需要明确其学习路径,下面分享下我的学习路径,希望对您有所帮助。 一、C语言入门 (1)C语言概述 (2&#x…

tomcat动静分离

1.七层代理动静分离 nginx代理服务器:192.168.233.61 代理又是静态 tomcat1:192.168.233.71 tomcat2:192.168.233.72 全部关闭防火墙 在http模块里面 tomcat1,2 删除上面的hostname 148 配置 直接访问 http://192.168.66.17/index.jsp 2.四层七层动…

太好上手了!10款常用的可视化工具你一定要知道!

当谈到可视化工具时,有许多常用的工具可供选择。这些工具可以帮助我们将数据转化为易于理解和具有视觉吸引力的图表、图形和仪表板。 以下是10款常用的可视化工具,它们在不同领域和用途中广泛使用。 1. Datainside: Datainside是一款功能强…

在线课堂小程序源码系统+在线考试+在线刷题三合一 带完整搭建教程

目前,教育行业也逐渐向数字化和智能化转型。而在线课堂在线考试在线刷题三合一小程序源码系统集课程学习、考试测验和在线刷题于一体,具有方便快捷、准确高效和使用体验好的优点。对于学校和教育机构来说,这款系统可以有效提升教学质量和效率…

聊聊分布式架构07-[Spring]IoC和AOP

目录 Spring IoC IoC的设计与实现 简单容器BeanFactory 高级容器ApplicationContext IoC容器工作过程 Spring AOP 简单的Spring AOP示例 Spring IoC IoC(Inversion of Control): IoC是一种设计原则,它反转了传统的控制流。…