30分钟搭建个人相册小程序实战教程

[复制链接]
查看: 202|回复: 0

11

主题

11

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2020-12-14 12:17:47 | 显示全部楼层 |阅读模式
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以保存代码变更。
  1. {
  2.   "usingComponents": {},
  3.   "navigationBarTitleText": "test页面"
  4. }
复制代码
  • 左侧区域标题变为test页面。
更改标题

  • 更改WXML代码以更改页面内容。在传统前端页面中更改页面显示需要更改HTML代码,在小程序中则是通过WXML来描述页面信息,页面的主体内容也在这里呈现。
  • 仍在test目录下,点击【tset.wxml】,在右侧对test.wxml代码内容进行编辑,将代码替换为如下内容,然后使用ctrl+s以保存代码变更。
    1. <!--pages/test/test.wxml-->
    2. <!-- <text>pages/test/test.wxml</text> -->
    3. <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以保存代码变更。
    1. /* pages/test/test.wxss */
    2. .info {
    3.   font-size: 30px;
    4.   font-weight: bold;
    5. }
    复制代码

  • 更改完成后,通过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栏的表现,此处表现为顶部导航栏上的两个标题(相册、用户)。
  1. {
  2.   "pages": [
  3.     "pages/index/index",
  4.     "pages/user/user",
  5.     "pages/photos/add",
  6.     "pages/photos/photos",
  7.     "pages/album/add"
  8.   ],
  9.   "window": {
  10.     "backgroundTextStyle": "light",
  11.     "navigationBarBackgroundColor": "#fff",
  12.     "navigationBarTitleText": "WeChat",
  13.     "navigationBarTextStyle": "black"
  14.   },
  15.   "tabBar": {
  16.     "position": "top",
  17.     "selectedColor": "#fdc21c",
  18.     "list": [
  19.       {
  20.         "pagePath": "pages/index/index",
  21.         "text": "相册"
  22.       },
  23.       {
  24.         "pagePath": "pages/user/user",
  25.         "text": "用户"
  26.       }
  27.     ]
  28.   },
  29.   "cloud": true,
  30.   "disableScroll": true,
  31.   "sitemapLocation": "sitemap.json"
  32. }
复制代码
  • 替换完成后,使用ctrl+S保存代码变更。完成后效果如下图所示。
app.json配置

  • 仍在miniprogram目录下,点击【app.wxss】,复制如下代码并替换app.wxss中代码内容。替换完成后,使用ctrl+S保存代码变更。
    1. /**app.wxss**/
    2. .container {
    3.     height: 100%;
    4.     display: flex;
    5.     flex-direction: column;
    6.     align-items: center;
    7.     justify-content: space-between;
    8.     padding: 200rpx 0;
    9.     box-sizing: border-box;
    10. }
    复制代码

  • 替换完成后效果图如下所示,登录样式效果完成。
更改样式

  • 由于本实验需要用到数据库存储用户信息以及相册照片,需要创建一个新的集合,首先点击工具栏【云开发】进入云开发控制台,然后点击【数据库】进入数据库管理页面,新建一个名为user的集合,如下图所示,完成后左侧集合名称中新增user集合。
创建集合

  • 仍在云开发控制台中,点击【设置】,提前复制好【环境ID】。(环境ID用于指定相册等资源的上传云端环境)
环境ID

  • 回到微信开发者工具,点击目录树中的【app.js】进入代码编辑,复制如下代码并替换app.js中代码内容,同时将env中引号内容替换为之前复制的环境ID。替换完成后,使用ctrl+S保存代码变更。
相关代码介绍
初始化云函数代码块:用于指定相册等资源的上传云端环境;
获取用户信息代码块:在用户没有登录时跳转至登录界面(pages/user/user)引导用户登录,已经登录的情况下则直接获取用户头像昵称信息。
  1. //app.js
  2. App({
  3.   onLaunch() {
  4.     // 初始化云函数
  5.     wx.cloud.init({
  6.       env: '替换此项为之前复制的环境ID',
  7.       traceUser: true
  8.     })

  9.     // 获取用户信息
  10.     wx.getSetting({
  11.       success: res => {
  12.         if (res.authSetting['scope.userInfo']) {
  13.           // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  14.           wx.getUserInfo({
  15.             success: res => {
  16.               this.globalData.userInfo = res.userInfo

  17.               // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  18.               // 所以此处加入 callback 以防止这种情况
  19.               if (this.userInfoReadyCallback) {
  20.                 this.userInfoReadyCallback(res)
  21.               }
  22.             }
  23.           })
  24.         } else {
  25.           // 跳转登录页面让用户登录
  26.           wx.switchTab({ url: 'pages/user/user' })
  27.         }
  28.       }
  29.     })
  30.   },

  31.   globalData: {
  32.     hasUser: false, // 数据库中是否有用户
  33.     hasUserInfo: false, // 小程序的userInfo是否有获取
  34.     userInfo: null,
  35.     checkResult: null,
  36.     code: null,
  37.     openId: null,
  38.     flag: 0,
  39.     nickName: '',
  40.     allData: {
  41.       albums: []
  42.     },
  43.     id: null
  44.   }
  45. })
复制代码
  • 替换完成后效果如下所示。
app.js

2.登录功能代码的实现
  • 仍在miniprogram目录下,依次点击【pages】-【user】-【user.js】进入代码编辑,复制如下代码并替换第65行addUser代码块内容。
