• 回答 (7)
  • 关注 (3)
  • 查看 (2896)

目前,微信小程序越来越流行,而且功能越来越强大,在性能方面也越做越好。因为能够原生调用小程序提供的组件和 API ,小程序的开发快捷,使用方便,越来越多的产品会落地到微信小程序上。但传统的微信小程序开发,和普通的H5页面开发或者原生APP开发相比,只是改变了前端部分的开发方式,还是离不开厚重的后台开发。 现在的小程序,在后台服务方面,正在往 serverless 趋势方向发力。小程序提供了云厂商的无服务器函数 SCF,使得小程序无需搭建一个后台服务即可运行。如何结合腾讯云开发微信小程序?

萌萌哒小昕玥萌萌哒小昕玥提问于
为啥吃兔兔工程师回答于
推荐

一、 下载并运行配置最新小程序开发IDE

下载地址:http://git.code.oa.com/mp-public/cloud-doc/

打开IDE,选择小程序项目,分别填入项目目录,AppID(没有的话,先去注册,注册流程可看官网教程),项目名称,即可打开项目。

由界面可以看到,打开项目后,程序会自动编译运行,在左侧的页面可以预览效果。

下面,我们来重点说一下编译、远程调试、和云控制台的用法。

1. 编译

一般情况下,只要代码发生变动,程序会自动执行编译。我们可以手动点击“编译”来执行编译。

编译成功后,页面会自动加载渲染。

2. 远程调试

远程调试,是用于真机调试的最直接的一种方式。点击远程调试,视图会弹出二维码,用手机微信打开扫一扫,扫描二维码即可进入小程序的开发版。

通过 IDE 远程调试打开的小程序,可以在 IDE 上获取控制面板 Console / Network / Sources 等信息,方便开发者去调试代码和功能。

手机预览的小程序开发版,默认手机上是关闭调试模式的。如果需要打开调试模式,可以在小程序设置上,选择打开调试,重启小程序即可进入调试模式。

3. 云控制台

云控制台是开发者管理小程序云的地方。

概要:

开发者在初始开发前,需要创建一个环境(目前,每个小程序账号可免费创建两个环境),如上图,我创建了一个叫 “development” 的环境。记住环境 ID ,它的值需要被写进配置文件。

数据库:

在数据库页面,开发者可以看到当前环境下的所有数据信息,并提供了对集合和文档的操作入口。

文件管理:

在文件管理页面,开发者可以对文件进行管理,包括上传、查看、重命名、移动、创建文件夹等。

开发者可以通过两种方式上传文件:

  1. 可以直接在云控制台的图形化界面手动上传或下载文件,文件的网络路径可以在文件详情中得到。
  2. 通过编写代码,调用小程序云的API控制文件的上传(wx.cloud.uploadFile)和下载(wx.cloud.downloadFile),在后续会详细介绍。

云函数:

在云函数页面,开发者可以查看已有的云函数列表,提供了新建、编辑、测试云函数的入口。

云函数的作用,可以由开发者直接在小程序内部通过 API (wx.cloud.callFunction) 被调用。但云函数的执行,并不是在小程序内部,而是在小程序云上执行,目前已经支持node环境了,因此作为前端开发者,可以通过node+云函数来实现一些原本是后台的服务和功能。

二、 项目开发

1. 目录结构

我们先看一般小程序的目录结构,可以如下:

project.config.json是项目的主配置文件(下一节会详细介绍)。

client 文件夹是小程序项目页面的文件,最终会被编译打包运行在小程序里。主要的文件类型有4种:

    .json 后缀的 JSON 配置文件

    .wxml 后缀的 WXML 模板文件

    .wxss 后缀的 WXSS 样式文件

    .js 后缀的 JS 脚本逻辑文件

