uniapp(uncloud) 使用生态开发接口详情3(新增产品分类,产品列表,新闻列表)

我的想法是有产品分类,产品列表,新闻咨询,新闻列表

  1. 项目中, uniCloud => database 目录下新建 sy_product_nav.schema.json
javascript 复制代码
// 代码如下
{
	"bsonType": "object",
	"required": ["classname"],
	"permission": {
		"read": false,
		"create": false,
		"update": false,
		"delete": false
	},
	"properties": {
		"_id": {
			"description": "ID,系统自动生成"
		},
		"classname":{
			"title": "名称",
			"description": "请输入产品名称",
			"bsonType": "string"
		},
		"orderid":{
			"title": "排序",
			"description": "产品排序",
			"bsonType": "int"
		},
		"icon":{
			"title": "图标",
			"bsonType": "file"
		},
		"state":{
			"title": "状态",
			"bsonType": "bool",
			"defaultValue": true
		},
		"createTime":{
			"title": "创建时间",
			"bsonType": "timestamp",
			"forceDefaultValue":{
				"$env": "now"
			}
		},
		"updateTime":{
			"title": "创建时间",
			"bsonType": "timestamp",
			"forceDefaultValue":{
				"$env": "now"
			}
		}
	}
}
  1. schema2code 生成页面, 运行项目,在浏览器中, http://localhost:8080/admin/#/pages/sy_product_nav/list, 点击新增

  2. 新建一个产品中心, 一级目录

  3. 在产品中心新增子目录, 产品中分类

  4. 刷新页面,就出现了

  5. 新增几个产品, 产品分类就完成了

  6. 下面是产品列表了, database下面新建 sy_product_list

javascript 复制代码
// 文档教程: https://uniapp.dcloud.net.cn/uniCloud/schema
// 文档教程: https://uniapp.dcloud.net.cn/uniCloud/schema
{
	"bsonType": "object",
	"required": ["title"],
	"permission": {
		"read": false,
		"create": false,
		"update": false,
		"delete": false
	},
	"properties": {
		"_id": {
			"description": "ID,系统自动生成"
		},
		"title": {
			"title": "名称",
			"description": "请输入产品名称",
			"bsonType": "string"
		},
		"navid": {
			"title": "产品分类",
			"bsonType": "string",
			"description": "所属产品分类",
			"foreignKey": "sy_product_nav._id",
			"enum": {
				"collection": "sy_product_nav",
				"field": " classname as text, _id as value"
			}
		},
		"orderid": {
			"title": "排序",
			"trim": "both",
			"bsonType": "int"
		},
		"img": {
			"title": "产品图",
			"bsonType": "file"
		},
		"pirce": {
			"title": "价格",
			"trim": "both",
			"bsonType": "string"
		},
		"weight": {
			"title": "重量",
			"trim": "both",
			"bsonType": "string"
		},
		"describe": {
			"title": "描述",
			"trim": "both",
			"bsonType": "string"
		},
		"check": {
			"title": "状态",
			"bsonType": "bool",
			"defaultValue": true,
			"description": "显示状态, ture是显示,false是隐藏",
			"enum": [{
					"value": true,
					"text": "显示"
				},
				{
					"value": false,
					"text": "隐藏"
				}
			]
		},
		"createTime": {
			"title": "创建时间",
			"bsonType": "timestamp",
			"forceDefaultValue": {
				"$env": "now"
			}
		}
	}
}
  1. 同样是 schema2code 创建页面, 在浏览器, 产品中心新增子目录, 产品列表,创建之后,刷新页面,就出来了

  2. 然后新增几个产品,

  3. 创建新闻列表, 看一下文章schema,用系统的,稍微该改一改, schema2code 生产页面,

javascript 复制代码
{
	"bsonType": "object",
	"required": [
		"title",
		"content"
	],
	"permission": {
		"read": true,
		"create": "auth.uid != null",
		"update": "doc.user_id == auth.uid",
		"delete": "doc.user_id == auth.uid"
	},
	"properties": {
		"_id": {
			"description": "存储文档 ID(用户 ID),系统自动生成"
		},

		"title": {
			"bsonType": "string",
			"title": "标题",
			"description": "标题",
			"label": "标题",
			"trim": "both"
		},
		"author": {
			"bsonType": "string",
			"title": "作者",
			"label": "作者",
			"description": "请输入作者",
			"trim": "both"
		},
		"avatar": {
			"bsonType": "file",
			"title": "封面大图",
			"description": "缩略图地址",
			"label": "封面大图",
			"trim": "both"
		},
		"content": {
			"bsonType": "string",
			"title": "文章内容",
			"description": "文章内容",
			"label": "文章内容",
			"trim": "right"
		},

		"view_count": {
			"bsonType": "int",
			"title": "阅读数量",
			"description": "阅读数量",
			"defaultValue": 60
		},
		"is_essence": {
			"bsonType": "bool",
			"title": "推荐",
			"description": "是否推荐该篇文章"

		},
		"publish_date": {
			"bsonType": "timestamp",
			"title": "发表时间",
			"description": "发表时间",
			"defaultValue": {
				"$env": "now"
			}
		},

		"article_status": {
			"bsonType": "int",
			"title": "状态",
			"description": "文章状态:0 草稿箱 1 已发布",
			"defaultValue": 1,
			"enum": [{
					"value": 0,
					"text": "草稿箱"
				},
				{
					"value": 1,
					"text": "已发布"
				}
			]
		},
		"publish_ip": {
			"bsonType": "string",
			"title": "发布文章时IP地址",
			"description": "发表时 IP 地址",
			"forceDefaultValue": {
				"$env": "clientIP"
			}
		}

	},
	"version": "0.0.1"
}
  1. 浏览器中, 新增一级目录 新闻咨询, 同样加二级目录 新闻列表

相关推荐
Amewin5 小时前
在vue3+uniapp+vite中挂载全局属性方法
javascript·vue.js·uni-app
2501_9151063214 小时前
App HTTPS 抓包 工程化排查与工具组合实战
网络协议·ios·小程序·https·uni-app·php·iphone
dcloud_jibinbin15 小时前
【uniapp】小程序体积优化,分包异步化
前端·vue.js·webpack·性能优化·微信小程序·uni-app
2501_9160088916 小时前
金融类 App 加密加固方法,多工具组合的工程化实践(金融级别/IPA 加固/无源码落地/Ipa Guard + 流水线)
android·ios·金融·小程序·uni-app·iphone·webview
2501_9159214316 小时前
Fastlane 结合 开心上架(Appuploader)命令行版本实现跨平台上传发布 iOS App 免 Mac 自动化上架实战全解析
android·macos·ios·小程序·uni-app·自动化·iphone
游戏开发爱好者818 小时前
iOS 上架要求全解析,App Store 审核标准、开发者准备事项与开心上架(Appuploader)跨平台免 Mac 实战指南
android·macos·ios·小程序·uni-app·iphone·webview
00后程序员张19 小时前
混淆 iOS 类名与变量名的实战指南,多工具组合把混淆做成工程能力(混淆 iOS 类名变量名/IPA 成品混淆Ipa/Guard CLI 实操)
android·ios·小程序·https·uni-app·iphone·webview
2501_916007471 天前
iOS文件管理工具深度剖析,从系统沙盒到跨平台文件操作的多工具协同实践
android·macos·ios·小程序·uni-app·cocoa·iphone
shykevin1 天前
uni-app x开发商城系统,扩展组件uni-ui实现底部商品导航
uni-app
QuantumLeap丶1 天前
《uni-app跨平台开发完全指南》- 05 - 基础组件使用
vue.js·微信小程序·uni-app