相关代码介绍:在user.js文件onLoad函数中,首先判定的是云数据库中是否有当前用户信息,如果没有则调用getInfo函数获取当前用户信息,并通过addUser函数将新用户信息记录到云端服务器数据库中,在下次打开小程序时就无需登录即可获取用户信息。
  1. // 如果数据库没有此用户,则添加
  2. async addUser (user) {
  3.     if (app.globalData.hasUser) {
  4.         return
  5.     }

  6.     // 获取数据库实例
  7.     const db = wx.cloud.database({})

  8.     // 添加用户信息
  9.     let result = await db.collection('user').add({
  10.       data: {
  11.         nickName: user.nickName,
  12.         albums: []
  13.       }
  14.     })

  15.     app.globalData.nickName = user.nickName
  16.     app.globalData.id = result._id
  17. }
复制代码
  • 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更。
登录功能代码

  • 此时相册登录功能已经完成,点击模拟器区域【用户】-【登录】,在弹出微信授权信息,点击【允许】便可以实现当前用户的登录。
登录验证

3.图片的上传、存储以及删除功能的实现
  • 接下来继续实现图片的上传功能,将图片上传至云端服务器。依次点击【pages】-【photos】-【add.js】进入代码编辑,复制如下代码并替换65行处的uploadPhoto代码块。
    1. // 上传图片
    2. uploadPhoto (filePath) {
    3.     // 调用wx.cloud.uploadFile上传文件
    4.     return wx.cloud.uploadFile({
    5.       cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`,
    6.       filePath
    7.     })
    8. },
    复制代码

  • 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更。
图片上传

  • 仍在add.js文件中编辑,复制如下代码并替换第94行附近addPhotos代码块内容。
    1. // 添加图片信息到数据库
    2. addPhotos (photos, comment) {
    3.     const db = wx.cloud.database()
    4.     // 从全局数据中读出用户信息里的照片列表
    5.     const oldPhotos = app.globalData.allData.albums[this.data.albumIndex].photos
    6.     const albumPhotos = photos.map(photo => ({
    7.         fileID: photo.fileID,
    8.         comments: comment
    9.     }))

    10.     // 合并老照片的数组和新照片的数组
    11.     app.globalData.allData.albums[this.data.albumIndex].photos = [...oldPhotos, ...albumPhotos]

    12.     // 写入集合
    13.     db.collection('user').doc(app.globalData.id).update({
    14.       data: {
    15.         albums: db.command.set(app.globalData.allData.albums)
    16.       }
    17.     }).then(result => {
    18.       console.log('写入成功', result)
    19.       wx.navigateBack()
    20.     })
    21. }
    复制代码

  • 替换完成后效果如下图所示,然后使用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:点击图片后预览当前图片。
  1. // 删除照片
  2. async deleteFile (idx) {
  3.     const fileId = this.data.photoIds[idx]
  4.     // 删除文件
  5.     return wx.cloud.deleteFile({
  6.       fileList: [fileId]
  7.     }).then(res => {
  8.       this.saveImageDelele(fileId)
  9.     })
  10. },
复制代码
  • 替换完成后效果如下图所示,然后使用ctrl+S保存代码变更,至此个人相册的基本功能全部完成,更多详情可以参照小程序demo中的注释查看相应代码内容。
图片删除

5. 实验验证
1.访问微信个人相册小程序
  • 搭建个人相册小程序完成后,可以直接在模拟器区域进行小程序调试,也可以在手机上访问小程序调试。
  • 如下图所示,通过点击工具栏中的【预览】按钮,扫描生成的二维码可以直接在手机上访问搭建好的小程序。
小程序预览

  • 同样的,点击工具栏【真机调试】按钮,也可以通过扫码进入调试,与预览方式不同的是真机远程调试功能会打开远程调试窗口(如下图所示),帮助开发者更好的定位和查找在手机上出现的问题。(右侧可以查看目前与手机和服务器的连接情况,以及发生的错误信息等)
真机调试

2.验证个人相册小程序主体功能
  • 演示所需,本实验使用开发者工具自带的模拟器进行验证,用户可以根据实际需求进行真机调试。下面将在开发者工具中对小程序的主要功能(新建相册、图片上传以及图片删除)进行测试。
  • 新建相册。点击导航栏【相册】前往相册管理页面,点击【相册】图标,输入【相册名】(本实验相册名为我的相册),然后点击【提交】以添加相册,添加相册完成后效果如下图所示。
新建相册

  • 上传图片。点击上步骤中刚创建的【我的相册】进入该相册。进入后,点击【照片】图标进入添加照片页面,输入备注信息(此步骤非必须)后,点击【+】图标选择本地照片,选择完成后点击【提交】以添加图片到相册。
  • 在添加照片页面(下图中间区域所示),也可以点击蓝框中的【x】图标以测试“取消该照片”功能。下图右侧区域为添加两张图片后效果。
上传图片

  • 删除图片。在相册中【长按】上传的图片,点击弹出的【删除照片】按钮即可实现图片的删除,删除效果如下图所示。
删除图片

6. FAQ
Q1: 在实验验证真机调试中为什么显示暂无体验权限?
A:这是由于所用的微信账号并没有开发版测试权限造成的,请使用开发时的管理员账号微信扫码进行功能测试。或者你也可以将其它微信账号添加为开发人员,详情请参考小程序成员管理
Q2:云开发中的基础配额是指什么?
A:小程序·云开发由腾讯云 TCB 提供存储和计算服务,而基础配额是云开发各类资源配额中的基础版配额方案,开通云开发环境后默认为基础配额,如需更改请进行配额调整
7. 注意事项
如实验资源无需保留,请在实验结束后及时销毁,以免产生额外费用。








腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )