uniCloud云开发及一键生成代码

news2024/12/25 23:57:58

uniapp云开发(云数据库)

准备工作

一、新建项目选择云开发

在这里插入图片描述在这里插入图片描述在这里插入图片描述关联云函数
在这里插入图片描述在cloudfouctions右键点击创建云函数
在这里插入图片描述在这里插入图片描述在base下的index.js中写入

'use strict';
exports.main = async (event, context) => {
	//event为客户端上传的参数
	console.log('event : ', event)
	
	//返回数据给客户端
	return {...event,msg:"你好云对象"}
};

在这里插入图片描述

上传部署
在这里插入图片描述在page下的index.vue页面调用

<template>
	<view class="content">
		<button @click="call">呼叫服务器</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
			}
		},
		onLoad() {

		},
		methods: {
			call() {
				uniCloud.callFunction({
						name: "base",
						data: {
							name: "mumu",
							age: 18
						}
					})
					.then(res => {
						uni.showModal({
							content: JSON.stringify(res.result)
						})
					})
					.catch(err => {
						console.log(err);
					})
			}
		}
	}
</script>

新建数据库的文件

在这里插入图片描述
添加数据库记录
在这里插入图片描述表结构
在这里插入图片描述下载表结构(可选)
在这里插入图片描述运行项目连接云函数
在这里插入图片描述

在前端展示数据库文件

在这里插入图片描述在这里插入图片描述提前引入uni-ui插件
这段代码通过id删除数据库数据
@longpress.native="$refs.udb.remove(item._id)"

<template>
	<view class="content">
		<button @click="call">呼叫服务器</button>
		<navigator url="/pages/add/add">添加</navigator>
		<!-- udb -->
		<unicloud-db ref="udb" v-slot:default="{data, loading, error, options}" collection="concat">
			<view v-if="error">{{error.message}}</view>
			<view v-else>
				<!-- ulist(uni-ui先导入) -->
				<uni-list>
					<uni-list-item link :to="'/pages/update/update?item='+JSON.stringify(item)"
						@longpress.native="$refs.udb.remove(item._id)" v-for="item in data" :key="item._id"
						:title="item.username" :note="item.tel"></uni-list-item>
				</uni-list>
			</view>
		</unicloud-db>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		onLoad() {
		},
		onShow() {
			if (this.$refs&&this.$refs.udb) {
				this.$refs.udb.refresh();
			}
		},
		methods: {
			call() {
				uniCloud.callFunction({
						name: "base",
						data: {
							name: "mumu",
							age: 18
						}
					})
					.then(res => {
						uni.showModal({
							content: JSON.stringify(res.result)
						})
					})
					.catch(err => {
						console.log(err);
					})
			}
		}
	}
</script>
<style>
</style>

在数据库中添加数据

新建add页面

<template>
	<view>
		<uni-easyinput v-model="item.username" placeholder="用户名" />
		<uni-easyinput v-model="item.tel" placeholder="电话" />
		<button @click="addConcat">添加</button>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				item:{
					username:"",
					tel:"",
				}
			}
		},
		methods: {
			addConcat(){
				//数据库
				var db = uniCloud.database();
				//获取表
				db.collection("concat")
				//执行添加
				.add(this.item)
				//成功
				.then(res=>{
					uni.showToast({
						title:"添加成功"
					})
				})
			}
		}
	}
</script>

在数据库中更新数据

新建update文件

<template>
	<view>
		<uni-easyinput v-model="item.username" placeholder="用户名" />
		<uni-easyinput v-model="item.tel" placeholder="电话" />
		<button @click="updateConcat">更新</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				item:{
					username:"",
					tel:""
				}
			}
		},
		onLoad(option) {
			this.item = JSON.parse(option.item)
		},
		methods: {
			updateConcat(){
				//获取item
				var item = {...this.item};
				//删除id
				delete item._id;
				const db = uniCloud.database();
				//获取数据库
					db.collection("concat")
					.doc(this.item._id) //查询一条
					.update(item)
					.then(res => {
						uni.showToast({
							title:"更新成功"
						})
						uni.navigateBack()
					})
					.catch(err => {
						uni.showModal({
							title:JSON.stringify(err)
						})
						uni.navigateBack()
					})
			}
		}
	}
</script>

在uniapp中使用一键生成代码

首先跟上面一样创建项目,并关联云服务空间,打开云服务控制台,在云数据库中添加数据库表在这里插入图片描述

添加成功后在database上右键在这里插入图片描述创建好后唯一需要修改的数据为pages下的opendb-contacts的
在这里插入图片描述在这里插入图片描述上面完成后右击database下的opendb-contacts-schema.json
在这里插入图片描述在这里插入图片描述在这里插入图片描述合并完成后重新运行文件

