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

调试 vConsole 在真机上,如果想要查看 console API 输出的日志内容和额外的调试信息,需要在点击屏幕右上角的按钮打开的菜单里选择「打开调试」。此时小程序/小游戏会退出,重新打开后会右下角会出现一个 vConsole 按钮。点击 vConsole 按钮可以打开日志面板。 小程序和小游戏的 vConsole 展示内容会有一定差别,下图左边是小程序 vConsole,右边是小游戏 vConsole vConsole 使用说明 由于实现机制的限制,开发者调用 console API 打印的日志内容,是转换成 JSON 字符串后传输给 vConsole 的,导致 vConsole 中展示的内容会有一些限制: 除了 Number、String、Boolean、null 外,其他类型都会被作为 Object 处理展示,打印对象及原型链中的 Enumerable 属性。 Infinity 和 NaN 会显示为 null。 undefined、ArrayBuffer、Function 类型无法显示 无法打印存在循环引用的对象 let a = {} a.b = a console.log(a) // 2.3.2 以下版本,会打印 `An object width circular reference can't be logged` 针对上述问题,小程序/小游戏在使用 vConsole 时做了一些处理 2.3.2 及以上版本,支持打印循环引用对象。循环引用的对象属性会显示引用路径,@表示对象本身。 const circular = { x: {}, c: {} } circular.x = [{ promise: Promise.resolve() }] circular.a = circular circular.c.x0 = circular.x[0] console.log(circular) // "{a: '<Circular: @>', c: {x0: '<Circular: @.x[0]>'}, x: [{promise: '<Promise>'}]}" 2.3.1 及以上版本,支持展示所有类型的数据。基础库会对日志内容进行一次转换,经过转换的内容会使用<>包裹。如: <Function: func> <Undefined> <Infinity> <Map: size=0> <ArrayBuffer: byteLength=10> … 2.2.3 ~ 2.3.0 版本中,可以展示 ArrayBuffer 和 Function 类型,undefined 会被打印为字符串 ‘undefined’ 注:尽量避免在非调试情景下打印结构过于复杂或内容过长的日志内容(如游戏引擎中的精灵或材质对象等),可能会带来额外耗时。为了防止异常发生,日志内容超过一定长度会被替换为<LOG_EXCEED_MAX_LENGTH>,此时需要开发者裁剪日志内容。 Source Map 目前只在 iOS 6.7.2 及以上版本支持 小程序/小游戏在打包时,会将所有 js 代码打包成一个文件,为了便于开发者在手机上调试时定位错误位置,小程序/小游戏提供了 Source Map 支持。 在开发者工具中开启 ES6 转 ES5、代码压缩时,会生成 Source Map 的 .map 文件。开发版小程序中,基础库会使用代码包中的 .map 文件,对 vConsole 中展示的错误信息堆栈进行重新映射(只对开发者代码文件进行)。 如果使用外部的编译脚本对源文件进行处理,只需将对应生成的 Source Map 文件放置在源文件的相同目录下 如: pages/index.js pages/index.js.map app.js...

原生模板 广告 小程序广告流量主操作指引:文档地址 开发者可以使用 ad-custom 组件创建 原生模板 广告组件,原生模板 广告组件在创建后会自动拉取广告数据并显示。 广告尺寸设置 原生模板 广告不允许直接设置样式属性,默认宽度为100%(width: 100%),高度会自动等比例计算,因此开发者可以设置广告外层组件的宽度调整广告的尺寸。 广告外层组件的宽度和具体模板相关,具体可以参考模板编辑器文档。 /* 外层组件的宽度可设置成100%或具体数值 */ .adContainer { width: 100%; } <view class="adContainer"> <ad-custom unit-id="xxxx"></ad-custom> </view> 广告事件监听 原生模板 广告在创建后会自动拉取广告。开发者可以通过 ad-custom 组件的 onload 和 onerror 事件监听广告拉取成功或失败。 <view class="adContainer"> <ad-custom unit-id="xxxx" bindload="adLoad" binderror="adError"></ad-custom> </view> Page({ adLoad() { console.log('原生模板广告加载成功') }, adError(err) { console.log('原生模板广告加载失败', err) } }) 广告定时刷新 开发者可以在创建 原生模板 广告时传入 ad-intervals 参数实现广告的定时刷新,ad-intervals 参数为数字类型,单位为秒。注意:自动刷新的间隔不能低于30秒,因此 ad-intervals 的参数值必须大于或等于30。 <view class="adContainer"> <ad-custom unit-id="xxxx" ad-intervals="30"></ad-custom> </view>

