小程序云开发正式支持CMS内容管理系统(上)
优采云 发布时间: 2021-06-22 21:11小程序云开发正式支持CMS内容管理系统(上)
近日,小程序云开发正式支持cms内容管理系统(点击查看)。我们以 Simple Mall 项目为例,帮助开发者更好地理解和应用该能力。
资源准备
在建造商场之前,您需要知道:
技术栈
开发工具
建议提前安装
需求分析
简单的商城功能包括:
多终端支持-跨平台
配置流程
1.微信开发者工具开启云开发,选择现收现付
如果您的环境是预付费的,请进入设置并将付款方式切换为现收现付。
2.安装cms系统
(1)最新版微信开发工具Nightly,点击云开发控制台,在顶部Tab栏点击“更多”-“内容管理”。
(2)点击激活,勾选协议点击确定。
(3)需要填写管理员账号才能开启内容管理,填写完账号后点击“确定”即可完成。
(4)打开扩展需要一些时间,请耐心等待。
(5)完成后点击“更多”-“内容管理”,可以看到内容管理的入口和相关信息。点击访问地址,可以在弹窗中配置内容管理。
3.登录cms系统并创建资源
CloudBasecms已经部署在当前环境下的静态网站托管中。访问地址格式如下: 云开发静态托管默认域名/部署路径,例如:
(末尾带有 / 符号)。默认域名可以在控制台查看。
打开CloudBasecms后,需要先登录。账号密码为安装时设置的管理员账号和密码。
在开始管理内容数据之前,我们需要先创建一个项目。 CloudBasecms使用item对不同类型的内容进行分类,便于区分内容数据的用途和管理权限。
首先,我们需要点击新建项目下的Create New Project按钮,创建一个名为small shop的项目,ID为shop。
创建项目后,点击项目卡片,进入项目管理页面,我们会看到项目欢迎页面。
创建产品类型和管理产品信息:
创建一个名为commodity的内容模型,数据库名为goods,表示商品数据会存储在商品数据集合中。如果创建内容时指定的集合不存在,CloudBasecms会自动创建一个新的集合。
创建内容模型后,我们会得到一个空的内容模型。
接下来需要为产品添加产品名称、产品图片、价格、库存数量等字段。
给商品添加商品名称属性时,由于商品名称通常是比较短的文字,可以选择单行字符串字段,点击右侧的单行字符串卡片,填写商品名称字段信息。
除了基本名称和数据库字段名称外,还可以对这个字段添加其他限制,比如填写产品名称时限制最大长度,创建产品时是否需要填写等.
同样,我们可以创建数字价格字段、库存数量和图像类型的产品图像字段。创建图片字段时,考虑到商品可能有多张图片,我们可以打开“允许多张内容”按钮,表示可以上传多张图片。
创建的商品数据库集合结构如下:
同上,同样创建一个名为order list的内容模型和一个名为order的数据库集合来管理订单信息。创建的订单数据库集合结构如下:
添加产品:
创建项目
1、拉取模板
# 安装 taro cli 工具
npm install -g @tarojs/cli@2.2.7
# 拉取模板
git clone https://github.com/TencentCloudBase/cloudbase-minishop.git
使用微信开发者工具导入项目,进入客户端目录,安装依赖:
npm i
项目目录cloud/functions收录了两个为微信支付编写的云函数,pay以及接收支付消息推送的pay-callback云函数。使用微信开发者工具上传这两个云功能。
2、项目目录
.
├── client // 小程序源码
│ ├── config
│ └── src
│ ├── assets
│ ├── components
│ └── pages
│ ├── index
│ └── order-list
└── cloud // 云开发相关源码
│ └── functions
│ ├── pay
│ └── pay-callback
├── cloudbaserc.json // 云开发配置
├── project.config.json // 小程序配置
拨打微信支付下单
项目创建完成后,使用云开发调用微信支付能力实现商城下单流程。
const cloud = require("wx-server-sdk");
const res = await cloud.cloudPay.unifiedOrder({
envId: '',
subMchId: '',
body: "商品名",
totalFee: 100,
outTradeNo: '订单号',
spbillCreateIp: "127.0.0.1",
functionName: "pay-callback"
});
// 返回 res.payment
支付结果回调的云函数必须返回如下对象,否则视为回调不成功,云函数会收到重复的支付回调。
{
errcode: '',
errmsg: '',
}
wx.requestPayment({
...payment,
success (res) { },
fail (res) { }tt
})https://docs.cloudbase.net/
产品介绍
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生集成开发环境和工具平台,为开发者提供高可用、自动、弹性伸缩的后端云服务,包括计算、存储、托管、等。Serverless能力可用于开发多种集成在云端的终端应用(小程序、公众号、Web应用、Flutter客户端等),帮助开发者在云端构建和管理后端服务和云资源。统一方式,避免应用开发过程繁琐的服务器搭建和运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
开放云开发:
产品文档:
技术文档:
技术交流加Q群:601134960