个人案例
联想体验店
联想携手微盟智慧零售,实现门店可个性化经营,最大化提升坪效,造就商品流、资金流和数据流“三通”的未来OMO智慧商业模式。
联想OMO智慧零售带动2千余家门店“上云”,携手微盟实现资金商品数据三通扫码体验
梦洁官方商城
梦洁家纺牵手微盟上线 " 一屋好货 " 商城,616期间线上线下产生了1000万+的GMV,门店的进店率超过了300%。
进店率超过了300%,微盟小程序助力梦洁家纺获取私域流量扫码体验
韩食通WOWZOA
单月外卖销售额63万+,单月堂食/外卖总销售额170万+!小程序为韩国美食协会加足马力,聚拢近百个商户品牌,弯道超车!
增粉5万+,单月销售额170万+,韩食通借力小程序外卖聚拢近百个品牌商户扫码体验
session_key、encryptedData、iv一定要严格对应,可能是你的前端获取encryptedData、iv到后端生成session_key的方法是点击授权按钮以后再用授权接口获取,所以其实生成了两个session_key。一般情况下是可以用的,但是有时微信只同步到了第一个session_key所以你获取的session_key是无效的。
解密用户信息有时报41003服务端语言:php 在小程序和服务端代码没有问题的情况下,为什么有时解密用户信息的时候会报41003的错误?
2018-11-30多半是用户没有允许微信使用手机相机和相册导致的。可以在失败的地方做一个提示,要用户去操作系统的设置内打开允许微信使用手机相机和相册。
wx.chooseImage ios端没有数据返回选择不了图片wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success(res) { console.log(res,"图片")(ios端没有数据返回选择不了图片) } })
2018-11-30有些中文字体库甚至有几百兆,所以加载起来慢是很正常的,甚至出现不能加载的情况。建议不要加载字体库,让设计出默认字体的方案。
字体加载很慢,非常影响体验全部加载后的 http://www.fehome.wang/blog/usr/uploads/2018/11/1736863162.mp4 一开始加载的 http://www.fehome.wang/blog/usr/uploads/2018/11/3434204891.mp4 动态加载字体真的很蛋疼啊,有办法解决么?
2018-11-30先排查一下是不是服务端接收的问题,你抓包发出去的是什么格式的数据,麻烦贴出来一下。 正确的格式应该是: a=true&b=false 这种的,如果格式吻合,那么可能是服务端接收的时候将你的数据转化成String了。
小程序会自动将请求参数由数组/布尔类型转为字符串类型调用api “wx.request”请求时,传递的参数有数组类型,布尔类型的,服务器端接收的都是字符串类型,,, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, 这是我的header头,是这个写的不对吗?
2018-11-30分享的回调是取消了,但可以通过 onShareAppMessage 设置个状态,获取到是否分享操作(可以曲线拿到分享事件)。
小程序分享回调完全没有了?10月10日之前提交的小程序在11月9号分享回调也失效了,确定是以后都失效了吗?
2018-11-30可以指定一个分享图片,不用页面的内容
小程序分享 截图页面的时候 会很模糊目前发现的机型 诺基亚 TA-1099 安卓8.0.1 部分苹果手机 具体版本应该在IOS10左右。 文字会模糊 图片不会~ [图片]
2018-11-30小程序分享的图片是5:4,你可以设置分享的图片是500px*400px,就可以正常满屏显示
安卓App分享小程序卡片样式错误- 当前 Bug 的表现(可附上截图) App分享出来的小程序卡片,安卓被裁剪了。iOS正常 [图片][图片] - 预期表现 封面正常 - 复现路径 - 提供一个最简复现 Demo
2018-11-30小程序分享的图片是5:4,你可以设置分享的图片是500px*400px,就可以正常满屏显示
小程序分享- 当前 Bug 的表现(可附上截图)小程序分享卡片时,卡片里的图片传的是原图,但显示时,图片不会显示全,会截取一部分显示。有时还会变形 - 预期表现 - 复现路径 - 提供一个最简复现 Demo
2018-11-30[代码]class Event{[代码][代码] [代码][代码]constructor(){[代码][代码] [代码][代码]this[代码][代码].callbacks = {}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]set(key, value){[代码][代码] [代码][代码]if[代码][代码](!key)[代码][代码] [代码][代码]return[代码] [代码] [代码][代码]if[代码][代码](key [代码][代码]in[代码] [代码]this[代码][代码].callbacks)[代码][代码] [代码][代码]([代码][代码]this[代码][代码].callbacks[key])(value)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]on(key, fn){[代码][代码] [代码][代码]if[代码][代码](!key || [代码][代码]typeof[代码][代码](fn) != [代码][代码]'function'[代码][代码]){[代码][代码] [代码][代码]return[代码] [代码]false[代码][代码] [代码][代码]}[代码][代码] [代码][代码]this[代码][代码].callbacks[key] = fn[代码][代码] [代码][代码]return[代码] [代码]true[代码][代码] [代码][代码]}[代码][代码]}[代码] [代码]export [代码][代码]default[代码] [代码]new[代码] [代码]Event()[代码] A页面 import event from '../../utils/event' onShow(){ event.on('classifyId',(classifyId)=>{ 1. 监听B页面返回的值 2. 执行刷新xxx }) } } B页面 import event from '../../utils/event' onBack(){ event.set('classifyId',{}) wx.navigateBack({ delta:1 }) }
使用wx.navigateBack();返回上一页,为什么onShow中的函数不- 需求的场景描述(希望解决的问题) 从A页面跳转到B页面之后,B页面对用户数据做了一些处理,处理之后返回A页面,但是A页面onShow中的函数没有重新执行,刷新页面数据 A页面跳转到B页面: [图片] B页面返回A页面: [图片] - 希望提供的能力 怎样才能返回上一页之后,页面中onShow中函数重新执行,加载新的数据
2018-11-29应该在你的悬浮窗顶层去加catch:touchmove
touchmove元素时,背景活动怎么解决- 当前 Bug 的表现(可附上截图) [图片][图片] - 预期表现 我这边使用的是touchmove实时渲染悬浮窗位置,但是按住往下滑动的时候会导致页面刷新,而 我这个页面又是需要的下拉刷新的,现在情况就是按住滑动的时候背景也会滑动,请问怎么解决 - 复现路径 - 提供一个最简复现 Demo [代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"cs_button"[代码] [代码]catchtouchmove[代码][代码]=[代码][代码]'btn_move'[代码] [代码]catchtouchend[代码][代码]=[代码][代码]'btn_end'[代码] [代码]style[代码][代码]=[代码][代码]'top:{{clientY}};left:{{clientX}}'[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]view[代码] [代码]style[代码][代码]=[代码][代码]'width:100rpx; height:100rpx;background-color:red'[代码][代码]></[代码][代码]view[代码][代码]>[代码] [代码]</[代码][代码]view[代码][代码]>[代码] [代码].cs_button {[代码] [代码] [代码][代码][代码][代码]border[代码][代码]: [代码][代码]0px[代码][代码];[代码] [代码] [代码][代码][代码][代码]height[代码][代码]: [代码][代码]100[代码][代码]rpx;[代码] [代码] [代码][代码][代码][代码]position[代码][代码]: [代码][代码]fixed[代码][代码];[代码] [代码] [代码][代码][代码][代码]background-color[代码][代码]: [代码][代码]transparent[代码][代码];[代码] [代码] [代码][代码][代码][代码]z-index[代码][代码]: [代码][代码]9999[代码][代码];[代码] [代码]}[代码] Page({ [代码]data: {[代码] [代码]windowWidth: 0,[代码] [代码]clientY: [代码][代码]'80%'[代码][代码],[代码] [代码]clientX: [代码][代码]'85%'[代码] [代码]},[代码] [代码]onLoad: [代码][代码]function[代码] [代码]() {[代码] [代码]var[代码] [代码]_this = [代码][代码]this[代码] [代码]wx.getSystemInfo({[代码] [代码]success(res) {[代码] [代码]_this.setData({[代码] [代码]windowWidth: res.windowWidth[代码] [代码]})[代码] [代码]}[代码] [代码]})[代码] [代码]},[代码] [代码]btn_move: [代码][代码]function[代码] [代码](e) {[代码] [代码]var[代码] [代码]yaxes = parseInt((e.changedTouches[0].clientY - 20)),[代码] [代码]xaxes = parseInt((e.changedTouches[0].clientX - 20))[代码] [代码]this[代码][代码].setData({[代码] [代码]clientY: yaxes + [代码][代码]'px'[代码][代码],[代码] [代码]clientX: xaxes + [代码][代码]'px'[代码] [代码]})[代码] [代码]},[代码] [代码]btn_end: [代码][代码]function[代码] [代码](e) {[代码] [代码]var[代码] [代码]width = parseInt(([代码][代码]this[代码][代码].data.windowWidth) / 2),[代码] [代码]yaxes = parseInt((e.changedTouches[0].clientY - 20)),[代码] [代码]xaxes = parseInt((e.changedTouches[0].clientX - 20))[代码] [代码]if[代码] [代码](xaxes + 20 > width) {[代码] [代码]var[代码] [代码]xaxes = [代码][代码]'85%'[代码] [代码]} [代码][代码]else[代码] [代码]{[代码] [代码]var[代码] [代码]xaxes = [代码][代码]'5%'[代码] [代码]}[代码] [代码]this[代码][代码].setData({[代码] [代码]clientY: yaxes + [代码][代码]'px'[代码][代码],[代码] [代码]clientX: xaxes[代码] [代码]})[代码] [代码]},[代码] [代码]})[代码]
2018-11-29