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

接收消息和事件 在页面中使用 <button open-type=”contact” /> 可以显示进入客服会话按钮。 当用户在客服会话发送消息、或由某些特定的用户操作引发事件推送时,微信服务器会将消息或事件的数据包发送到开发者填写的 URL,如果使用的是云开发,则可以推送到指定的云函数(详情请参考消息推送)。开发者收到请求后可以使用 发送客服消息 接口进行异步回复。 各消息类型的推送JSON、XML数据包结构如下。 文本消息 用户在客服会话中发送文本消息时将产生如下数据包: XML 格式 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml> JSON 格式 { "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "text", "Content": "this is a test", "MsgId": 1234567890123456 } 参数说明 参数 说明 ToUserName 小程序的原始ID FromUserName 发送者的openid CreateTime 消息创建时间(整型) MsgType text Content 文本消息内容 MsgId 消息id,64位整型 图片消息 用户在客服会话中发送图片消息时将产生如下数据包: XML 格式 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[image]]></MsgType> <PicUrl><![CDATA[this is a url]]></PicUrl> <MediaId><![CDATA[media_id]]></MediaId> <MsgId>1234567890123456</MsgId> </xml> JSON 格式 { "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "image", "PicUrl": "this is a url", "MediaId": "media_id", "MsgId": 1234567890123456 } 参数说明 参数 说明 ToUserName 小程序的原始ID FromUserName 发送者的openid CreateTime 消息创建时间(整型) MsgType image PicUrl 图片链接(由系统生成) MediaId 图片消息媒体id,可以调用[获取临时素材]((getTempMedia)接口拉取数据。 MsgId 消息id,64位整型 小程序卡片消息 用户在客服会话中发送小程序卡片消息时将产生如下数据包: XML 格式 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1482048670</CreateTime> <MsgType><![CDATA[miniprogrampage]]></MsgType> <MsgId>1234567890123456</MsgId>...

微信小程序指南手册

databaseUpdate 本接口应在服务器端调用,详细说明参见服务端API。 数据库更新记录 请求地址 POST https://api.weixin.qq.com/tcb/databaseupdate?access_token=ACCESS_TOKEN 请求参数 属性 类型 默认值 必填 说明 access_token string 是 接口调用凭证 env string 是 云环境ID query string 是 数据库操作语句 返回值 Object 返回的 JSON 数据包 属性 类型 说明 errcode number 错误码 errmsg string 错误信息 matched number 更新条件匹配到的结果数 modified number 修改的记录数,注意:使用set操作新插入的数据不计入修改数目 id string 新插入记录的id,注意:只有使用set操作新插入数据时这个字段会有值 errcode 的合法值 值 说明 最低版本 0 请求成功 -1 系统错误 -1000 系统错误 40014 AccessToken 不合法 40097 请求参数错误 40101 缺少必填参数 41001 缺少AccessToken 42001 AccessToken过期 43002 HTTP METHOD 错误 44002 POST BODY 为空 47001 POST BODY 格式错误 85088 该APP未开通云开发 其他错误码 云开发错误码 请求数据示例1: 操作集合 { "env":"test2-4a89da", "query": "db.collection(\"geo\").where({age:14}).update({data:{age: _.inc(1)}})" } 返回数据示例1: 操作集合 { "errcode": 0, "errmsg": "ok", "matched": 1, "modified": 1, "id": "" } 请求数据示例2: 更新一条记录 { "env":"test2-4a89da", "query": "db.collection(\"geo\").doc(\"56abd6d5-9daf-4fc7-af05-eca13933f1aa\").update({data:{age: 10}})" } 返回数据示例2: 更新一条记录 { "errcode": 0,...

updateIndex 本接口应在服务器端调用,详细说明参见服务端API。 变更数据库索引 请求地址 POST https://api.weixin.qq.com/tcb/updateindex?access_token=ACCESS_TOKEN 请求参数 属性 类型 默认值 必填 说明 access_token string 是 接口调用凭证 env string 是 云环境ID collection_name string 是 集合名称 create_indexes Array.<Object> 是 新增索引 drop_indexes Array.<Object> 是 删除索引 create_indexes 的结构 属性 类型 默认值 必填 说明 name string 是 索引名 unique boolean 是 是否唯一 keys Array.<Object> 是 索引字段 keys 的结构 属性 类型 默认值 必填 说明 name string 是 字段名 direction string 是 字段排序 direction 的合法值 值 说明 最低版本 “1” 升序 “-1” 降序 “2dsphere” 地理位置 drop_indexes 的结构 属性 类型 默认值 必填 说明 name string 是 索引名 返回值 Object 返回的 JSON 数据包 属性 类型 说明 errcode number 错误码 errmsg string 错误信息 errcode 的合法值 值 说明 最低版本 0 请求成功 -1 系统错误 -1000 系统错误 40014 AccessToken 不合法 40097 请求参数错误 40101 缺少必填参数...

databaseMigrateQueryInfo 本接口应在服务器端调用,详细说明参见服务端API。 数据库迁移状态查询 请求地址 POST https://api.weixin.qq.com/tcb/databasemigratequeryinfo?access_token=ACCESS_TOKEN 请求参数 属性 类型 默认值 必填 说明 access_token string 是 接口调用凭证 env string 是 云环境ID job_id number 是 迁移任务ID 返回值 Object 返回的 JSON 数据包 属性 类型 说明 errcode number 错误码 errmsg string 错误信息 status string 导出状态 record_success number 导出成功记录数 record_fail number 导出失败记录数 err_msg string 导出错误信息 file_url string 导出文件下载地址 errcode 的合法值 值 说明 最低版本 0 请求成功 -1 系统错误 -1000 系统错误 40014 AccessToken 不合法 40097 请求参数错误 40101 缺少必填参数 41001 缺少AccessToken 42001 AccessToken过期 43002 HTTP METHOD 错误 44002 POST BODY 为空 47001 POST BODY 格式错误 85088 该APP未开通云开发 其他错误码 云开发错误码 请求数据示例 { "env": "test2-4a89da", "job_id": 100071736 } 返回数据示例 { "errcode": 0, "errmsg": "ok", "status": "success", "record_success": 3, "record_fail": 0, "error_msg": "导出完成.", "file_url": "https://tcb-mongodb-data-1254135806.cos.ap-shanghai.myqcloud.com/..."

发票管理 可开发票金额 可开发票金额为该帐号(小程序帐号)下所有环境购买订单所产生的可开发票金额。其计算方式为: 可开发票金额 = 总金额 - 已开发票金额 其中: 总金额为该帐号(小程序帐号)下所有环境购买订单所产生的总金额。 已开发票金额为该帐号(小程序帐号)下所有已开发票的总金额。 申请开票 小程序·云开发由腾讯云 TCB 提供存储和计算服务,因此发票由腾讯云计算(北京)有限责任公司开具。具体申请开票流程如下: 用户可通过点击 申请开票 开具所需金额发票。 开发票时需填入相应的开票信息,具体包括: 开票金额 发票类型 邮寄地址 申请开票时请注意: 开票金额不得超过可开发票金额。 当开票金额小于 10 元时,发票将采取顺丰到付的邮寄方式,运费由用户承担。当开票金额不低于 10 元时,系统将提供免费的邮寄服务。 当天 24 点前可取消开发票申请。 若因信息填写错误导致发票不可用或丢失,需发起退票申请(流程周期较长),请仔细核对发票信息和邮寄地址。 对于个人增值税普通发票,发票抬头一律为 个人。 只有主体类型为 企业 的小程序才可开具 企业增值税专用发票,且发票抬头为小程序主体名称,用户不可自行修改。 查看开票详情 申请开票后,用户可以在 发票 页面的申请记录列表中,确认发票开具金额和状态,并可通过点击发票记录查看详细的发票信息和邮寄信息。 取消开发票申请 当天 24 点前,用户均可通过 取消 操作取消该开发票申请。一旦状态变更为开票中,用户将无法再取消该申请。 发票退回 若出现以下情况,可提交工单进行退票。提交工单时需填写问题描述为退发票,需写明退票原因,提交工单后将由客服人员处理。具体原因包括: 发票类型错误。 退费退票。 税号、开户行账号错误。 发票打印错误。 主体工商名称变更。 发票金额有误。 退票过程中请注意: 退票需用户自行邮寄发票及相关证明,邮费需自行支付。 此操作一旦进行将无法撤回,请谨慎操作。 不同情况下退票需邮寄的材料包括:退票时专票已抵扣需提供:税务局开具的 红字通知单 + 发票复印件 + 公司拒收证明。退票时专票未抵扣需提供:发票原件 + 公司拒收证明。其他退票:发票原件。 发票丢失处理 增值税普通发票:我们可以为你提供发票底联复印件(加盖发票章)或扫描件,用户可在控制台 提交工单 申请,工单中请写明原因及发票号码和金额。税务确认信息后,将于5 – 7个工作日内回复。 增值税专用发票:用户需要在其所在地主管税局办理发票遗失流程后,提供《行政处罚决定书》复印件(加盖公章)邮寄到对应收件地址。由税务到税局开具《丢失增值税专用发票已报税证明单》,用户收到该凭证后可凭《丢失增值税发票已报税证明单》入账并抵扣相应税款。 注意: 《丢失增值税发票已报税证明单》只适用丢失增值税专用发票;丢失增值税普通发票税局不支持开具。 具体邮寄地址可通过子在云开发控制台提交 工单 获取。

按量付费 小程序·云开发已提供按量付费功能。在按量付费模式下,系统每月会提供一定的免费额度供开发者使用,超过免费额度的资源消耗将按照对应的刊例价扣除费用。 在使用按量付费功能时请注意: 小程序一旦开通按量付费后,将无法再切换到预付费支付方式,请开发者谨慎操作; 通过小程序管理后台和微信开发者工具云控制台申请的代金券无法用于按量付费模式; 同时,在按量付费模式下,基础告警功能将不再适用,但是开发者仍然可以使用自定义告警功能。具体告警功能使用方式可参考文档《小程序·云开发告警》; 需下载最新 nightly 版本 的开发者工具进行开通。 费用计算 按量付费的每月免费额度和刊例价信息如下: 参数 价格 免费额度 存储空间 0.0043 元/GB/天 5GB 存储下载操作次数 0.01 元/万次 150 万次/月 存储上传操作次数 0.01 元/万次 60 万次/月 CDN回源流量 0.15 元/GB 5GB/月 CDN流量 0.18 元/GB 5GB/月 云函数资源使用量 0.00011108 元/GBs 4 万 GBs/月 云函数外网出流量 0.8 元/GB 1GB/月 数据库容量 0.07 元/GB 2GB 数据库读操作次数 0.015 元/万次 5万次/天 数据库写操作次数 0.05 元/万次 3万次/天 可选拓展功能的按量付费的每月免费额度和刊例价信息如下: 参数 价格 免费额度 静态资源容量 0.0042 元/GB/天 开通后前两个月 1GB/天 静态资源流量 0.15 元/万次 开通后前两个月 5GB 请注意,小程序·云开发资源在按量付费模式下,需遵守以下系统参数限制: 数据库容量:2TB 云函数(单次运行)运行内存1:256M 云函数并发数2:1000 数据库同时连接数3:1000 单个小程序的小程序端请求频率限制:100 万次/分钟 在按量付费模式下,系统会每日进行资源消耗和结算并进行扣费。开发者可登录腾讯云费用中心进行充值或查看账单信息。 注: 云函数(单次运行)运行内存:云函数运行时最大可用内存为 256MB。在云函数运行日志中展示的运行内存信息,为当次运行时的实际使用内存。实际使用内存可能低于最大可用内存,计费时按配置内存即 256MB 计算。 云函数并发数:云函数的并发数量是指在任意指定时间对函数代码的执行数量。对于当前的 SCF 函数来说,每个发布的事件请求就会执行一次。因此,这些触发器发布的事件数(即请求量)会影响函数的并发数。开发者以使用以下公式来估算并发的函数实例总数目。每秒请求量 * 函数执行时间(按秒) 例如,考虑一个处理存储事件的函数,假定函数平均用时0.2秒(即200毫秒),存储每秒发布300个请求至函数。这样将同时生产 300 * 0.2 = 60 个函数实例。 数据库同时连接数 :数据库请求并发数量,如同时有三十个数据库操作请求,则有二十个会同时执行,剩下十个返回超出并发错误;一次数据库请求(无论小程序端发起还是云函数端发起)将耗费一个连接;每个云环境分别有一个同时连接数限制、独立计数。假如数据库查询平均耗时 10ms,那么一个连接可以支持 100qps(1000ms/10ms=100),20个连接可以支持到 2000qps。 欠费和停服处理 从账户余额被扣为负值时,系统会通过微信公众平台公众号通知到小程序管理员并同步欠费信息至小程序云监控告警群,提示开发者尽快充值。 从账户余额被扣为负值时刻起,小程序·云开发资源在 12 小时内可继续使用且继续扣费,12 小时后未及时充值,系统将自动隔离资源且停止扣费。 进入资源隔离期后,系统会通过微信公众平台公众号通知到小程序管理员并同步停服信息至小程序云监控告警群。同时: 7*24 小时内,若充值至余额大于 0,计费将继续,用户可继续使用小程序·云开发提供的服务。 7*24 小时内,若账户余额尚未充值到大于 0,则无法使用服务。 7*24 小时后,若账户余额未充值到大于 0,按量计费环境将被回收。届时环境中的数据将被清除且不可恢复。 进入资源隔离期后: 存储、数据库和 CDN...

预付费 目前小程序·云开发提供的预付费模式包括: 预付费:个人账户扣款:适用于个人账户结算的小程序,目前仅支付微信支付 预付费:腾讯云账户扣款:适用于通过腾讯云账户统一结算的小程序 系统默认使用的支付方式为预付费:个人账户扣款。以上预付费方式的计费单位为 元/月,在满足配额调整规则的条件下开发者可随时调整配置。 同时,为方便开发者以最低的资源成本进行功能开发,小程序·云开发还提供了免费版套餐供开发者试用。 分类 参数 免费额度 存储 容量 5GB 下载操作次数 150 万次/月 上传操作次数 60 万次/月 CDN回源流量 5GB/月 CDN CDN流量 5GB/月 云函数 资源使用量 GBs 4 万 GBs/月 外网出流量 1GB/月 数据库 容量 2GB 同时连接数 20 读操作次数 5万次/天 写操作次数 3万次/天 集合限制 100个 配额说明 资源配额 以下为云开发各类资源配额指标,由腾讯云 TCB 提供存储和计算服务。 用户可通过下载最新的微信开发者工具使用该功能。 资源配额可分为三类:资源均衡型、CDN 资源消耗型、云函数资源消耗型、数据库资源消耗型。 资源均衡型 分类 参数 基础版 1 基础版 2 专业版 1 专业版 2 专业版 3 旗舰版 1 旗舰版 2 旗舰版 3 企业版 1 存储 容量 5GB 10GB 50GB 100GB 300GB 500GB 700GB 1000GB 1300GB 下载操作次数 150万/月 200万/月 750万/月 1500万/月 2500万/月 3750万/月 4500万/月 5000万/月 6000万/月 上传操作次数 60万/月 100万/月 300万/月 600万/月 1000万/月 1500万/月 2000万/月 2500万/月 3000万/月 CDN回源流量1 5GB/月 10GB/月 50GB/月 150GB/月 300GB/月 500GB/月 600GB/月 800GB/月 1000GB/月 CDN CDN流量 5GB/月 25GB/月 50GB/月 150GB/月 300GB/月 500GB/月...

支付方式 小程序·云开发在开通时,开发者会授权将小程序的注册信息用于进行云服务的初始化。此时,小程序帐号会对应生成或绑定一个腾讯云帐号。 生成:如果该小程序帐号在开通云开发前,并未授权为某个腾讯云帐号的微信公众平台登录方式,则系统会新建一个腾讯云帐号。 绑定:如果该小程序帐号在开通云开发前,已授权为某个腾讯云帐号的微信公众平台登录方式,则系统会自动关联该腾讯云帐号。 支付方式 目前小程序·云开发支持三种支付方式: 预付费:个人账户扣款:适用于个人账户结算的小程序,目前仅支付微信支付 预付费:腾讯云账户扣款:适用于通过腾讯云账户统一结算的小程序 按量付费:腾讯云账户扣款:适用于暂时无法准确预估使用量的小程序,目前仅支持从腾讯云账户扣款 其中,系统默认使用的支付方式为预付费:个人账户扣款。如需使用其他支付方式,需下载最新 nightly 版本 的开发者工具进行选择或切换。 初次购买预付费套餐 对于初次购买预付费配额的小程序,可在选定配额后,选择订单的支付方式。 一旦该订单支付成功,后续该环境下的订单将自动使用所选支付方式进行扣款。如需调整可前往 环境设置-支付方式 切换支付方式。 开通按量付费 环境创建后,开发者可按需在配额设置中直接开通按量付费。小程序一旦开通按量付费后,将无法再切换到预付费支付方式,请开发者谨慎操作。 具体按量付费计费策略请参考文档《小程序·云开发按量付费》。 切换支付方式 对于已经购买过付费配额的小程序,如需调整支付方式,可在云开发控制台 环境设置-支付方式 进行切换。目前,在切换支付方式时,开发者可选择的支付方式包括: 预付费:个人账户扣款 预付费:腾讯云账户扣款 按量付费:腾讯云账户扣款 当出现以下几种情况时,小程序则无法进行支付方式的切换: 当前支付方式为按量付费的环境暂不支持切换支付方式; 由于可开发发票余额小于退费金额,则无法进行付费方式切换。此时,开发者可选择在可开发票金额大于退费金额后或退回发票后再切换支付方式。详情请参考《小程序·云开发发票管理》; 该小程序从未购买过任何预付费配额时,将无法切换支付方式。开发者可在初次购买预付费配额时,直接选择支付方式或直接开通按量付费; 超过切换次数限制:单个小程序帐号累计支付方式切换次数不得超过 4 次;单个小程序帐号每月有且仅能切换一次支付方式; 切换至按量计费后无法再切换支付方式,请谨慎操作; 环境由于到期未续费,已经处于隔离期时,需先进行续费,才可再切换支付方式。 如遇特殊情况,可通过工单联系我们,具体工单提交方式请参考文档《小程序·云开发工单》。 腾讯云费用中心 对于使用预付费:腾讯云账户扣款或按量付费:腾讯云账户扣款支付方式的小程序,可通过云开发控制台 环境设置——支付方式 中的腾讯云账户费用中心入口登录腾讯云费用中心,进行充值、订单管理、续费管理、发票与合同管理等操作。 同时开发者也可以登录腾讯云官网,使用微信公众号作为登录方式,选择对应的小程序帐号授权登录腾讯云控制台。并前往费用中心,进行充值、订单管理、续费管理、发票与合同管理等操作。 请注意: 对于使用预付费:个人账户扣款或按量付费:腾讯云账户扣款支付的订单需在云开发控制台 费用中心-发票管理 中开具对应订单金额的发票。 对于使用预付费:腾讯云账户扣款或按量付费:腾讯云账户扣款支付的订单需在腾讯云费用中心 发票与合同管理 中开具对应订单金额的发票。

错误码 在使用云能力时抛出的异常(fail 回调 / Promise reject)Error 对象中会带有 errCode 和 errMsg,云开发 HTTP API 回包中也会带有errcode和errmsg,这里是 errCode 值的一览表。 错误码 含义 -1 通用错误 -401001 SDK 通用错误:无权限使用 API -401002 SDK 通用错误:API 传入参数错误 -401003 SDK 通用错误:API 传入参数类型错误 -402001 SDK 数据库错误:检测到循环引用 -402002 SDK 数据库错误:初始化监听失败 -402003 SDK 数据库错误:重连 WebSocket 失败 -402004 SDK 数据库错误:重建监听失败 -402005 SDK 数据库错误:关闭监听失败 -402006 SDK 数据库错误:收到服务器错误信息 -402007 SDK 数据库错误:从服务器收到非法数据 -402008 SDK 数据库错误:WebSocket 连接异常 -402009 SDK 数据库错误:WebSocket 连接断开 -402010 SDK 数据库错误:检查包序失败 -402011 SDK 数据库错误:未知异常 -501001 云资源通用错误:云端系统错误 -403001 SDK 文件存储错误:上传的文件超出大小上限 -404001 SDK 云函数错误:云函数调用内部失败:空回包 -404002 SDK 云函数错误:云函数调用内部失败:空 eventid -404003 SDK 云函数错误:云函数调用内部失败:空 pollurl -404004 SDK 云函数错误:云函数调用内部失败:空 poll 结果 json -404005 SDK 云函数错误:云函数调用失败:超出最大正常结果轮询尝试次数 -404006 SDK 云函数错误:云函数调用内部失败:空 base resp -404007 SDK 云函数错误:云函数调用失败:baseresponse.errcode 非 0 -404008 SDK 云函数错误:云函数调用失败:v1 轮询状态码异常 -404009 SDK 云函数错误:云函数调用内部失败:轮询处理异常 -404010 SDK 云函数错误:云函数调用失败:轮询结果已超时过期1 -404011 SDK 云函数错误:云函数调用失败:函数执行失败 -404012 SDK 云函数错误:云函数调用失败:超出最大轮询超时后尝试次数2 -40400x SDK 云函数错误:云函数调用失败 -404011 SDK 云函数错误:云函数执行失败 -501002...