Grid 广告 小程序广告流量主操作指引:文档地址 开发者可以使用 ad 组件创建 Grid 广告组件,Grid 广告组件在创建后会自动拉取广告数据并显示。 广告尺寸设置 Grid 广告不允许直接设置样式属性,默认宽度为100%(width: 100%),高度会自动等比例计算,因此开发者可以设置广告外层组件的宽度调整广告的尺寸。格子广告有最小尺寸限制,5个的形态为331px,8个的形态为294px。 /* 外层组件的宽度可设置成100%或具体数值 */ .adContainer { width: 100%; } <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" ad-theme="white" grid-count="5"></ad> </view> 广告事件监听 Grid 广告在创建后会自动拉取广告。开发者可以通过 ad 组件的 onload 和 onerror 事件监听广告拉取成功或失败,可以通过 onclose 事件监听广告被关闭。 <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" ad-theme="white" grid-count="5" bindload="adLoad" binderror="adError" bindclose="adClose"></ad> </view> Page({ adLoad() { console.log('Grid 广告加载成功') }, adError(err) { console.log('Grid 广告加载失败', err) }, adClose() { console.log('Grid 广告关闭') } }) 广告主题样式设置 小程序视频广告组件提供黑、白两种主题样式,开发者可以在创建视频广告时传入ad-theme参数实现主题样式选择,ad-theme参数为字符串类型,参数值可选white, black <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" ad-theme="white"></ad> </view> <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" ad-theme="black"></ad> </view> 广告格子个数设置 小程序视频广告组件提供黑、白两种主题样式,开发者可以在创建视频广告时传入grid-count参数实现主题样式选择,grid-count参数为数字类型,参数值可选5, 8 <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" grid-count="5"></ad> </view> <view class="adContainer"> <ad unit-id="xxxx" ad-type="grid" grid-count="8"></ad> </view>

小程序视频广告 小程序广告流量主操作指引:文档地址 开发者可以使用 ad 组件创建小程序视频广告组件,视频广告组件在创建后会自动拉取广告数据并显示。暂时仅支持在同层渲染模式下使用,且不支持嵌套使用。 广告尺寸设置 小程序视频广告不允许直接设置样式属性,默认宽度为100%(width: 100%),高度会自动等比例计算,因此开发者可以设置广告外层组件的宽度调整广告的尺寸。 广告外层组件的宽度不允许小于屏幕宽度90%,当宽度小于屏幕宽度的90%时,视频广告组件的宽度会强制调整为屏幕宽度的90%。 /* 外层组件的宽度可设置成100%或具体数值 */ .adContainer { width: 100%; } <view class="adContainer"> <ad unit-id="xxxx" ad-type="video" ad-theme="white"></ad> </view> 广告主题样式设置 小程序视频广告组件提供黑、白两种主题样式,开发者可以在创建视频广告时传入ad-theme参数实现主题样式选择,ad-theme参数为字符串类型,参数值可选white, black <view class="adContainer"> <ad unit-id="xxxx" ad-type="video" ad-theme="white"></ad> </view> <view class="adContainer"> <ad unit-id="xxxx" ad-type="video" ad-theme="black"></ad> </view> 广告事件监听 视频广告在创建后会自动拉取广告。开发者可以通过 ad 组件的 onload 和 onerror 事件监听广告拉取成功或失败,可以通过 onclose 事件监听广告被关闭。 <view class="adContainer"> <ad unit-id="xxxx" ad-type="video" ad-theme="white" bindload="adLoad" binderror="adError" bindclose="adClose"></ad> </view> Page({ adLoad() { console.log('小程序视频广告加载成功') }, adError(err) { console.log('小程序视频广告加载失败', err) }, adClose() { console.log('小程序视频广告关闭') } }) 广告定时刷新 小程序视频广告组件不适用于定时刷新参数ad-intervals

物流助手-打单软件 介绍 商户可以通过打单软件,自助打印面单 使用说明 通过 updatePrinter API 更新打印员。 打印员扫码登录、选择商户。 配置热敏打印机(PC端需安装打印机驱动,并选择203dpi分辨率)。 拉取面单,打印需要的面单;或启用自动打印,新订单下单成功即会自动打印。 最新版本下载地址 Windows 支持 Windows XP 及以上版本。 更新日志 v1.0.0 (2019.01.16) 支持打印员扫码登录。 支持不同快递配置独立打印机。 支持手动拉取订单,保存或打印面单。 支持自动拉取订单、自动打印面单。 其它打印方式 你也可以使用微信物流助手对接的第三方打单软件打印面单,当前已支持的第三方打单软件为: 快递管家 点击获取对接指引 更多第三方持续对接中,请期待

