个人案例
- mina开发实用工具
本小程序主要用于展示一些在微信小程序开发中 实用的工具库
mina-tools-client扫码体验
- Y计算器
all in one 的计算能力合集
YCalculator扫码体验
- 求教大学生家教
帮助大学生和家长解决信息不对称的问题
求教大学生家教平台扫码体验
对的,看请求返回显示异常,稍后再试
社区的搜索功能挂了?当前时间:2019-07-19 14:21:52 问题:社区搜啥都搜不出来了。。。
2019-07-19建议额外使用状态管理
小程序父级数据传递给子级模板,模板怎么setdate父级页面的数据啊如题,是不是模板不能办到这样的工能啊,如果不能使用组件怎么破啊?求解
2019-07-16利用小程序前端即可实现。 利用wxAPI将arraybuffer转为base64:https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html 利用 wx.getFileSystemManager().writeFileSync()将base64存为本地文件即可
camera 相机回调后的数据如何存储为图片?获取 Camera 实时帧数据frame.data [代码]const listener = context.onCameraFrame((frame) => {[代码][代码] [代码][代码]console.log(frame.data [代码][代码]instanceof[代码] [代码]ArrayBuffer, frame.width, frame.height)[代码][代码] [代码] [代码]})[代码] 这个frame.data类型是ArrayBuffer [代码]data ArrayBuffer 图像像素点数据,一维数组,每四项表示一个像素点的 rgba[代码]如何将这个数据存储成一个图片? 尝试使用下面的java代码解析无法打开 [代码]Path path = Paths.get(fileDest);[代码][代码]Files.write(path, bFile);[代码]
2019-07-16+1,小程序老是有这种奇奇怪怪的bug
wx.getSystemInfo参数在普通编译和其他方式编译结果不同- 当前 Bug 的表现(可附上截图) 下面这个普通编译模式下获取的screenHeight和windowHeight是正常的 [图片] 下面这个是指定路径调试的结果(并且我发现,当指定的路径是二级页面这个数据就有问题,当路径仍然是一级页面,这个数据是没问题的) [图片] - 预期表现 按理说这个api是获取系统属性的。。不应当受其他因素的影响,就iphoneX而言,screenHeight:812和windowHeight:730是正常的; tips:我这个项目是分包加载的,加载的二级页面都是分包里面的页面,都是在app.js页面获取的系统属性
2019-07-09this.setData({[`judge[${current}]`]:true})
setData调用修改输出出现问题this.setData({'judge[current]':true}); 以此句进行修改值,会报错 Error: Only digits (0-9) can be put inside [] in the path string: judge[current] 但实际上current变量,为整型,打印出来的值为0 this.setData({'judge[0]':true}); 而把current直接以0代替,就不会有问题。 想请教一下各位大佬这是怎么回事?难道是在setData里不用以变量作为索引值???
2019-07-08无法获取元素高度那scroll-view高度适配不就是摆设了? 我测的iphone8p也是,第一次出来的高度和settimeout3000之后的高度居然不一样,我看了所有的获取高度第一次肯定不正确。官方一年过去了也还没处理这个bug。
boundingClientRect获取的高度不准确有个需要是判断当前滚动到什么位置,然后高亮顶部对应的菜单。因为元素的内容是从接口获取的,需要获取在获取数据并页面渲染完成之后的元素高度,在setdata的callback里使用 [代码] wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ rect.id // 节点的ID rect.dataset // 节点的dataset rect.left // 节点的左边界坐标 rect.right // 节点的右边界坐标 rect.top // 节点的上边界坐标 rect.bottom // 节点的下边界坐标 rect.width // 节点的宽度 rect.height // 节点的高度 }).exec()[代码]获取高度发现不一定是页面渲染之后的高度。 怎么样才能获取到元素的渲染后高度或者有什么其他的方法可以实现这个需求?
2019-05-25官方还没回答吗,我这边也是iPhone8p真机获取的高度也不正确,安卓机都是正常的
boundingClientRect 不准确//节点选择 wx.createSelectorQuery().select('#orderDeSec_idParam').boundingClientRect(function (secRect) { wx.createSelectorQuery().select('#bottom_idParam').boundingClientRect(function (bottomRect) { let tempConHei = (bottomRect.top - secRect.top)*2 -20 console.log('内容高度:', tempConHei) that.setData({ contHei: tempConHei }) }).exec() }).exec() 👆这个代码拿到的数据,在部分机型上不适配(模拟器都没适配完,iPhone5、Nexus系列都不对, 具体效果见代码片段:wechatide://minicode/ATBV14mi7ZTu
2019-05-25同样的问题,wxs处理格式化字符串在开发版里有一定几率会导致返回结果为空。同求官方解答
wxs奇怪的bug 在开发版本 和测试版上没问题 但是在正式版会出现问题- 当前 Bug 的表现(可附上截图) 正式环境 一个转化金额的过滤器 竟然无效 但是在测试环境 在开发环境 以及真机调试都是没有问题的 能够正常显示金额 但是正式上线 这里却显示不了了 [图片] 这里面其实我已经填写了一个数值 在填写数字之后 会把数字按照三位一个,号切割 当输入框失去焦点后 过滤器所在的div 层显示出来 但是你看到确实一个空白的 这是在正式发布的版本上 - 预期表现 [图片] - 复现路径 - 提供一个最简复现 Demo 需要对数字进行金钱格式转化 例如: 328562312.00 元 过滤成 328,562,312.00元 创建 numFr.wxs 过滤器 [代码]var[代码] [代码]numFr = {[代码][代码] [代码][代码]money: [代码][代码]function[代码] [代码](val) {[代码][代码] [代码][代码]var[代码] [代码]left = val.split([代码][代码]'.'[代码][代码])[0], right = [代码][代码]''[代码][代码];[代码][代码] [代码][代码]right = val.indexOf([代码][代码]'.'[代码][代码]) != -1 ? (val.toString().split([代码][代码]"."[代码][代码])[1].length == 2 ? val.slice(val.indexOf([代码][代码]'.'[代码][代码])) : (val.toString().split([代码][代码]"."[代码][代码])[1].length == 1 ? val.slice(val.indexOf([代码][代码]'.'[代码][代码])) + [代码][代码]'0'[代码] [代码]: val.slice(val.indexOf([代码][代码]'.'[代码][代码])) + [代码][代码]'00'[代码][代码])):[代码][代码]'.00'[代码][代码] [代码][代码]var[代码] [代码]regexp = getRegExp([代码][代码]'(\d{1,3})'[代码][代码], [代码][代码]'g'[代码][代码]);[代码][代码] [代码][代码]var[代码] [代码]temp = left.split([代码][代码]''[代码][代码]).reverse().join([代码][代码]''[代码][代码]).match(regexp);[代码][代码] [代码][代码]var[代码] [代码]st = (val < 0 ? [代码][代码]"-"[代码] [代码]: [代码][代码]""[代码][代码]) + temp.join([代码][代码]','[代码][代码]).split([代码][代码]''[代码][代码]).reverse().join([代码][代码]''[代码][代码]) + right;[代码][代码] [代码][代码]console.log(val)[代码][代码] [代码][代码]return[代码] [代码]st[代码][代码] [代码][代码]}[代码][代码]}[代码][代码]module.exports = {[代码][代码] [代码][代码]money: numFr.money[代码][代码]}[代码] 在 index.wxml 中 使用 [代码]<[代码][代码]wxs[代码] [代码]module[代码][代码]=[代码][代码]"numFr"[代码] [代码]src[代码][代码]=[代码][代码]"../../filter/numFr.wxs"[代码][代码]></[代码][代码]wxs[代码][代码]>[代码][代码]<[代码][代码]label[代码][代码]>金额</[代码][代码]label[代码][代码]>[代码][代码]<[代码][代码]div[代码] [代码]class[代码][代码]=[代码][代码]'moneyformat'[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{ismoney && mount!=''}}"[代码] [代码]bindtap[代码][代码]=[代码][代码]'tabpanel'[代码][代码]>{{numFr.money(mount)}}</[代码][代码]div[代码][代码]>[代码][代码]<[代码][代码]span[代码] [代码]class[代码][代码]=[代码][代码]"alerticon"[代码][代码]>元</[代码][代码]span[代码][代码]>[代码][代码]<[代码][代码]input[代码] [代码]type[代码][代码]=[代码][代码]'text'[代码] [代码]value[代码][代码]=[代码][代码]'{{mount}}'[代码] [代码]name[代码][代码]=[代码][代码]'amountmoney'[代码] [代码]bindblur[代码][代码]=[代码][代码]"tabformat"[代码] [代码]focus[代码][代码]=[代码][代码]"{{pricefocus}}"[代码] [代码]bindinput[代码][代码]=[代码][代码]"bindprice"[代码] [代码]hidden[代码][代码]=[代码][代码]"{{ismoney}}"[代码][代码]/>[代码] JS 里面就不写了 但是操作是 输入金额数字后 输入框失去焦点 然后 div (class为 moneyformat的)里 显示 过滤转化后的金额
2019-05-04回调写立即执行函数和写在外面有什么区别,写成立即执行函数根本不是在draw完成后调用了。
原来及最近canvas遇到的坑的集中说明这是我昨天提的问题的 改了一下 一 pc端双圆环clip绘图,里面的图不是圆的 二 draw的回调必须写成(()=>{})()立即执行格式,不然不执行,这个你们的文档没有体现 三 draw的回调里的切图如果不延时就会出现空白图 加了一秒延时就会正常出现 ,这个你们虽然说了,写在回调里会好些 ,但是 实际还是要有个延时才能正常 三种情况在代码片段里改一改都能体现 请看到回复一下
2019-04-25其实拖动动画是可以流畅的。确保一下几点: 尽量使用css3的属性去做动画,少用left、width等,减少回流。利用touchmove监听滑动并实时更新视图层时,要catch:touchmove,否则touchmove的监听帧率会很低,导致动画卡顿。 打个广告,小程序需要监听复杂手势的话(双击,长按,旋转,等等),可以使用mian-touch, github地址为 https://github.com/Yrobot/mina-touch
touchmove 写拖动事件卡顿不流畅页面上有个fixed悬浮按钮,希望可以在页面上任意拖动位置,但是现在的问题是写出来的拖动效果特别不流畅(反应延迟),请问有什么好的办法解决? <view class='helpbox' style="bottom:{{bottom}}px;right:{{right}}px;" catchtouchmove='setTouchMove'> <image class='helpimg' src='/images/help.png'></image> </view> js代码: setTouchMove:function(e){ var that = this; var width = 35 * rpx; var screenWidth = wx.getSystemInfoSync().windowWidth; var screenHeight = wx.getSystemInfoSync().windowHeight; var clientX = e.touches[0].clientX; var clientY = e.touches[0].clientY; //此处clientY与clientX为拖动悬浮窗超过设定的大小会返回默认显示位置 if (clientX < (screenWidth - width) && clientY < (screenHeight - width) && clientX > width && clientY > width) { that.setData({ right: screenWidth - clientX - width, bottom: screenHeight - clientY - width }) } else { return; // that.setData({ // right: 0, //默认显示位置 left距离 // bottom: 0 //默认显示位置 top距离 // }) } }
2019-04-18