1. 课程背景1.1 课程目的 小程序·云开发是集成于小程序控制台的原生 serverless 云服务。核心功能包括:云存储、云数据库和云函数。小程序云开发解决了传统开发模式下开发效率低、资源投入高、产品上线慢和日常运维难等问题。图片存储,是所有应用开发里最常见的场景之一。本课程通过“个人小程序”开发实战。教你如何借助小程序·云开发能力,提升功能开发效率,提升数据隐私保护能力。 1.2 课前知识准备1.相关概念: - 微信小程序:微信小程序是一种不需要下载安装即可使用的应用,相比于传统网站或APP,小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生 APP 体验的服务。
- 小程序·云开发:云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
- 云函数:云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
- 数据库:云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
- 存储:云开发提供了一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云存储功能。
2.相关原理: - 相比于传统的开发模式,云开发提供了一整套云服务及简单、易用的 API 和管理界面,以尽可能降低后端开发成本,让开发者能够专注于核心业务逻辑的开发、尽可能轻松的完成后端的操作和管理,提升开发效率,快速试错和落地产品。
小程序·云开发
2. 实验环境2.1 实验操作环境本实验要求: - 运行Microsoft Windows,可以接入互联网的笔记本电脑或者台式机;
- Internet浏览器,例如Chrome、Firefox;
- 可用的邮箱账号以及手机微信号。
2.2 实验的数据规划表 | | | 邮箱
| 账号:XXX@XX 密码:XXXXXX
| 用于注册微信小程序
| 手机微信
| 账号:XXXXXX 密码:XXXXXX
| 用于注册小程序以及使用开发者工具
| 微信开发者工具
| 版本:Stable Build (1.02.1911180)
| 请使用当前实验版本或更高版本进行实验
| 3. 实验流程【实验流程图】 实验流程图
【实验流程介绍】 1.实验环境搭建。包括微信公众平台账号的注册、微信开发者工具的安装; 2.自定义小程序页面。包括开发者工具的简要说明、小程序demo的简要说明(以即时通讯Demo为例)、编写自定义小程序页面; 3.搭建个人相册小程序。包括云开发环境的搭建、登录功能代码的实现、图片的上传、存储以及删除功能的实现; 4.实验验证。包括访问微信小程序的方式说明以及小程序主体功能验证。 4.实验步骤4.1 任务1 实验环境搭建【任务目的】 实验环境搭建。任务包含: 1.注册微信公众平台账号,用于注册小程序; 2.下载安装微信开发者工具,用于开发小程序; 【任务步骤】 1.注册微信公众平台账号 - 首先进入微信公众平台官网,点击【立即注册】进入注册页面,选择注册的账号类型为【小程序】,然后进入到小程序注册页面。(完成注册后将在此页面进行登录)
微信公众平台
- 进入小程序注册页面后,需要完成【账号信息】-【邮箱激活】-【信息登记】共计三个步骤。按规则填写账号信息后点击【注册】进入邮箱激活页面。
账号信息
- 进入邮箱激活页面后,将会有一封账号激活邮件发送到注册所用的邮箱中。进入收件箱并点击收件箱的【链接】以激活账号,点击后将会自动跳转信息登记页面。
账号激活
- 主体信息登记页面中,按要求填写相应信息后点击【继续】完成微信公众平台账号注册。
- 需要注意的是主体信息登记内容为管理员身份信息,【身份证姓名】和【身份证号码】应与【管理员身份验证】(微信扫码)的实名信息保持一致。后续实验操作皆使用管理员账号或微信进行操作。
主体信息登记
- 返回微信公众平台官网,使用邮箱账号方式或微信扫码的方式【登录账号】,登录成功后效果图如下所示。(图中的【开发设置】将在任务2步骤中获取AppID时使用)
- 为保障账号安全,使用邮箱账号方式登录还需要使用手机微信扫码确认登录,同样的首次使用微信扫码也需要密码验证。
登录效果
2.下载并安装微信开发者工具 - 前往小程序开发者工具下载页面选择稳定版 Stable Build 中的【Windows 64】下载开发者工具,下载完成后双击运行即可开始安装。
- 安装完成后将在桌面创建一个【微信开发者工具】快捷方式,双击运行。运行成功后效果图如下所示:
小程序开发者工具
- 使用管理员微信账号扫码登录,登录效果如下图所示。
- 开发者工具默认页面中,左下角为当前登录账号,左侧栏为项目类型,右方主体区域为项目列表。点击【+】号图标即可新建小程序项目。当前无小程序项目,将在下一步中对小程序项目开发进行简易说明。
进入开发者工具
4.2 任务2 自定义小程序页面【任务目的】 自定义小程序页面,学习并了解小程序项目开发的基本流程。任务包含: 1.微信小程序开发者工具的简要说明; 2.小程序demo的简要说明(以即时通讯Demo为例); 3.编写自定义小程序页面。 【任务步骤】 1.开发者工具的简要说明 - 新建小程序项目。其中【项目名称】为自定义名称;【目录】为该小程序项目存放路径,演示所需,目录置于桌面,如下图所示;【AppID】需在之前登录的微信公众平台官网中获取;【开发模式】默认选择小程序;【后端服务】中默认为小程序·云开发,由于本实验需要用到云端服务器,不更改此项。设置完成后点击【新建】进入小程序代码编辑页面。
新建项目
- 获取AppID步骤说明:回到之前登录后的微信公众平台页面,在小程序发布流程-小程序开发与管理-配置服务器中点击【开发设置】链接进入设置页面,复制如下AppID(小程序ID)并填入新建项目页面中。
获取AppID
- 新建项目后默认界面如下图所示。
- 主页面内容,从上至下,从左到右,分别为:菜单栏、工具栏、模拟器、目录树、编辑区、调试器六大部分。
- 菜单栏主要涉及项目、文件以及界面等操作菜单选项;
- 工具栏主要为头像(个人中心)、界面显示设置以及代码开发辅助功能;
- 模拟器(左侧区域)用于模拟小程序在微信客户端中的实际界面;
- 目录树(中间区域)为项目文件目录,用于查看项目目录或文件;
- 编辑区(右侧区域)主要用于代码编写和查看,本实验主要的代码编写将在此区域进行;
- 调试器(下方区域)主要用于代码调试以及错误信息的输出。
界面说明
2.小程序demo的简要说明 新建小程序项目后将会默认创建一个demo(云开发 QuickStart),里面包含了一些小程序·云开发的的快速指引教程,根据内置教程进行操作可以快速了解相关开发步骤。以下将以即时通信Demo为例,演示如何根据即时通信Demo操作指引实现《实时数据推送》功能。 (注意事项:此步骤中演示即时通信Demo的主要目的是为了让用户了解云开发中数据库基础操作。如因模版时效性导致出现模版与本实验不一的问题,可通过下载本实验云开发 Quick Start模版,在上一步骤新建项目中选择“导入项目”的方式导入该模版以进行后续操作,更多内容也可以参考微信小程序官方文档《云开发能力》。) - 首先在模拟器区域点击【即时通信Demo】进入数据库指引界面,在此页面中可以看到详细操作流程,以下将进行详细说明。
- 第一步,需要进行的操作是“确认使用基础库为2.8.1” 。在工具栏右侧点击【详情】-【本地设置】即可查看或更改当前使用的调试基础库版本。
- 高版本的基础库无法兼容低版本的微信客户端,本实验中将使用2.8.1版本基础库,更多内容请查看小程序基础库说明。
基础库版本
- 第二步,进入云开发控制台的数据库管理页面。点击工具栏中的【云开发】打开云开发控制台。
相关介绍:即时通信Demo是通过云端服务器以提供《实时数据推送》功能,开发者可以使用云开发来开发微信小程序而无需搭建服务器。此项功能中因为需要存储用户身份信息以及聊天数据,故还需要用到云开发环境中的数据库,在第三步中将创建一个chatroom的集合以存储数据。 进入云开发控制台
- 首次使用小程序·云开发需要开通此项功能,依次点击【开通】-【确定】进行开通,此时将弹出环境设置页面。
- 填写【环境名称】后【环境ID】将会自动生成(你也可以根据实际需求更改为符合规定环境ID),然后点击【确定】进入云开发控制台。
环境设置
- 点击【数据库】图标进入数据库管理页面,完成第二步操作指引。
数据库管理页面
- 第三步,添加集合chatroom。点击集合名称右侧的【加号】图标,输入集合名称chatroom,然后点击【确定】完成集合添加操作。
添加集合
- 第四步,设置集合权限。在左侧可以看到已经创建chatroom集合,点击【权限设置】,勾选【所有用户可读,仅创建者可读写】。
设置权限
- 第五步,开启IDE增强编译。默认已经开启此项功能,可以前往工具栏【详情】-【本地设置】页面查看,如下图所示:
IDE增强编译
- 第六步,进入聊天室测试。为测试聊天效果,使用多账号进行测试。点击菜单栏【工具】-【多账号调试】,在弹出页面中勾选两个测试号,然后点击【确定】。
多账号测试
- 在弹出的两个测试号窗口中的模拟器区域,依次点击【即时通信Demo】-【进入聊天室】。点击下方【请先登录后参与聊天】登录按钮,然后点击【允许】即可开始聊天功能测试。
进入聊天室
- 测试效果如下图所示,测试账号发送信息功能正常,至此即时通信Demo演示完成。(下图展示的为测试账号2窗口)
- 需要注意的是,右边调试器中报错,报错信息为初始化openid失败,openid是用户唯一标识,作用相当于用户的身份证,在小程序中用于区分用户。在缺少openid的情况下并不能有效区分测试账号1和测试账号2,表现效果为对话都出现在左侧。
- 而出错的原因是因为 即时通信Demo代码中涉及到获取openid,此项功能在小程序首页中的点击获取openid中有实现。
测试效果
- 回到微信开发者工具(开发界面,非测试账号窗口),在小程序首页中点击【点击获取openid】进入部署云函数界面,根据左侧模拟器中教程进行操作。由于已经开通云开发环境,直接进行第二步操作指引,点击目录树中【cloudfunctions | album-demo】展开云函数目录列表,右键【login】,点击【上传并部署】以部署云函数。
部署云函数
- 部署成功后,点击左上角返回首页,重新【点击获取openid】,效果图如下所示:
获取openid
- 获取openid成功后,在测试账号2窗口,返回首页后再重新回到聊天室(【即时通信Demo】-【进入聊天室】),聊天室效果如下所示。
聊天室效果
- 学习小程序·云开发时根据此项目(云开发 QuickStart)按步骤说明快速入门,更多详情请参考小程序·云开发文档。
3.编写自定义小程序页面 前置知识:小程序的代码构成,小程序的代码由JSON配置、WXML模版、WXSS样式、JS逻辑交互共四部分构成。 JSON配置:一种数据格式,用于静态配置; WXML模版:类似HTML,用于页面描述与体现; WXSS样式:类似CSS,WXSS具备大部分CSS特性,用于编辑页面样式; JS逻辑交互:主要用于响应用户的操作,与用户进行交互。 - 新建页面。点击目录树中【miniprogram】-【app.json】,在右侧编辑区第2行后插入"pages/test/test",,然后使用ctrl+s以保存代码变更。
添加页面
- 保存完毕后,可以看到左侧模拟器页面发生变化,展开目录树中【pages】文件夹,出现了新增的【test】文件目录。到这一步,就已经完成了一个基本页面的添加,接下来本实验将通过页面基本编辑来介绍小程序页面构成。
相关介绍:app.json是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。而pages字段则用于描述当前小程序所有页面路径,第一条路径则会成为小程序默认首页,在pages后添加pages/test/test后将使新建test页面替换掉当前首页(index)。 页面效果
- 更改JSON配置以自定义页面标题。新增test页面完成后,我们还可以通过改动test.json配置来更改页面配置。
- 展开test目录,点击【test.json】,在右侧对test.json代码内容进行编辑,将代码替换为如下内容,然后使用ctrl+s以保存代码变更。
- {
- "usingComponents": {},
- "navigationBarTitleText": "test页面"
- }
复制代码更改标题
- 更改WXML代码以更改页面内容。在传统前端页面中更改页面显示需要更改HTML代码,在小程序中则是通过WXML来描述页面信息,页面的主体内容也在这里呈现。
- 仍在test目录下,点击【tset.wxml】,在右侧对test.wxml代码内容进行编辑,将代码替换为如下内容,然后使用ctrl+s以保存代码变更。
- <!--pages/test/test.wxml-->
- <!-- <text>pages/test/test.wxml</text> -->
- <text>hello,miniprogram</text>
复制代码
- 更改完成后,可以看到左侧模拟器区域的主体内容变为了我们自定义的内容信息,如下图所示。
更改页面内容
- 更改WXSS代码以更改文字样式。WXSS (WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式,决定WXML的组件显示方式。
- 仍在【test.wxml】中,在<text>后添加class="info",注意text与class中间存在空格,如下图所示。
更改样式1
- 然后仍在test目录下,点击【tset.wxss】,在右侧对test.wxss代码内容进行编辑,将代码替换为如下内容,然后使用ctrl+s以保存代码变更。
- /* pages/test/test.wxss */
- .info {
- font-size: 30px;
- font-weight: bold;
- }
复制代码
- 更改完成后,通过class类选择器使得文字样式发生了调整,如下图所示。
更改样式2
4.3 任务3 搭建个人相册小程序【任务目的】 学习并搭建个人相册小程序。任务包含: 1.云开发环境的搭建; 2.登录功能代码的实现; 3.图片的上传、存储以及删除功能的实现。 【任务步骤】 1.云开发环境的搭建 前置准备: - 点击下载小程序Demo压缩包,解压到桌面或指定目录。解压后(album文件夹)效果如下图所示。
个人相册小程序代码文件
- 然后在任务2小程序demo所处目录的“miniprogram”文件夹中(C:\Users\Administrator\demo\miniprogram),【删除】miniprogram里所有的文件夹(components、images、 pages、 style),保留app.js、app.json、app.wxss和sitemap.json。
- 并且将解压后album中的两个文件夹(images, pages)【复制】到miniprogram文件夹中。
导入代码
导入完成
- 前置准备完成后,回到小程序开发者工具中,原目录树已发生替换。在目录树中依次点击【miniprogram】-【app.json】,复制如下代码并替换app.json中代码内容。
相关介绍: pages为页面配置路径,window配置项为全局默认窗口表现,tabBar配置项是关于tab栏的表现,此处表现为顶部导航栏上的两个标题(相册、用户)。 - {
- "pages": [
- "pages/index/index",
- "pages/user/user",
- "pages/photos/add",
- "pages/photos/photos",
- "pages/album/add"
- ],
- "window": {
- "backgroundTextStyle": "light",
- "navigationBarBackgroundColor": "#fff",
- "navigationBarTitleText": "WeChat",
- "navigationBarTextStyle": "black"
- },
- "tabBar": {
- "position": "top",
- "selectedColor": "#fdc21c",
- "list": [
- {
- "pagePath": "pages/index/index",
- "text": "相册"
- },
- {
- "pagePath": "pages/user/user",
- "text": "用户"
- }
- ]
- },
- "cloud": true,
- "disableScroll": true,
- "sitemapLocation": "sitemap.json"
- }
复制代码- 替换完成后,使用ctrl+S保存代码变更。完成后效果如下图所示。
app.json配置
- 仍在miniprogram目录下,点击【app.wxss】,复制如下代码并替换app.wxss中代码内容。替换完成后,使用ctrl+S保存代码变更。
- /**app.wxss**/
- .container {
- height: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
- padding: 200rpx 0;
- box-sizing: border-box;
- }
复制代码
更改样式
- 由于本实验需要用到数据库存储用户信息以及相册照片,需要创建一个新的集合,首先点击工具栏【云开发】进入云开发控制台,然后点击【数据库】进入数据库管理页面,新建一个名为user的集合,如下图所示,完成后左侧集合名称中新增user集合。
创建集合
- 仍在云开发控制台中,点击【设置】,提前复制好【环境ID】。(环境ID用于指定相册等资源的上传云端环境)
环境ID
- 回到微信开发者工具,点击目录树中的【app.js】进入代码编辑,复制如下代码并替换app.js中代码内容,同时将env中引号内容替换为之前复制的环境ID。替换完成后,使用ctrl+S保存代码变更。
相关代码介绍: 初始化云函数代码块:用于指定相册等资源的上传云端环境; 获取用户信息代码块:在用户没有登录时跳转至登录界面(pages/user/user)引导用户登录,已经登录的情况下则直接获取用户头像昵称信息。 - //app.js
- App({
- onLaunch() {
- // 初始化云函数
- wx.cloud.init({
- env: '替换此项为之前复制的环境ID',
- traceUser: true
- })
- // 获取用户信息
- wx.getSetting({
- success: res => {
- if (res.authSetting['scope.userInfo']) {
- // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
- wx.getUserInfo({
- success: res => {
- this.globalData.userInfo = res.userInfo
- // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
- // 所以此处加入 callback 以防止这种情况
- if (this.userInfoReadyCallback) {
- this.userInfoReadyCallback(res)
- }
- }
- })
- } else {
- // 跳转登录页面让用户登录
- wx.switchTab({ url: 'pages/user/user' })
- }
- }
- })
- },
- globalData: {
- hasUser: false, // 数据库中是否有用户
- hasUserInfo: false, // 小程序的userInfo是否有获取
- userInfo: null,
- checkResult: null,
- code: null,
- openId: null,
- flag: 0,
- nickName: '',
- allData: {
- albums: []
- },
- id: null
- }
- })
复制代码app.js
2.登录功能代码的实现 - 仍在miniprogram目录下,依次点击【pages】-【user】-【user.js】进入代码编辑,复制如下代码并替换第65行addUser代码块内容。
相关代码介绍:在user.js文件onLoad函数中,首先判定的是云数据库中是否有当前用户信息,如果没有则调用getInfo函数获取当前用户信息,并通过addUser函数将新用户信息记录到云端服务器数据库中,在下次打开小程序时就无需登录即可获取用户信息。 - // 如果数据库没有此用户,则添加
- async addUser (user) {
- if (app.globalData.hasUser) {
- return
- }
- // 获取数据库实例
- const db = wx.cloud.database({})
- // 添加用户信息
- let result = await db.collection('user').add({
- data: {
- nickName: user.nickName,
- albums: []
- }
- })
- app.globalData.nickName = user.nickName
- app.globalData.id = result._id
- }
复制代码- 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更。
登录功能代码
- 此时相册登录功能已经完成,点击模拟器区域【用户】-【登录】,在弹出微信授权信息,点击【允许】便可以实现当前用户的登录。
登录验证
3.图片的上传、存储以及删除功能的实现 - 接下来继续实现图片的上传功能,将图片上传至云端服务器。依次点击【pages】-【photos】-【add.js】进入代码编辑,复制如下代码并替换65行处的uploadPhoto代码块。
- // 上传图片
- uploadPhoto (filePath) {
- // 调用wx.cloud.uploadFile上传文件
- return wx.cloud.uploadFile({
- cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`,
- filePath
- })
- },
复制代码
- 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更。
图片上传
- 仍在add.js文件中编辑,复制如下代码并替换第94行附近addPhotos代码块内容。
- // 添加图片信息到数据库
- addPhotos (photos, comment) {
- const db = wx.cloud.database()
- // 从全局数据中读出用户信息里的照片列表
- const oldPhotos = app.globalData.allData.albums[this.data.albumIndex].photos
- const albumPhotos = photos.map(photo => ({
- fileID: photo.fileID,
- comments: comment
- }))
- // 合并老照片的数组和新照片的数组
- app.globalData.allData.albums[this.data.albumIndex].photos = [...oldPhotos, ...albumPhotos]
- // 写入集合
- db.collection('user').doc(app.globalData.id).update({
- data: {
- albums: db.command.set(app.globalData.allData.albums)
- }
- }).then(result => {
- console.log('写入成功', result)
- wx.navigateBack()
- })
- }
复制代码
- 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更。
存储图片信息
图片上传的代码相关介绍:(下图为实际添加照片页面,将在实验验证中体现,以下只用来说明add.js代码中对应的功能) onLoad:获取相册的相关信息以便后续添加照片到当前相册; formSubmit:对应下图中的4,用于上传所选取的图片(uploadPhoto)并将图片位置信息(addPhotos)记录到数据库中; chooseImage:对应下图中的3,用于选取上传图片; uploadPhoto:上传图片到云存储中,在formSubmit提交表单中调用此函数; cancel:对应下图中的1,作用为点击改图标后,取消选择当前图片; addPhotos:文件上传后还需将图片位置信息添加到数据库中,在formSubmit提交表单中调用此函数。 代码说明
- 上传功能实现完成后,还需要继续实现图片的删除功能。依次点击【pages】-【photos】-【photo.js】进入代码编辑,复制如下代码并替换第44行deleteFile代码块内容。
相关代码介绍: longpress:长按图片后调用此函数,弹出删除照片按钮,确认后调用deleteFile以删除该图片; deleteFile:删除图片; saveImageDelele:将图片删除信息同步到云数据库中; getPhotos:查询数据库中的图片列表; previewImage:点击图片后预览当前图片。 - // 删除照片
- async deleteFile (idx) {
- const fileId = this.data.photoIds[idx]
- // 删除文件
- return wx.cloud.deleteFile({
- fileList: [fileId]
- }).then(res => {
- this.saveImageDelele(fileId)
- })
- },
复制代码- 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更,至此个人相册的基本功能全部完成,更多详情可以参照小程序demo中的注释查看相应代码内容。
图片删除
5. 实验验证1.访问微信个人相册小程序 - 搭建个人相册小程序完成后,可以直接在模拟器区域进行小程序调试,也可以在手机上访问小程序调试。
- 如下图所示,通过点击工具栏中的【预览】按钮,扫描生成的二维码可以直接在手机上访问搭建好的小程序。
小程序预览
- 同样的,点击工具栏【真机调试】按钮,也可以通过扫码进入调试,与预览方式不同的是真机远程调试功能会打开远程调试窗口(如下图所示),帮助开发者更好的定位和查找在手机上出现的问题。(右侧可以查看目前与手机和服务器的连接情况,以及发生的错误信息等)
真机调试
2.验证个人相册小程序主体功能 - 演示所需,本实验使用开发者工具自带的模拟器进行验证,用户可以根据实际需求进行真机调试。下面将在开发者工具中对小程序的主要功能(新建相册、图片上传以及图片删除)进行测试。
- 新建相册。点击导航栏【相册】前往相册管理页面,点击【相册】图标,输入【相册名】(本实验相册名为我的相册),然后点击【提交】以添加相册,添加相册完成后效果如下图所示。
新建相册
- 上传图片。点击上步骤中刚创建的【我的相册】进入该相册。进入后,点击【照片】图标进入添加照片页面,输入备注信息(此步骤非必须)后,点击【+】图标选择本地照片,选择完成后点击【提交】以添加图片到相册。
- 在添加照片页面(下图中间区域所示),也可以点击蓝框中的【x】图标以测试“取消该照片”功能。下图右侧区域为添加两张图片后效果。
上传图片
- 删除图片。在相册中【长按】上传的图片,点击弹出的【删除照片】按钮即可实现图片的删除,删除效果如下图所示。
删除图片
6. FAQQ1: 在实验验证真机调试中为什么显示暂无体验权限? A:这是由于所用的微信账号并没有开发版测试权限造成的,请使用开发时的管理员账号微信扫码进行功能测试。或者你也可以将其它微信账号添加为开发人员,详情请参考小程序成员管理。 Q2:云开发中的基础配额是指什么? A:小程序·云开发由腾讯云 TCB 提供存储和计算服务,而基础配额是云开发各类资源配额中的基础版配额方案,开通云开发环境后默认为基础配额,如需更改请进行配额调整。 7. 注意事项如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。
|