Banner 广告 小程序广告流量主操作指引:文档地址 开发者可以使用 ad 组件创建 Banner 广告组件,Banner 广告组件在创建后会自动拉取广告数据并显示。 广告尺寸设置 Banner 广告不允许直接设置样式属性,默认宽度为100%(width: 100%),高度会自动等比例计算,因此开发者可以设置广告外层组件的宽度调整广告的尺寸。 广告外层组件的宽度不允许小于300px,当宽度小于300px时,Banner 广告的宽度会强制调整为300px。 /* 外层组件的宽度可设置成100%或具体数值 */ .adContainer { width: 100%; } <view class="adContainer"> <ad unit-id="xxxx"></ad> </view> 广告事件监听 Banner 广告在创建后会自动拉取广告。开发者可以通过 ad 组件的 onload 和 onerror 事件监听广告拉取成功或失败,可以通过 onclose 事件监听广告被关闭。 <view class="adContainer"> <ad unit-id="xxxx" bindload="adLoad" binderror="adError" bindclose="adClose"></ad> </view> Page({ adLoad() { console.log('Banner 广告加载成功') }, adError(err) { console.log('Banner 广告加载失败', err) }, adClose() { console.log('Banner 广告关闭') } }) 广告定时刷新 开发者可以在创建 Banner 广告时传入 ad-intervals 参数实现广告的定时刷新,ad-intervals 参数为数字类型,单位为秒。注意:自动刷新的间隔不能低于30秒,因此 ad-intervals 的参数值必须大于或等于30。 <view class="adContainer"> <ad unit-id="xxxx" ad-intervals="30"></ad> </view>

联系我们 开发过程中遇到任何问题,请前往微信开放社区提问。 提问时,建议标题以【物流助手】开头,会第一时间解答你的疑问。

常见问题 问题1. 即时配送是什么? 即时配送是微信官方免费接口,旨在解决餐饮、生鲜、超市等小程序的外卖配送需求。接入后小程序商家可通过统一的接口获得多家配送公司的配送服务,提高经营效率。 问题2. 使用即时配送有什么好处? 满足多品类配送需求可满足餐饮、生鲜、商超等多品类的配送需求 接口完全免费即时配送接口是官方提供的基础能力,完全免费开放 提升用户收货体验配送详情将通过微信服务通知下发给用户,提升收货体验。服务通知包括骑手已接单,骑手已取货、配送中,配送完成和配送异常四种状态 统一对接节约成本本接口已统一对接多家配送公司下单接口,可直接生成配送单 增加用户回访小程序入口配送详情的服务通知可跳转商家小程序,提升用户回访率 问题3. 接口收费吗? 即时配送是微信官方接口能力,完全免费的。 问题4. 目前已经支持哪些配送公司了? 问题5. 配送费用怎么结算? 目前商家使用即时配送的前提是商家已经是本接口支持的配送公司的客户。结算模式按原有商家和配送公司的结算模式来进行。 问题6. 接入即时配送的流程是怎么样的? 前提:商家需先和配送公司已达成合作关系,签约了账号才可使用本接口下单。 例如:选择闪送下单,需事先和闪送沟通,在闪送创建一个合作账号以后,再来对接微信即时配送Api。 步骤1:登录微信公众平台,授权绑定配送公司的签约账号,流程拆解为: 商家登录微信公众平台,点击右侧菜单【物流助手】——点击【即时配送】tab——去接入; 选择已经有合作账号的配送公司,如合作公司为闪送,跳转闪送的授权登录页面,输入在闪送的合作账号和密码后,授权登录; 合作的运力公司返回授权结果,商家后续即可使用该授权过的合作账号下单。 步骤2:对接即时配送Api(商家查看),预计需要2-3天 查看相关接口和事件 开发接口文档:你可自行开发或授权服务商开发,遇到问题可前往微信开放社区提问; 步骤3:测试联调 我们提供了稳定的沙盒环境供你开发过程进行调试,请先在沙盒环境调试完毕后再正式调用接口发单,测试指引需补充。 步骤4:上线发单 调试通过后即可上线,骑手接单后,你和用户均可接收配送详情的推送。 问题7. 商家没有开发能力,可以让服务商代开发吗? 可以的,服务商代开发的流程为: 商家登录微信公众平台,点击右侧菜单【物流助手】——点击【即时配送】tab——去接入; 选择已经有合作账号的配送公司,如合作公司为闪送,跳转闪送的授权登录页面,输入在闪送的合作账号和密码后,授权登录; 商家将整体即时配送权限集授权给服务商; 服务商对接Api,完成后续流程开发; 备注:服务商可以通过getBindAccount接口,查询到商家已授权绑定的配送公司合作账号。 问题8. 怎么获取我在配送公司的appkey和appsecret? 详见配送公司信息 问题9. 用户会收到哪些配送通知? 当状态更新时,我们会在关键节点给收件用户推送服务通知,告知配送状态,同一配送单常态下会收到三条通知,即【骑手已接单】、【骑手已取货,配送中】、【配送已完成】,配送异常时会下发【配送异常】服务通知。 问题10. 达达开放平台授权绑定提示“已开通其他渠道” 达达的商户号只能绑定一个渠道,请检查是否已经绑定达达开放平台的开发者帐号,需要先解绑。 问题11. 开发过程中遇到问题怎么办? 请前往微信开放社区提问,提问时请以【物流助手】开头,我们会第一时间解答你的问题。