在代码中添加其他数据库模板

在新建数据库时可以选择
在这里插入图片描述创建完成后继续上部操作,下载

  • 下载所有DB Schema及扩展校验函数
    然后在默认的opendb-contacts-schema.json中添加字段
"nation":{
			"bsonType": "string",
			"title": "民族",
			"order": 2,
			"enum":{
				"collection": "opendb-nation-china",
				"field": "_id as value,name as text"
			},
			"foreignKey": "opendb-nation-china._id"
		},

如果添加地区字段,就在下面继续写入以下代码

"address":{
			"bsonType": "string",
			"title": "地区",
			"order": 2,
			"enum":{
				"collection": "opendb-city-china",
				"field": "code as value,name as text"
			},
			"foreignKey": "opendb-city-china.code",
			"enumType": "tree",
			"componentForEdit":{
				"name": "uni-data-picker"
			}
		},

添加成功后再在database下的opendb-contacts-schema.json文件上右键

  • 选择schema2code
    然后合并就可以了

结束

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

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

相关文章

PyG (PyTorch Geometric) 异质图神经网络HGNN

诸神缄默不语-个人CSDN博文目录 PyTorch Geometric (PyG) 包文档与官方代码示例学习笔记&#xff08;持续更新ing…&#xff09; 本文介绍使用PyG实现异质图神经网络&#xff08;HGNN&#xff09;的相关操作。 本文主要参考PyG文档异质图部分&#xff1a;Heterogeneous Graph…

Matplotlib可视化50图:气泡图(2)

导读 本文[1]将学习如何使用 Python 的 Matplotlib 库通过示例绘制气泡图。 简介 气泡图是散点图的改进版本。在散点图中&#xff0c;有两个维度 x 和 y。在气泡图中&#xff0c;存在三个维度 x、y 和 z。其中第三维 z 表示权重。这样&#xff0c;气泡图比二维散点图在视觉上提…

C语言 编译和链接

C语言 编译和链接引言翻译环境运行环境声明一、预定义符号二、#define 符号1. #define 定义标识符2. #define 定义宏宏带来的陷阱宏的两个特殊的使用场景① 使用 #&#xff0c;把一个宏参数变成对应的字符串② 使用 ##&#xff0c;将两个宏参数合并成一个符号宏参数的使用3. #d…

某度旋转验证码

案例地址:aHR0cHM6Ly96aXl1YW4uYmFpZHUuY29tL2xpbmtzdWJtaXQvdXJs 运行结果截图: 抓包分析, 整个流程如下 第一个包,提交参数是ak和时间戳(ak是定值) 返回的参数中,as和tk后面都会用到 点击提交,会弹出验证码,第二个包,请求参数的tk是第一个包返回的, ak同第一…

总算给女盆友讲明白了,如何使用stream流的filter()操作

一、引言 在上一篇文章中《这么简单&#xff0c;还不会使用java8 stream流的map()方法吗&#xff1f;》分享了使用stream的map()方法&#xff0c;不知道小伙伴还有印象吗&#xff0c;先来回顾下要点&#xff0c;map()方法是把一个流中的元素T转换为另外一个新流中的元素R&…

身边的那些信审人员都去哪了?

最近几天看到朋友圈很多信用卡审核中心的老同事&#xff08;老同学&#xff09;在秀到深圳9周年&#xff0c;在2013年的时候&#xff0c;大家都是一起通过校招来到了XX银行信用卡中心的信贷审批部&#xff0c;成为了信用卡人工审核员&#xff0c;那时候入职信贷审批部近百人&am…

这个算法不一般,控制拥塞有一手!

数字时代下&#xff0c;远程办公、线上协同成为刚需&#xff0c;直播带货等业务模式盛行&#xff0c;数据流量爆炸式增长&#xff0c;低时延、高流畅的网络传输诉求给数据中心的处理能力带来了极大挑战。RDMA作为一种新型网络传输技术&#xff0c;可大幅提升网络传输实效&#…

HTML期末学生大作业-节日网页作业html+css+javascript

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

详细总结快慢指针的在链表中的常见题型

常见快慢指针题型1.找出链表中间结点2.找到倒数第K个结点3.判断环形链表4.找到环形链表的入口&#xff08;进阶&#xff09;5.相交链表1.找出链表中间结点 双指针进阶解法 1.定义两个指针&#xff0c;一个快指针&#xff0c;一个慢指针。 2.快指着一次走两步&#xff0c;慢指针…

