你试下体验版 因为真机测试的canvas 时常有点问题
电脑上能进行保存操作,但是真机调试无法保存downloadImages: function (path, context, p) { const that = this; const ob = path.split('Url')[0]; return new Promise((resolve, reject) => { wx.downloadFile({ url: String(this.data[path]), success(res) { context.drawImage(res.tempFilePath, that.data[ob].x, that.data[ob].y, p, p); context.draw(true, () => { resolve(); // 成功时 resolve }); }, fail(error) { console.log(error); reject(error); // 失败时 reject } }); }); }, saveImage: function () { this.getCanvas().then(async () => { const context = wx.createCanvasContext('myCanvas'); context.width = this.data.canvasWidth; context.height = this.data.canvasHeight; context.setFillStyle('white'); context.fillRect(0, 0, 600, 700); async function getSystemInfoAsync(context) { return new Promise((resolve, reject) => { wx.getSystemInfo({ success: (res) => { var rpx = 150; var px = rpx * (res.windowWidth / 750); context.setData({ imgSize: px, }); resolve(); }, fail: (error) => { reject(error); } }); }); } await getSystemInfoAsync(this); const p = this.data.imgSize const that = this; console.log("sss"); // 绘制图片 if (this.data.faceUrl) { await this.downloadImages('faceUrl', context, p); } if (this.data.eyeUrl) { await this.downloadImages('eyeUrl', context, p); } if (this.data.eyebrowUrl) { await this.downloadImages('eyebrowUrl', context, p); } if (this.data.mouthUrl) { await this.downloadImages('mouthUrl', context, p); } if (this.data.gestureUrl) { await this.downloadImages('gestureUrl', context, p); } if (this.data.footUrl) { await this.downloadImages('footUrl', context, p); } if (this.data.decorateUrl) { await this.downloadImages('decorateUrl', context, p); } console.log("aaa"); context.draw(true, function () { // 将Canvas内容保存为本地文件 console.log("bbb") wx.canvasToTempFilePath({ canvasId: 'myCanvas', success: function (res) { // 保存到相册 wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function () { wx.showToast({ title: '保存成功', icon: 'success', duration: 2000 }); }, fail: function (error) { console.error('保存失败', error); } }); // 清空 Canvas context.clearRect(0, 0, that.data.canvasWidth, that.data.canvasHeight); context.draw(); // 重新绘制空画布 }, fail: function (error) { console.error('canvasToTempFilePath 失败', error); } }); }); }) },
02-20不能哦
同一个小程序,可以绑定两个不同的主体吗?同一个小程序,可以绑定两个不同的主体吗?比如有一个小程序A,但是目前绑定的主体是B公司,同时该小程序想绑定合作公司C,这个情况应该如何处理呢? https://developers.weixin.qq.com/miniprogram/introduction/
02-20得写的详细点,而且建议多申请几次,是挺难通过的
开通wx.getLocation,几次了,都是:无法确认申请接口使用场景?[图片][图片] 智能购物柜,需要用户在距离设备50M以内的距离进行扫码,才能开柜购物。 理货员也需要在距离设备50M范围内方可扫码开柜补货。 故需要开通wx.getLocation接口,进行定位判断。 这样描述都不能确认申请接口使用场景,腾讯审核人员脑子不用想事的吗?
02-20docx word的格式
互联网信息服务承诺书 下载的模板格式没后缀打不开,是有要求吗[图片][图片][图片]
02-19可以用css3 transform: rotate(90deg) 改下,没有系统配置的横竖配置
怎么做竖过来的slider?[图片]我想要竖过来的滑动条,目的是地图层级的滑动条,小程序小白一枚,希望有大佬能解答
02-19自己电脑吗?还是公司电脑。。。
微信登录环境存在异常,强制退出微信账号Serendipity_Luobeier 之前没问题,今天中午连续3-4次出现微信登录环境存在异常,强制退出,现在已不敢登录微信 [图片]
02-19电影吗? 短视频不需要,只要你小程序类目选的对就行, 不过。。。如果你播放有版权的,当心被举报封号
小程序中包含视频类的资料,必须要提交许可证吗?小程序中包含文件类、视频类的资料,那播放视频的话,必须要有许可证吗?
02-19这种情况很多,涉及到你的标题是否有一些关键词,敏感词什么的,你可以自己先排查下 [图片]
公众号文章搜一搜,整个标题都搜不到自己的文章?问题反馈:公众号文章搜一搜,整个标题搜索搜不到自己的文章,输入公众号全称也搜不到自己的文章,麻烦技术帮忙处理一下 08:24 gh_c2dbd0336e8b gh_7c03cde9feb4 gh_188e6407c7dc gh_31969ed3abf4
02-19CSS的裁切和svg都行 不过你这个弧度变化,估计直接切PNG图会方便点 如果你的tab很多,那可以用svg 来改色
请问这样的边框样式是如何实现的?[图片] 请问这样的边框样式是如何实现的?
02-18可以的,但用户可以拒绝,要做好引导
addPhoneCalendar授权后是否可以直接添加到系统日历?小程序有一个需求场景:用户填写预约日期后,希望可以直接添加多个系统日历,比如用户预约日期是7月30日,提前5天、3天、1天分别提醒一次。 为了简化用户操作,同时满足需求,计划使用addPhoneCalendar接口。 非技术人员想确定产品方案是否可行,如果每次提醒都会弹出系统日历,那这个方案可能就不太合适。 或者小程序针对这种需求场景,是否有其他更好的方案建议
02-18