即时配送接口(商家查看) 1. 概述 即时配送接口,微信官方免费接口,旨在解决餐饮、生鲜、超市等小程序的外卖配送需求。接入后小程序商家可通过统一的接口获得多家配送公司的配送服务,提高经营效率。 2. 接入有什么好处 满足多品类配送需求可满足餐饮、生鲜、商超等多品类的配送需求 接口完全免费即时配送接口是官方提供的基础能力,完全免费开放 提升用户收货体验配送详情将通过微信服务通知下发给用户,提升收货体验。服务通知包括骑手已接单,骑手已取货、配送中,配送完成和配送异常四种状态 统一对接节约成本本接口已统一对接多家配送公司下单接口,可直接生成配送单 增加用户回访小程序入口配送详情的服务通知可跳转商家小程序,提升用户回访率 3. 支持的配送公司 4. 对接流程 前提:商家需先和配送公司已达成合作关系,签约了账号才可使用本接口下单。 例如:选择闪送下单,需事先和闪送沟通,在闪送创建一个合作账号以后,再来对接微信即时配送Api。 步骤1:登录微信公众平台,授权绑定配送公司的签约账号,流程拆解为: (1)商家登录微信公众平台,点击右侧菜单【物流助手】——点击【即时配送】tab——去接入;(2)选择已经有合作账号的配送公司,如合作公司为闪送,跳转闪送的授权登录页面,输入在闪送的合作账号和密码后,授权登录;(3)合作的运力公司返回授权结果,商家后续即可使用该授权过的合作账号下单。 步骤2:对接即时配送Api(商家查看),预计需要2-3天 (1)查看接口文档(2)开发接口文档:你可自行开发或授权服务商开发,遇到问题可前往微信开放社区提问; 步骤3:测试联调 我们提供了稳定的沙盒环境供你开发过程进行调试,请先在沙盒环境调试完毕后再正式调用接口发单,测试指引需补充。 步骤4:上线发单 调试通过后即可上线,骑手接单后,你和用户均可接收配送详情的推送。

获取小程序码 通过后台接口可以获取小程序任意页面的小程序码,扫描该小程序码可以直接进入小程序对应的页面,所有生成的小程序码永久有效,可放心使用。 我们推荐生成并使用小程序码,它具有更好的辨识度,且拥有展示“公众号关注组件”等高级能力。 生成的小程序码如下所示: 可以使用开发工具 1.02.1803130 及以后版本通过二维码编译功能调试所获得的二维码 为满足不同需求和场景,这里提供了两个接口,开发者可挑选适合自己的接口。 接口 A: 适用于需要的码数量较少的业务场景 生成小程序码,可接受 path 参数较长,生成个数受限,数量限制见 注意事项,请谨慎使用。 接口 B:适用于需要的码数量极多的业务场景 生成小程序码,可接受页面参数较短,生成个数不受限。 获取小程序二维码(不推荐使用) 通过后台接口可以获取小程序任意页面的小程序二维码,生成的小程序二维码如下所示: 接口 C:适用于需要的码数量较少的业务场景 生成二维码,可接受 path 参数较长,生成个数受限,数量限制见 注意事项。 获取小程序码(一物一码) 微信一物一码 支持生成小程序码。微信通过“一物一码”接口发放的二维码相比较普通链接二维码更安全、支持更小的印刷面积,支持跳转到指定小程序页面,且无数量限制。 接口 D:适用于“一物一码”的业务场景 注意事项 接口只能生成已发布的小程序的二维码 接口 A 加上接口 C,总共生成的码数量限制为 100,000,请谨慎调用。 接口 B 调用分钟频率受限(5000次/分钟),如需大量小程序码,建议预生成。