基于冲突搜索的多机器人路径规划(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 随着自动化物流系统的发展,移动机器人作为运输系统的关键工具,各方面的技术得到了快速的发展。多移动机器人路径规划是机器人导…

什么是单臂路由技术?

使用vlan trunk可以在同一交换机上划分vlan&#xff0c;从而相同vlan的主机可以通信&#xff0c;不同vlan不能通信&#xff0c;如果连接不同vlan的主机想要通信&#xff0c;怎么办&#xff1f; 不同vlan是属于不同广播域的&#xff0c;配置的是不同的IP网段&#xff0c;针对不…

Notepad++官网地址及使用十六进制查看文件的详细教程

目录 一、概述 二、Notepad官网地址 三、Notepad查看十六进制教程  3.1 在线安装HexEditor插件  3.2 手动安装HexEditor插件 一、概述 Notepad是一个开源的源代码编辑器和记事本替代品&#xff0c;支持多种编程语言和自然语言。在MS Windows环境下运行&#xff0c;它的使用受…

在线数据图表制作-FineReport文本控件

1. 概述 1.1 版本 报表服务器版本 App 版本 功能变更 11.0 -- -- 11.0.2 11.0.54 App支持文本控件 NFC 读卡输入 1.2 应用场景 1.2.1 填报控件 填报报表中可以通过该控件输入文本信息&#xff0c;录入填报的数据&#xff0c;如下图所示&#xff1a; 1.2.2 参数控件 …

51单片机APP GSM短信老人跌倒定位温度异常报警检测GPS地图

实践制作DIY- GC0088-跌倒定位温度异常报警 一、功能说明&#xff1a; 基于STM32单片机设计-跌倒定位温度异常报警 功能介绍&#xff1a; STC15W4K48S4&#xff08;或者STM32F103CxT6&#xff09;系列最小系统板OLED显示器SIM800 GSM短信模块1个DS18B20温度测量模块蜂鸣器AD…

我的世界杯 - 诸神黄昏之战

话说长这么大还是头一回主动的去看世界杯比赛... 小时候只是我爷爷他们喜欢看 【CCTV-5】 各种球的比赛&#xff0c;而我我对此毫无兴趣可言&#xff0c;每天只要有时间就沉醉在属于我的 【少儿频道】&#xff0c;喜羊羊、葫芦娃、红猫蓝兔、小娜扎... 而这次可能是因为朋友圈的…

Spring【Bean的作用域与生命周期】

Spring【Bean的作用域与生命周期】&#x1f34e;一.Bean作用域问题&#x1f352;1.1 被修改的 Bean 案例&#x1f352;1.2 原因分析&#x1f34e;二.作⽤域定义&#x1f352;2.1Bean 的 6 种作⽤域&#x1f349; 2.1.1singleton(单例作⽤域)&#x1f349; 2.1.2prototype(原型作…

微服务守护神-Sentinel-概念

引言 书接上篇 微服务应对雪崩的容错方案 &#xff0c;大概知道微服务容错方案可以从隔离、超时、限流、熔断、降级这几方面入手。好了&#xff0c;理论了解了&#xff0c;那代码落地方案&#xff1f;这是后本篇的主角要登陆场&#xff1a;Sentinel&#xff0c;微服务的守护神…

Xylan-MAL|木聚糖-马来酰亚胺|木聚糖-聚乙二醇-马来酰亚胺|马来酰亚胺-PEG-木聚糖

Xylan-MAL|木聚糖-马来酰亚胺|木聚糖-聚乙二醇-马来酰亚胺|马来酰亚胺-PEG-木聚糖 中文名称&#xff1a;木聚糖-马来酰亚胺 英文名称&#xff1a;Xylan-MAL 别称&#xff1a;马来酰亚胺修饰木聚糖&#xff0c;马来酰亚胺-木聚糖 存储条件&#xff1a;-20C&#xff0c;避光&…

编程初学者应该先学C++、Java还是Python?

语言推荐&#xff1a; 第一大类语言包括Java、C、Python和C. 这类语言都是非常通用的语言,它们并不局限于特定的编程平台或用途。(无疑问&#xff0c;你应该熟悉这四种语言。) 第二大类语言包括Java、C#、PHP和Swift。 Java 和PHP是主要的Web开发语言。C# 是微软的编程语言&…

总结《你不知道的JavaScript》三卷小记

先讲一些废话 三本小黄书&#xff0c;工作日都抽出半小时来看看&#xff0c;三本书加来一共700多页的样子。我拖拖延延看了三个月&#xff0c;终于看完了。然后现在抽出时间随便写点&#xff0c;我只是挑一些自己想总结的&#xff0c;给自己一个名词概念&#xff0c;好了废话就…