+身份证号码
能不能把所有的异步方法改成Promise的- 需求的场景描述(希望解决的问题) 每一次用异步的时候都要写一堆的回调,比如登录吧 [代码]wx.login({[代码][代码] [代码][代码]success: res => {[代码]}[代码]});[代码]当然还有其他的异步都需要这样的回调,不觉得很low吗? 说实话,这种写法都是几年前的方式了,既然时代在进步,为什么这些异步的方法不可以全部换成Promise的呢? - 希望提供的能力 所有异步操作统一处理为Promise返回,例如登录 [代码]wx.login().then(res=>{[代码][代码]})[代码][代码] [代码]
2018-07-16@ 小辣椒 @Ltt 自顶。没有有官方人员帮忙看下。灰常感谢!!🙏🙏🙏
backgroundAudioManager第一次获取不到duration文档上说backgroundAudioManager.duration在有合法src的时候会返回。 我是在backgroundAudioManager的onCanplay的回调里面去获取duration的。工具没问题,但是手机上第一次访问的话 会出现 null。 请问这个是什么问题,有没有什么途径能保证 一定能获取到 这个duration? 非常感谢!!
2018-07-12自己提交之前做验证撒。这是我收藏的正则 [代码]/^(0\d{2,3}-?)?[0-9]{7,8}$/[代码]
小程序input 座机号验证小程序如何用正则表达式验证座机号
2018-07-10嗯。要用绘图的API,把文字、图片一个一个绘到canvas上,然后再用保存成图片
如何将页面内容生成图片,保存到相册view里有很多内容,怎么将内容生成为图片,然后保存到相册。 网上有很多说直接在canvas里,但是我试了不成功。不知道怎么做
2018-07-09可以把组件B里面数据请求的包装成一个函数放到methods里面。然后在A组件直接调用。
微信小程序组件问题- 需求的场景描述(希望解决的问题) 我在父级A调用子组件B,B数据的request方法是写在自身ready里的。 这样我就遇到了一个问题。我在其他页面修改了这份数据。再回到父级A进行刷新,其实B中ready里的方法并不会执行。页面无法实时更新。 - 希望提供的能力 在不改变页面结构的前提下,有解决问题的方法吗? ps 我并不希望通过A传值给B这一方法
2018-07-09获取用户信息是异步的吧。 这个page注册的时候并没有用户信息还没有返回。
用户信息展示app.js里面获取到用户信息,page.js里面怎么使用?
2018-06-28可以把每个下载包装成一个promise。然后在Promise.all里面处理
异步问题我想等一段代码执行结束之后我在执行下一段代码,应该怎么做,就是我现在下载一组图片,我想等带下载完成在执行下一段代码
2018-06-28我是用在data里面加一个currentIndex,表示当前处理到第几张。处理完一张就+1
回调函数执行顺序的问题,使用闭包也无法解决各位大佬请教一个问题。就是小程序上传图片时将图片进行压缩,当在相册中选择多张图片时,遍历图片路径来压缩图片,但是生成压缩图片路径时,ctx.draw()中的回调函数,始终只生成最后一张图片,我使用闭包的方式将i传进去也不行。如何解决? js部分代码: [代码]openCamera: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].data.userPublic.tempFilePaths.length >= 9) {[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]title: [代码][代码]'最多上传9张'[代码][代码],[代码][代码] [代码][代码]icon: [代码][代码]'success'[代码][代码],[代码][代码] [代码][代码]});[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]var[代码] [代码]photoCount = 9 - parseInt([代码][代码]this[代码][代码].data.userPublic.tempFilePaths.length);[代码][代码] [代码][代码]if[代码] [代码](photoCount > 0) {[代码][代码] [代码][代码]wx.chooseImage({[代码][代码] [代码][代码]count: photoCount, [代码][代码]// 默认9 [代码][代码] [代码][代码]sizeType: [[代码][代码]'compressed'[代码][代码]], [代码][代码]// 可以指定是原图还是压缩图,默认二者都有 [代码][代码] [代码][代码]sourceType: [[代码][代码]'album'[代码][代码], [代码][代码]'camera'[代码][代码]], [代码][代码]// 可以指定来源是相册还是相机,默认二者都有 [代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](msg) {[代码][代码] [代码][代码]// 上传图片[代码][代码] [代码][代码]//判断机型[代码][代码] [代码][代码]// console.log(msg);[代码][代码] [代码] [代码] [代码][代码]var[代码] [代码]model = [代码][代码]""[代码][代码];[代码][代码] [代码][代码]wx.getSystemInfo({[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]model = res.model;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]if[代码] [代码](model.indexOf([代码][代码]"iPhone"[代码][代码])>0) {[代码][代码] [代码][代码]saveImage(msg.tempFilePaths);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]drawCanvas(that);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 [代码][代码] [代码][代码]function[代码] [代码]saveImage(uu) {[代码][代码] [代码][代码]var[代码] [代码]cc = that.data.userPublic.tempFilePaths || [];[代码][代码] [代码][代码]if[代码] [代码](uu [代码][代码]instanceof[代码] [代码]Array){[代码][代码] [代码][代码]for[代码] [代码]([代码][代码]var[代码] [代码]i = 0; i < uu.length; i++) {[代码][代码] [代码][代码]cc.push(uu[i]);[代码][代码] [代码][代码]};[代码][代码] [代码][代码]}[代码][代码]else[代码][代码]{[代码][代码] [代码][代码]cc.push(uu);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]var[代码] [代码]tempFilePaths = [代码][代码]"userPublic.tempFilePaths"[代码][代码];[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码][tempFilePaths]: cc[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]function[代码] [代码]prodImageOpt(){[代码][代码] [代码][代码]wx.canvasToTempFilePath({[代码][代码] [代码][代码]canvasId: [代码][代码]'attendCanvasId'[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]success(res) {[代码][代码] [代码][代码]//console.log(res);[代码][代码] [代码][代码]wx.getImageInfo({[代码][代码] [代码][代码]src: res.tempFilePath,[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]// console.log(res.width);[代码][代码] [代码][代码]// console.log(res.height);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]saveImage(res.tempFilePath);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]} [代码][代码] [代码][代码]function[代码] [代码]drawCanvas(that) {[代码][代码] [代码][代码]var[代码] [代码]that = that;[代码][代码] [代码][代码]var[代码] [代码]ratio = 1;[代码][代码] [代码][代码]var[代码] [代码]viewWidth = 500;[代码][代码] [代码][代码]//console.log(that);[代码][代码] [代码][代码]const ctx = wx.createCanvasContext([代码][代码]'attendCanvasId'[代码][代码]);[代码][代码] [代码][代码]//console.log(ctx);[代码][代码] [代码][代码]//console.log(msg.tempFilePaths);[代码][代码] [代码][代码]for[代码] [代码]([代码][代码]var[代码] [代码]i = 0; i < msg.tempFilePaths.length; i++) {[代码][代码] [代码][代码]wx.getImageInfo({[代码][代码] [代码][代码]src: msg.tempFilePaths[i],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]// console.log(res.width);[代码][代码] [代码][代码]// console.log(res.height);[代码][代码] [代码][代码]ratio = res.width/res.height;[代码][代码] [代码][代码]// console.log(ratio);[代码][代码] [代码][代码]ctx.drawImage(msg.tempFilePaths[i], 0, 0, viewWidth, viewWidth / ratio);[代码][代码] [代码][代码]([代码][代码]function[代码][代码](e){[代码][代码] [代码][代码]return[代码] [代码]ctx.draw([代码][代码]false[代码][代码],[代码][代码]function[代码][代码](){[代码][代码] [代码][代码]console.log(e) //打印出来都是0,1,2,3...但是打印出处理后的照片却一直是最后一张选取的照片[代码][代码] [代码][代码]prodImageOpt();[代码][代码] [代码][代码]}); [代码][代码] [代码][代码]})(i);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码] [代码] [代码][代码]}[代码][代码] [代码][代码]// console.log(that.data);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码]html部分: [代码]<!--pages/public/piblic.wxml-->[代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"page-wrap"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]form[代码] [代码]catchsubmit[代码][代码]=[代码][代码]"formSubmit"[代码] [代码]catchreset[代码][代码]=[代码][代码]"formReset"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"page-section"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"textarea-wrp"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]textarea[代码] [代码]placeholder[代码][代码]=[代码][代码]"说些什么"[代码] [代码]placeholder-style[代码][代码]=[代码][代码]"color:#999"[代码] [代码]auto-focus[代码][代码]=[代码][代码]"true"[代码] [代码]style[代码][代码]=[代码][代码]"height:5em"[代码] [代码]name[代码][代码]=[代码][代码]"content"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{!postId}}"[代码] [代码]class[代码][代码]=[代码][代码]"page-section flex post-images"[代码] [代码]>[代码][代码] [代码][代码]<[代码][代码]block[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{userPublic.tempFilePaths}}"[代码] [代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]image[代码] [代码]class[代码][代码]=[代码][代码]"post-image"[代码] [代码]src[代码][代码]=[代码][代码]"{{item}}"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]block[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"add-image"[代码] [代码]bindtap[代码][代码]=[代码][代码]"openCamera"[代码][代码]>+</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{!postId}}"[代码] [代码]class[代码][代码]=[代码][代码]"page-section flex flex-row flex-vcenter"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"page-section-title flex-auto"[代码][代码]>仅自己可见</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]switch[代码] [代码]name[代码][代码]=[代码][代码]"is_anonymous"[代码] [代码]class[代码][代码]=[代码][代码]"flex-auto"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"btn-area"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]button[代码] [代码]type[代码][代码]=[代码][代码]"primary"[代码] [代码]formType[代码][代码]=[代码][代码]"submit"[代码][代码]>发布</[代码][代码]button[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]form[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]<[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]canvas[代码] [代码]style[代码][代码]=[代码][代码]"width:500px;height:700px;"[代码] [代码]canvas-id[代码][代码]=[代码][代码]"attendCanvasId"[代码] [代码]hidden[代码][代码]=[代码][代码]'true'[代码][代码]></[代码][代码]canvas[代码][代码]>[代码][代码]</[代码][代码]view[代码][代码]>[代码]但是选取4张不同的照片,却一直是显示最后一张。 [图片]
2018-06-28同样的问题。 请问楼主最后有没有找到解决办法?
textarea在页面底部时,调起键盘后textarea完全被遮挡!textarea官方实例,修改 <view class="page-section" >为<view class="page-section" style='margin-top:800px;'>后,textarea处于页面底部,textarea获取焦点激活键盘,键盘会把整个textarea遮挡,无法看见输入的内容。 本人手机华为荣耀,请问有解码? <view class="page-body"> <view class="page-section" style='margin-top:800px;'> <view class="page-section-title">输入区域高度自适应,不会出现滚动条</view> <view class="textarea-wrp"> <textarea bindblur="bindTextAreaBlur" auto-height /> </view> </view> <view class="page-section"> <view class="page-section-title">这是一个可以自动聚焦的textarea</view> <view class="textarea-wrp"> <textarea auto-focus="true" style="height: 3em" /> </view> </view> </view>
2018-06-22在线等。急
【求助】审核不通过之前小程序已经发布过两版了。 这版只是改了下bug。 又提示内容不完整,不通过审核了。 哪位大大帮忙解决下。万分感谢
2018-06-15