- 微信小程序选择图片 wx.chooseImage & wx.chooseMedia?
chooseImage:fail privacy permission is not authori 莫名其妙选不了,昨天还可以。 1、隐私声明已通过 ‘开发者 收集你选中的照片或视频信息,用于用户订单完成时,用户评价订单。’ 有解决了吗?实际run了的
2023-08-16 - 车牌号正则表达式
新能源车 号码共8位,组成: 1.省份简称 [代码][京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领] [代码] 2.发牌机关代号字母[代码]A-Z[代码]; 3.序号位有6位数,分为小型车和大型车; 小型车。第1位:仅限字母[代码]ABCDEFGHJK[代码],第2位字母或者数字,后4位纯数字; [代码][DABCEFGHJK]([A-HJ-NP-Z0-9])[0-9]{4} [代码] 其中[代码]ABCDE[代码]代表纯电动车;[代码]FGHJK[代码]代表插电混动车或燃料电池车。 大型车。前5位纯数字,第6位仅限字母[代码]DF[代码]。 [代码][0-9]{5}[DF] [代码] 正则表达式: [代码][京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DABCEFGHJK]([A-HJ-NP-Z0-9])[0-9]{4})) [代码] 注意:序号位不存在字母I和O防止和1、0混淆; 普通车 组成: 省份简称 + 机关代号字母 + 5位字母或数字; 其中最后一位还包括汉字[代码]挂学警港澳使领[代码] 正则表达式: [代码][京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领] [代码] 代码示例 [代码]function isVehicleNumber(vehicleNumber) { const newReg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DABCEFGHJK]([A-HJ-NP-Z0-9])[0-9]{4}))$/ const oldReg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]$/ if (vehicleNumber.length === 7) { return oldReg.test(vehicleNumber); } else if (vehicleNumber.length === 8) { return newReg.test(vehicleNumber); // 京AA12345 } else { return false; } } [代码]
2022-10-11 - wx.canvasToTempFilePath预览报错fail invalid viewid?
问题描述:用canvas 2d生成图片后模拟器正常工作,但是用预览却报了fail invalid viewid.报错如下图。 调试基础库:3.0.0; 预览手机:iphone11 ios版本是16.6; 微信版本是8.0.40; [图片] 相关代码: Page({ data: { imageUrl: "", canvas: null, ctx: null, } onLoad() { wx.createSelectorQuery() .select('#myCanvas') .fields({ node: true, size: true }) .exec((res) => { const canvas = res[0].node const ctx = canvas.getContext('2d') this.setData({canvas, ctx}) }) }, addSelectBox(tempFilePaths) { return new Promise( async (resolve, reject) => { const imgInfo = await wx.getImageInfo({ src: this.data.imageUrl }) this.data.canvas.width = imgInfo.width this.data.canvas.height = imgInfo.height const img = this.data.canvas.createImage() img.src = this.data.imageUrl img.onload=()=>{ this.data.ctx.drawImage(img, 0, 0,imgInfo.width,imgInfo.height) this.data.ctx.beginPath(); this.data.ctx.lineWidth=3; this.data.ctx.strokeStyle="red"; this.data.ctx.rect(this.data.location.left, this.data.location.top, this.data.location.width, this.data.location.height) this.data.ctx.stroke(); wx.canvasToTempFilePath({ canvas: this.data.canvas, success: (res) => { console.log(res.tempFilePath) this.setData({ imageUrl: res.tempFilePath}) resolve(res.tempFilePath) }, fail: (e)=> { console.log(e) }, }) } }) },
2023-08-13