专栏首页web开发实践结合腾讯云开发微信小程序
原创

结合腾讯云开发微信小程序

目前,微信小程序越来越流行,而且功能越来越强大,在性能方面也越做越好。因为能够原生调用小程序提供的组件和 API ,小程序的开发快捷,使用方便,越来越多的产品会落地到微信小程序上。但传统的微信小程序开发,和普通的H5页面开发或者原生APP开发相比,只是改变了前端部分的开发方式,,还是离不开厚重的后台开发。

现在的小程序,在后台服务方面,正在往 serverless 趋势方向发力。小程序提供了云厂商的无服务器函数 SCF,使得小程序无需搭建一个后台服务即可运行。

该文章主要是介绍如何利用腾讯云提供的服务来开发微信小程序。微信小程序的开发教程:https://developers.weixin.qq.com/miniprogram/dev/ ,该文章不再详细叙述。现在我们就马上进入如何结合腾讯云提供的服务进行开发。

一、 下载并运行配置最新小程序开发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 ,可以非常方便地调用云函数。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小程序商店更新:支持模糊搜索,一键复制小程序全名

    知晓君
  • 个人开发者能做哪几类小程序?| 小程序问答 #45

    在文章或后台留言中,很多人都会问我们这个问题:个人开发者到底可以开发什么类目的小程序?

    知晓君
  • 快收下这 5 个小程序!不然,你很可能活不过这个冬天

    马上要步入 12 月份,北方的一些地区已经迎来了今年的第一场雪。然而,广州却还是入冬失败,依旧温暖如春。

    知晓君
  • 无聊走开!这 10 款小程序,陪你开心陪你玩 | 晓榜

    要是对身材没自信,不妨用「闪电健身 Mini」定制一个私人健身计划,临时补救补救。

    知晓君
  • 出国旅游语言不通?这款小程序,实时给你当翻译 | 亲儿子 #7

    随着微信团队的不断努力,小程序也变得日益完善。小程序以其方便的使用条件、更低的开发门槛吸引了很多人。

    知晓君
  • 工作总是做不完?这 4 款时间管理小程序,让你做个效率狂人

    很多人都曾经因为一时的热情,给自己制订了远大的计划。但是由于拖延症和懒癌,预定的计划总是没法完成,走上人生巅峰遥遥不可期。

    知晓君
  • 小程序上新!我们选了 10 款超实用的,你一定用得上 | 晓榜 #33

    知晓程序(微信号 zxcx0101)第一时间采访了这个小程序的开发团队。测试到底准不准?点击这里,看看开发者怎么说。

    知晓君
  • Matlab基本语法8

    程序调试和编程技巧 在编写matlab程序时,难免会出现错误,这时就需要对程序进行调试。matlab中,m文件调试主要有两种方法:直接调试法和工具调试法。 拼写...

    瓜大三哥
  • 暴漫新做的小程序又上榜了!王尼玛睡着都能笑出声吧? | 晓榜 #34

    要知道,买买买剁完手之后,就该操心快递物流的事了。贴心的知晓程序为你准备了一款国家邮政局推出的小程序,无论你是要查快递还是寄快递,无论你要寄哪家公司的快递,这一...

    知晓君
  • 2300多家微信小程序第三方代理加盟平台比较实在可靠的有哪些?

    小程序,是基于微信平台的一个划时代产品,也就是嵌入到微信里的一个功能丰富、操作简洁的轻应用,不需要下载安装即可使用。不同的小程序,能实现不同的功能。例如,买电影...

    速成应用

扫码关注云+社区

领取腾讯云代金券