- 鸿蒙SDK图片分享超过70KB直接失败
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/ohos.htmlhttps://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/ohos.html /*base64类型分享*/ public async shareImageWithBase64(data: string): Promise<boolean> { let imageObject = new wxopensdk.WXImageObject let dataBuffer: buffer.Buffer = buffer.from(data); //微信分享,最大支持100k的图片,需要对图片进行压缩 if (dataBuffer.length > 100 * 1024) { const thumbPixel = image.createImageSource(dataBuffer.buffer).createPixelMapSync() //对图片进行压缩 let compressBufffer = await this.compressImageTo100KB(thumbPixel) console.log('compress image size: ' + compressBufffer.byteLength) dataBuffer = buffer.from(compressBufffer) } console.log('current image size: ' + dataBuffer.length) imageObject.imageData = dataBuffer.toString('base64', 0, dataBuffer.length); let result = await this.sendShareReq(imageObject) console.log('share result: ' + result) return result } //对图片进行压缩 private async compressImageTo100KB(pixeMap: image.PixelMap): Promise<ArrayBuffer> { const maxCompressedImageSize = 80;//100KB const MaxCompressedImageByte = maxCompressedImageSize * 1024; let quality = 50 let compressedImageData = await image.createImagePacker().packing(pixeMap, { format: "image/jpeg", quality: quality }) console.log('first compress image size: ' + compressedImageData.byteLength) if (MaxCompressedImageByte > compressedImageData.byteLength) { console.log('压缩一次合格,直接返回') return compressedImageData } else { let imageScale = 1; const REDUCE_SCALE = 0.05; while (compressedImageData.byteLength > MaxCompressedImageByte) { quality -= 10 if (quality < 0) { quality = 0 } // 如果不满足,則通过逐渐减少图片的缩放比例和图片质量来尝试压缩 imageScale -= REDUCE_SCALE; await pixeMap.scale(imageScale, imageScale); compressedImageData = await image.createImagePacker().packing(pixeMap, { format: "image/jpeg", quality: quality}); console.log('多次压缩后的图片大小: ' + compressedImageData.byteLength); } return compressedImageData; } } 下面是成功的打印日志: 01-10 15:26:34.031 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I first compress image size: 142541 01-10 15:26:34.088 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 112346 01-10 15:26:34.126 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 84589 01-10 15:26:34.160 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 54279 01-10 15:26:34.160 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I compress image size: 54279 01-10 15:26:34.160 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I current image size: 54279 01-10 15:26:34.178 33327-33327 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I share result: true 当图片大小70+KB的时候,直接失败 01-10 15:31:49.909 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I first compress image size: 142308 01-10 15:31:49.964 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 126455 01-10 15:31:50.021 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 113236 01-10 15:31:50.061 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 97506 01-10 15:31:50.097 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I 多次压缩后的图片大小: 78873 01-10 15:31:50.097 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I compress image size: 78873 01-10 15:31:50.097 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I current image size: 78873 01-10 15:31:50.101 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.103 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.106 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.108 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.110 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.113 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos E [wxopensdk::WXApi] openWechat fail by err:{"code":16000050} 01-10 15:31:50.113 39058-39058 A03D00/com.kin....tbxhos/JSAPP com.kings...t.tbxhos I share result: false
01-10 - 鸿蒙版本进行微信分享bug
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/ohos.html 由于没有鸿蒙相关选项,这里选择了iOS和小程序,实际是通过微信鸿蒙SDK进行分享到微信客户端: "@tencent/wechat_open_sdk": "1.0.6" 分享鸿蒙应用市场的应用到微信,打开显示空白,点击分享卡片打开后,页面显示空白。应用链接地址:https://appgallery.huawei.com/app/detail?id=com.kingsunsoft.tbxhos
01-07 - 微信公众平台,右上角工具→生成小程序码的有效期是多久?生成的小程序码扫码的时候是否有频率、次数限制
微信公众平台,右上角工具→生成小程序码的有效期是多久?生成的小程序码扫码的时候是否有频率、次数限制。比如我要把指定页面生成的码拿去印刷,用户在扫码的时候是否有扫码次数的限制
2022-12-15