微信小程序开发文档 第76页

微信小程序云开发 介绍

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。 云开发提供了几大基础能力支持: 能力 作用 说明 云函数 无需自建服务器 在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 数据库 无需自建数据库 一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库 存储 无需自建存储和 CDN 在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 云调用 原生微信服务集成 基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力

微信小程序云开发 基础-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

微信小程序云开发 基础

起步 开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。 目前提供三大基础能力支持: 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库 存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 我的第一个云开发小程序 新建项目选择一个空目录,填入 AppID(使用云开发能力必须填写 AppID),勾选创建 “云开发 QuickStart 项目”,点击创建即可得到一个展示云开发基础能力的示例小程序。该小程序与普通 QuickStart 小程序有以下不同需注意: 无游客模式、也不可以使用 测试号 project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录 cloudfunctionRoot 指定的目录有特殊的图标 云开发能力从基础库 2.2.3 开始支持 兼容性问题 注意,云开发能力从基础库 2.2.3 开始支持,现在 2.2.3 或以上的基础库没有完全覆盖所有用户(目前约 90% ),如需使上传的代码能够覆盖全量用户,请做以下特殊处理: 在 app.json / game.json 中增加字段 “cloud”: true 指定后云能力可以在所有基础库中使用,并且如果云能力有更新,并不会随着基础库升级而自动升级,需在后续版本发布后重新上传。如 2.2.4 发布后,需重新上传才能将云能力更新至 2.2.4 版本的云能力。 开通云开发 创建了第一个云开发小程序后,在使用云开发能力之前需要先开通云开发。在开发者工具工具栏左侧,点击 “云开发” 按钮即可开通云开发。云开发开通后自动获得一套云开发环境,各个环境相互隔离,每个环境都包含独立的数据库实例、存储空间、云函数配置等资源。每个环境都有唯一的环境 ID 标识,初始创建的环境自动成为默认环境。 云开发控制台 云开发控制台是管理云开发资源的地方,控制台提供以下能力: 概览:查看云开发基础使用数据 用户管理:查看小程序用户信息 数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等 存储管理:查看和管理存储空间 云函数:查看云函数列表、配置、日志和监控 统计分析:查看云开发资源具体使用统计信息 资源环境 一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等。各个环境间是相互独立的,用户开通云开发后初始默认可拥有最多两个环境。在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境。 云开发能力 小程序·云开发提供了三个基础能力:数据库、存储和云函数,这一章节我们介绍下这几个能力分别是什么,我们能用他来做什么。 数据库 云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。 关系型数据库和 JSON 数据库的概念对应关系如下表: 关系型 文档型 数据库 database 数据库 database 表 table 集合 collection 行 row 记录 record / doc 列 column 字段 field 以下是一个示例的集合数据,假设我们有一个 books 集合存放了图书记录,其中有两本书: [ { "_id": "Wzh76lk5_O_dt0vO", "title": "The Catcher in the Rye", "author": "J. D. Salinger", "characters": [ "Holden Caulfield", "Stradlater", "Mr. Antolini" ], "publishInfo": { "year": 1951, "country":...

参考信息

错误码 在使用云能力时跑出的异常(fail 回调 / Promise reject)Error 对象中会带有 errCode 和 errMsg,这里是 errCode 值的一览表。 错误码 含义 -1 通用错误 -401001 无权限使用 API -401002 API 传入参数错误 -401003 API 传入参数类型错误 -402001 检测到循环引用 -403001 上传的文件超出大小上限 -40400x 云函数调用失败 -404010 云函数执行失败 -601004 无权限使用 API -501001 云端系统错误 -501002 云端响应超时 -501003 请求次数超出环境配额 -501004 请求并发数超出环境配额 -501005 环境信息异常 -501009 操作的资源对象非法或不存在 -502001 数据库请求失败 -502002 非法的数据库指令 -502003 无权限操作数据库 -502005 集合不存在 -503001 云文件请求失败 -503002 无权限访问云文件 -503003 文件不存在 -504001 云函数调用失败 -504002 云函数执行失败 资源配额 这里列出云开发基础资源配额,API 调用次数限制包含小程序端和服务端两部分 分类 配额种类 额度 存储 容量 5 GB 下载操作次数 5 万 / 天 上传操作次数 2 万 / 天 外网下行流量 无 CDN 回源流量 1 5 GB / 月 CDN CDN 流量 5 GB / 月 云函数 调用次数 20 万次 / 月 资源使用量 GBs 2 4 万 / 月 外网出流量 1 GB / 月 同时连接数 3 20 数量限制 20 个 运行内存 最大 256...

服务端

云开发 Server API 文档 云端运行环境为 Node.js,开发时请安装 Node.js 和 npm。 使用云开发需在云函数目录中安装 wx-server-sdk 依赖: npm install --save wx-server-sdk 在工具云函数根目录中创建云函数时,默认会创建一个定义了 wx-server-sdk 依赖的 package.json,并在创建成功时提示自动安装依赖。如果在你的环境中无法直接使用 npm install,比如需要走代理、使用自建的 npm 源站、使用其他包管理器如 yarn 等的情况,则不能使用工具的自动安装依赖,需手工执行相应依赖安装命令。 需要特别注意的是,在 wx-server-sdk 中不再兼容 success、fail、complete 回调,总是只会返回 Promise。 以下是 wx-server-sdk API 文档分类入口: 初始化 数据库 存储 云函数

微信小程序云开发 拓展功能

静态网站托管 开发者工具 1.03.2006042 起 静态网站托管是云开发为开发者提供的 Web 资源托管服务,网站的静态资源(HTML、JavaScript、CSS、图片、音频、视频等)可以托管在该服务上,并享有以下能力: 默认域名:获得对应云环境的唯一专属默认域名,通过域名可访问静态资源,域名可以用于测试或线上使用 小程序 webview:小程序不用配置业务域名即可在 <web-view> 打开云开发静态网站托管的域名(仅支持能够使用 <web-view> 标签的小程序) CDN 加速 可以免鉴权直接打开小程序:非个人主体的认证的小程序,使用静态网站托管的网页,可以免鉴权跳转任意合法合规的小程序,查看详情 开通方式 开通静态托管要求使用后付费,因此如果环境不是后付费,请先切换至后付费、或新创建一个后付费的环境。 静态托管的开通入口在 “设置 -> 拓展功能” 中。 文件管理 静态资源文件的管理操作同云开发的文件存储能力。 索引文档 索引文档即网站的首页,如果直接访问域名而不指定具体资源文件路径,则默认访问索引文档。 注销 静态托管开通后可以随时注销,入口同样在 “设置 -> 拓展功能” 中。 Web SDK 可使用云开发 Web SDK 访问云开发资源。注意现在 Web 中暂不支持登录访问模式,仅支持未登录访问模式。需要首先在云开发控制台中开启允许未登录访问后,Web 中才可以访问云开发资源。 Web SDK 介绍。

微信小程序云开发 工单-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

微信小程序云开发 工单

工单 使用说明 开发者可通过云开发控制台提供的 工单 功能提交相应的工单用于解决部分资源使用过程中的问题。目前 工单 仅支持处理以下问题: 资源故障相关 费用相关 其他问题请前往 微信开放社区 提问。 新建工单 开发者可登录 微信开发者工具 的 云开发控制台,在 工单 功能中点击新建工单。目前仅支持同一小程序下的开发者创建该小程序所属工单记录。 阅读提醒事项后,点击确定即可跳转至工单编辑页面。 编辑工单时,目前仅支持文字和图片的输入方式。为保证图片的正常显示,请通过点击 图片 添加按钮的方式添加图片资源。 提交工单后,开发者还可根据需求,添加相应的工单评论或关闭工单。 工单被 客服 人员处理后,系统会通过微信公众平台公众号下发相应的消息提醒。 查看工单 开发者可登录 微信开发者工具 的 云开发控制台,在 工单 功能中查看工单列表。 点击相应问题标题,系统即可跳转至工单查看页面。在工单查看页面,开发者还可根据需求,添加相应的工单评论或关闭工单。 目前仅支持同一小程序下的开发者查看该小程序所属工单记录。非小程序开发者,无查看权限。 关闭工单 开发者可通过工单编辑页面的 关闭工单 按钮关闭已处理完毕的工单。对于 已完结 的工单,用户无法继续添加评论。 同时,在用户长时间未回复工单情况下,系统会在 7 天后自动关闭工单。

微信小程序云开发 调试-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

微信小程序云开发 调试

调试 云函数本地调试 Network 面板 环境提示 云函数本地调试 云开发提供了云函数本地调试功能,在本地提供了一套与线上一致的 Node.js 云函数运行环境,让开发者可以在本地对云函数调试,使用本地调试可以提高开发、调试效率: 单步调试/断点调试:比起通过云开发控制台中查看线上打的日志的方法进行调试,使用本地调试后可以对云函数 Node.js 实例进行单步调试/断点调试 集成小程序测试:在模拟器中对小程序发起的交互点击等操作如果触发了开启了本地调试的云函数,会请求到本地实例而不是云端 优化开发流程、提高开发效率:调试阶段不需上传部署云函数,在调试云函数时,相对于不使用本地调试时的调试流程(“本地修改代码 -> 上传部署云函数 -> 调用”)的调试流程,省去了上传等待的步骤,改成只需 “本地修改 -> 调用” 的流程,大大提高开发调试效率 同时,本地调试还定制化提供了特殊的调试能力,包括 Network 面板支持展示 HTTP 请求和云开发请求、调用关系图展示、本地代码修改时热重载等等能力,帮助开发者更好的开发调试云函数。功能具体介绍见下方。 建议开发者在开发阶段和上传代码前先使用本地调试测试通过后再上线部署。 更详细的文档点此查看。 Network 面板 从微信开发者工具 1.02.1905302 及基础库 2.7.1 起,在小程序 Network 面板中会显示云开发请求(数据库、云函数、文件存储等调用),在 Network 面板中呈现时展示的是 API 名(wx.cloud.uploadFile 和 wx.cloud.downloadFile 除外),有特殊的请求类型 cloud,会展示调用所实际请求的环境 ID、请求体(数据库调用的请求体以 SDK 语法展示)、JSON 回包、耗时、及调用堆栈。 注意事项: 在开发者工具中云开发接口的实现与客户端有差异,开发者工具中的耗时普遍会比客户端慢,我们在特定环境下的测试结果是客户端会比开发者工具快 33% 左右。 以下是示例: 数据库调用详情示例: 回包示例: 环境提示 从微信开发者工具 1.02.1905302 及基础库 2.7.1 起,在小程序调试器中,如果使用到 wx.cloud.init,则会在调试器中输出当前配置的小程序中使用的默认调用环境。

微信小程序云开发 告警-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

微信小程序云开发 告警

告警 目前小程序·云开发提供两种告警配置: 基础告警:包括资源使用量提醒和计费相关信息,告警规则由系统配置,开发者可修改对应的告警渠道。 自定义告警:由开发者自定义告警条件。 告警群配置 开发者可以通过登录 微信开发者工具,在 云开发控制台 的 设置 页面中的 告警设置 中使用该功能。目前加入告警群的方式包括: 通过扫描二维码加入。 在告警群中邀请相关人员加入。 移除群成员的方式包括: 告警群中的用户主动退出告警群。 小程序的开发者在 云开发控制台 中的 设置 页面中的 告警设置 中移除相关人员。 自定义告警 开发者可通过登录 微信开发者工具,在 云开发控制台 的 设置 页面中的 自定义告警 中配置告警策略。每个环境最多可配置 50 条告警策略,每个告警策略中最多可添加 10 个告警条件。 每条告警策略需录入信息包括: 告警策略名称 环境 ID 资源类型:目前仅支持对云函数配置自定义告警 告警对象:每条告警规则至少需要选择一个告警对象 告警条件:告警指标:目前仅支持云函数错误次数和云函数运行时间统计周期:目前的统计周期仅支持 5 分钟统计一次比较方式:目前提供的比较方式包括 >、>=、<、<=、= 以及 !=持续周期:目前支持的持续周期包括持续 1 个周期、持续 2 个周期、持续 3 个周期、持续 4 个周期以及持续 5 个周期告警频率:目前支持的告警频率包括每小时告警一次和每 12 个小时告警一次 告警渠道:目前自定义告警仅支持通过群告警下发消息 基础告警 基础告警包括: 资源使用提醒 计费相关提醒 基础告警为系统默认设置告警规则,开发者暂时无法修改相关告警规则,但可通过 告警渠道配置 设置接收告警的方式。详细的告警规则可参考 告警规则。 告警渠道配置 目前系统提供两种消息推送渠道,用于推送基础告警: 通过 微信公众平台 公众号推送告警消息至小程序的相关人员 推送告警消息至 小程序云监控告警群 中 默认情况下,系统同时开启这两种告警渠道。 开发者可以通过登录 微信开发者工具,在 云开发控制台 的 设置 页面中的 告警设置 中使用该功能。默认情况下,系统会同时开启 公告号告警 和 群告警 两种渠道。如需调整,可点击 设置 进行修改。 告警规则 现有的告警规则包括: 情形 描述 告警规则 公众号告警人群 资源使用提醒 存储容量 80% 套餐量,90% 套餐量 小程序所有开发者 资源使用提醒 存储下载调用次数 80% 套餐量,90% 套餐量 小程序所有开发者 资源使用提醒 存储上传调用次数 80% 套餐量,90% 套餐量 小程序所有开发者 资源使用提醒 CDN 回源流量 80% 套餐量,90% 套餐量 小程序所有开发者 资源使用提醒 CDN...

微信小程序云开发 微信支付-国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码

微信小程序云开发 微信支付

微信支付 从开发者工具 1.02.2005111 起,云控制台支持云开发微信支付商户绑定,在绑定完成后可在云开发中原生接入微信支付: 免签名:所有接口免签名、直接获取小程序 wx.requestPayment 所需参数 接收回调:云函数支持接收异步支付结果回调 资质 需要是已经开通了微信支付,且已绑定了商户号的小程序。 开通 在云控制台 -> 设置 -> 全局设置中开通。 权限 添加商户号后需要分别进行帐号绑定、jsapi 和 api 退款权限授权。请注意: 1)帐号绑定:需要在绑定的商户号管理员在微信支付提供的【微信支付商家助手】小程序上确认授权。 2)jsapi 和 api 退款权限,需要前往微信支付商户平台我的授权产品中进行确认授权。说明 完成授权后即可调用微信支付相关接口能力。 接口 wx-server-sdk >= 2.0.2 云开发提供了微信支付相关接口和服务端回调,包括统一下单、查询订单、关闭订单、申请退款、查询退款、下载对账单,具体文档见 API 文档。 下单关键开发流程: 小程序调用云函数,在云函数中调用统一下单接口,参数中带上接收异步支付结果的云函数名和其所在云环境 ID 统一下单接口返回的成功结果对象中有 payment 字段,该字段即是小程序端发起支付的接口(wx.requestPayment)所需的所有信息 小程序端拿到云函数结果,调用 wx.requestPayemnt 发起支付 支付完成后,在统一下单接口中配置的云函数将收到支付结果通知 注意:收到支付结果回调的云函数必须返回一个 { “errcode”: 0 } 的对象,否则会认为回调处理失败,在接下来两天内会持续收到回调,直到返回成功为止。具体返回值协议见统一下单接口文档。

微信小程序组件 native-component

native-component 原生组件 小程序中的部分组件是由客户端创建的原生组件,这些组件有: camera canvas input(仅在focus时表现为原生组件) live-player live-pusher map textarea video 原生组件的使用限制 由于原生组件脱离在 WebView 渲染流程外,因此在使用时有以下限制: 原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。后插入的原生组件可以覆盖之前的原生组件。 原生组件还无法在 picker-view 中使用。基础库 2.4.4 以下版本,原生组件不支持在 scroll-view、swiper、movable-view 中使用。 部分CSS样式无法应用于原生组件,例如:无法对原生组件设置 CSS 动画无法定义原生组件为 position: fixed不能在父级节点使用 overflow: hidden 来裁剪原生组件的显示区域 原生组件的事件监听不能使用 bind:eventname 的写法,只支持 bindeventname。原生组件也不支持 catch 和 capture 的事件绑定方式。 原生组件会遮挡 vConsole 弹出的调试面板。 在工具上,原生组件是用web组件模拟的,因此很多情况并不能很好的还原真机的表现,建议开发者在使用到原生组件时尽量在真机上进行调试。* cover-view 与 cover-image 为了解决原生组件层级最高的限制。小程序专门提供了 cover-view 和 cover-image 组件,可以覆盖在部分原生组件上面。这两个组件也是原生组件,但是使用限制与其他原生组件有所不同。 原生组件同层渲染 同层渲染是为了解决原生组件的层级问题,在支持同层渲染后,原生组件与其它组件可以随意叠加,有关层级的限制将不再存在。但需要注意的是,组件内部仍由原生渲染,样式一般还是对原生组件内部无效。当前 video, map, live-player, live-pusher, canvas(2d) 组件已支持同层渲染。 原生组件相对层级 为了可以调整原生组件之间的相对层级位置,小程序在 v2.7.0 及以上版本支持在样式中声明 z-index 来指定原生组件的层级。该 z-index 仅调整原生组件之间的层级顺序,其层级仍高于其他非原生组件。