其中,app.js是APP的入口文件,app.json是APP的配置文件,pages文件夹是存放小程序页面的文件夹(具体的代码构成,可以参考

https://developers.weixin.qq.com/miniprogram/dev/quickstart/basic/file.html)。

cloud-functions,是存放云函数的文件夹。最终云函数将会被打包上传至小程序云进行构建。

2. 项目初始化和配置

这里只列出与小程序云相关的主要配置(其他配置相对容易明白,看小程序开发文档即可):

project.config.json

client/app.js

小程序APP需要执行 wx.cloud.init 方法,才能够初始化小程序云。只有初始化成功之后,后续才能调用小程序相关的 API 。参数env字段的值,就是对应 1.3 节的环境变量, traceUser表示是否跟踪用户的操作记录,调试阶段一般建议打开。

3. 调用API上传文件至小程序云

通过调用 wx.cloud.init 进行初始化后,便可使用wx.cloud 的API。这里以上传文件至小程序云为例,介绍 API 的使用。

wx.cloud.uploadFile({

  cloudPath: '/example.png',

  filePath: '', // 小程序临时文件路径

  success: res => {

    console.log(res.fileID)

  },

  fail: err => {

  }

})

其中,cloudPath 为上传至小程序云文件目录的路径。可以指定文件夹,如:“/user/xxx.file”等等。

4. 编写云函数

首先,打开云控制台,切换至云函数的界面,会看到云函数列表。

选择“新建云函数”,进入新建云函数的页面,填写云函数名、创建方式和运行环境,即可完成创建。

创建完云函数之后,通过云目录进入具体的函数详情页,点击右上角的“编辑”,即可提交云函数。

提交云函数一共有两种方法:

一种是通过微信开发者工具上传,上传指引如下:

  1. 请先配置云函数的根目录(如已配置请忽略此步骤)
  2. 在项目一级目录下新建文件夹,命名为cloud-functions。
  3. 在项目文件project.config.json 里增加字段 "cloudfunctionRoot": "./cloud-functions"。
  4. 在微信开发者工具中重新载入项目,即可看到带有云标记的云函数目录。
  5. 在微信开发者工具中,右击云函数目录,选择‘新建Node.js云函数’。
  6. 对新建的 Node.js 云函数目录右击选择‘上传’,即可同步至云端。

第二种办法是,通过本地上传ZIP包。

如上图,压缩打包该云函数的代码,即可上传。注意红色框的执行方法,表明了云函数的入口文件是index.js,并且该函数必须暴露main_handler的方法。

// index.js

把该文件直接打包进一个zip包就行,如果该index.js函数还依赖于其他的包或module,只需要把这些包或module按照依赖关系一起打包进 zip 包即可。

打包完成后,即可上传。

5. 调用云函数

小程序可以通过端 API 来直接调用云函数,wx.cloud.callFunction(OBJECT);

wx.cloud.callFunction({
  // 要调用的云函数名称
  name: 'test',
  // 传递给云函数的参数
  data: {
    param: 1,
  },
  success: res => {
    // output: res.result
  },
  fail: err => {
  }
})

通过该 API ,可以非常方便地调用云函数。

回答过的其他问题

人工智能是否可以架构在区块链上?

区块链技术创建了充满数据的世界。AI解决方案在没有完全分析的数据集时不会有效果。这些数据集的创建,以及AI技术的发展,都有结合的空间。区块链-AI的结合简化了人们之间的合作。在很多发展中国家,要开银行户头很困难,而且赚取法币也不容易。赚取加密货币成为了解决方案。注册以太坊或者比特...... 展开详请

为什么大数据时代的数据存储大多选择非关系型数据库?

非关系型数据库必然会成为未来数据存储的选择趋势,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库NoSQL则由于其本身的特点得到了非常迅速的发展,NoSQL...... 展开详请

MySQL数据库应如何备份与恢复?

可以进行异地备份。 异地备份的数据复制目前有如下实现方式: 基于主机。基于主机的数据复制技术,可以不考虑存储系统的同构问题,只要保持主机是相同的操作系统即可,而目前也存在支持异构主机之间的数据复制软件,如BakBone NetVault Replicator就可以支持异构服务器之...... 展开详请

如何把深度学习应用在云中?

云计算与深度学习 云计算是基于Internet的计算。云是分布式技术平台,利用技术创新提供高度可扩展和弹性的环境。共享资源,软件和信息按需提供给计算机和其他设备,如电网。硬件,系统软件,应用程序通过互联网作为服务提供。云以IaaS,PaaS和SaaS的形式提供服务。 云计算是深度...... 展开详请

一台服务器可以申请多少个备案主体?

目前一台服务器最多可申请五个备案授权码,加上账号本身提交的备案,最多可为六个主体申请备案。如需再新增加主体的话,建议再购买一台服务器使用。

游戏多媒体引擎使用windows库过程遇见的问题?

关于作者

所属标签

扫码关注云+社区

领取腾讯云代金券