- 新版canvas的drawImage当第一个参数是canvas时在IOS上无效
IOS 16.3.1 点击按钮时,将canvas1的内容绘制到canvas2,在开发工具与安卓客户端表现正常,在ios客户端无反应,不报错。 <!--index.wxml--> <view class="container"> <canvas id="canvas1" type="2d" style="width: 100px;height: 100px;"></canvas> <canvas id="canvas2" type="2d" style="width: 100px;height: 100px;"></canvas> <button type="primary" bindtap="draw">点击drawImage</button> </view> // index.js // 获取应用实例 const app = getApp() Page({ data: { canvas1:{}, ctx1:{}, canvas2:{}, ctx2:{}, }, onLoad() { console.log(this.data.canvas1,this.data.canvas2) wx.createSelectorQuery() .select('#canvas1') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 this.data.canvas1 = res[0].node // Canvas 画布的实际绘制宽高 const renderWidth = res[0].width const renderHeight = res[0].height // Canvas 绘制上下文 this.data.ctx1 = this.data.canvas1.getContext('2d') // 初始化画布大小 const dpr = wx.getWindowInfo().pixelRatio this.data.canvas1.width = renderWidth * dpr this.data.canvas1.height = renderHeight * dpr this.data.ctx1.scale(dpr, dpr) this.data.ctx1.fillStyle = "#F00"; this.data.ctx1.fillRect(0,0,100,100); console.log(this.data.canvas1) }) wx.createSelectorQuery() .select('#canvas2') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 this.data.canvas2 = res[0].node // Canvas 画布的实际绘制宽高 const renderWidth = res[0].width const renderHeight = res[0].height // Canvas 绘制上下文 this.data.ctx2 = this.data.canvas2.getContext('2d') // 初始化画布大小 const dpr = wx.getWindowInfo().pixelRatio this.data.canvas2.width = renderWidth * dpr this.data.canvas2.height = renderHeight * dpr this.data.ctx2.scale(dpr, dpr); this.data.ctx2.fillStyle = "#0F0"; this.data.ctx2.fillRect(0,0,100,100); console.log(this.data.canvas2) }) }, draw() { console.log(this.data.canvas1); this.data.ctx2.drawImage(this.data.canvas1,0,0,100,100,0,0,100,100); } })
2023-07-18 - 新版canvas的drawImage当第一个参数是canvas时在IOS上无效
IOS 16.3.1 点击按钮时,将canvas1的内容绘制到canvas2,在开发工具与安卓客户端表现正常,在ios客户端无反应,不报错。 <!--index.wxml--> <view class="container"> <canvas id="canvas1" type="2d" style="width: 100px;height: 100px;"></canvas> <canvas id="canvas2" type="2d" style="width: 100px;height: 100px;"></canvas> <button type="primary" bindtap="draw">点击drawImage</button> </view> // index.js // 获取应用实例 const app = getApp() Page({ data: { canvas1:{}, ctx1:{}, canvas2:{}, ctx2:{}, }, onLoad() { console.log(this.data.canvas1,this.data.canvas2) wx.createSelectorQuery() .select('#canvas1') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 this.data.canvas1 = res[0].node // Canvas 画布的实际绘制宽高 const renderWidth = res[0].width const renderHeight = res[0].height // Canvas 绘制上下文 this.data.ctx1 = this.data.canvas1.getContext('2d') // 初始化画布大小 const dpr = wx.getWindowInfo().pixelRatio this.data.canvas1.width = renderWidth * dpr this.data.canvas1.height = renderHeight * dpr this.data.ctx1.scale(dpr, dpr) this.data.ctx1.fillStyle = "#F00"; this.data.ctx1.fillRect(0,0,100,100); console.log(this.data.canvas1) }) wx.createSelectorQuery() .select('#canvas2') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 this.data.canvas2 = res[0].node // Canvas 画布的实际绘制宽高 const renderWidth = res[0].width const renderHeight = res[0].height // Canvas 绘制上下文 this.data.ctx2 = this.data.canvas2.getContext('2d') // 初始化画布大小 const dpr = wx.getWindowInfo().pixelRatio this.data.canvas2.width = renderWidth * dpr this.data.canvas2.height = renderHeight * dpr this.data.ctx2.scale(dpr, dpr); this.data.ctx2.fillStyle = "#0F0"; this.data.ctx2.fillRect(0,0,100,100); console.log(this.data.canvas2) }) }, draw() { console.log(this.data.canvas1); this.data.ctx2.drawImage(this.data.canvas1,0,0,100,100,0,0,100,100); } })
2023-07-16 - 文档参数错了
https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/domain-management/modifyJumpDomainDirectly.html
2022-08-18 - wx.chooseMessageFile extension bug反馈
wx.chooseMessageFile({ count: 1, type:'file', extension:['XLSX'], success (res) {}, }); 以上代码在文件选择时对于后缀为小写*.xlsx等与指定类型大小写不完全一致的文件是不能选择的,不符合实际需求,希望能够改进。
2022-01-12 - 第三方平台消息转发到客服系统报错
我是第三方平台,要帮用户实现将公众号消息转给客服。 官方文档地址:https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html 我按照文档实现以后公众号会报错:该公众号提供的服务出现故障,请稍候再试 [图片] 故障报警内容如下: [图片] 我是用php实现的,代码如下: [图片] 要实现收到内容包含"人工"、"客服"的字样时转给客服,其它时候回复“您好”。 看第一张图“您好”是可以正常收到的,说明后面的加密回复过程是没问题的,问题应该还是出在了$reply的内容上,我查了好多资料,有人说CreateTime要用取收到的CreateTime,我试了也不行。 我试了不通过第三方直接用公众号的api配置实现转客服的功能,明明我配置了消息需要加密,但回复加密消息没有用,直接回复不加密的xml内容的时候是可以正常工作的,逻辑何在? 第三方平台我试了不论是按照上面截图那样回复加密消息,还是直接回复xml都无法正常工作。
2020-12-13 - 第三方平台消息转发到客服系统报错是为什么?
我是第三方平台,要帮用户实现将公众号消息转给客服。 官方文档地址:https://developers.weixin.qq.com/doc/offiaccount/Customer_Service/Forwarding_of_messages_to_service_center.html 我按照文档实现以后公众号会报错:该公众号提供的服务出现故障,请稍候再试 [图片] 故障报警内容如下: [图片] 我是用php实现的,代码如下: [图片] 要实现收到内容包含"人工"、"客服"的字样时转给客服,其它时候回复“您好”。 看第一张图“您好”是可以正常收到的,说明后面的加密回复过程是没问题的,问题应该还是出在了$reply的内容上,我查了好多资料,有人说CreateTime取收到的CreateTime,我试了也不行。有没有达人知道问题出在哪里?
2020-12-08