小程序云开发正式支持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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线