app.json里可以自定义导航栏,但是是全局,那个回到主页是自己写的,navigationStyle: 'custom'
小程序 分享 回到首页- 需求的场景描述(希望解决的问题) 小程序 当别人打开转发的页面的时候,右上角小程序系统顶部导航栏出现一个回到首页的图标按钮, 类似这个小程序的这个是怎么设置的,看了半天没看到,网上也没搜到。 [图片] - 希望提供的能力
2018-08-13我做的小程序二维码都是后端去请求,直接返回一个图片地址。
base64图片怎么在canvas上绘制现在需求是写一个海报, 文章生成小程序码,然后保存在用户的手机里 现在获取到微信发过来的小程序码二进制数据,然后我转成base64位,不过drawImage不能绘制base64的图片,求大佬给个思路,怎么解决这个问题。
2018-08-13我猜是pause()和onPause()两个函数调用的顺序吧,试下提前定义onPlay()和onPause()
wx.createInnerAudioContext()的暂停为何没用[图片] [图片] wx.createInnerAudioContext()的onPause回调事件一直打印不出来,然后点击同一首歌曲会同时播放一样的歌曲2首,不停的点可以叠加,切换其他歌曲,这首也不能暂停,其他同时播放。 求大神告知如何解决点击暂停播放事件。??
2018-08-13代码呢?
求解!开发工具和苹果真机正常加载显示数据求解!开发工具和苹果真机正常加载显示数据,而安卓不显示!什么原因?调试模式也没有看到任何错误信息! [图片] [图片]
2018-08-13代码不全显示,看看加密数据怎么获取的?
关于wx.login的问题,登录失败和不加载如图1,我绑定了一个点击事件,点击按钮时触发第一步为登录(为了获取openid),为什么有时候点击可以登录成功,有时候又失败呢? 场景:我用的是微信开发者工具中的远程调式,并且我是有校检域名的(没打钩,域名我配置是OK的) 真实发后上线后还会这样子吗? 这个wx.logn整得我快秀逗了,好几天了。 [图片] 另外,如图2,图3。后面我再多点击几次之后,为啥dianj函数里面的wx.login彻底不执行了?? 点击没有和频繁。。我隔了好久之后再点击也是一样的 [图片] [图片]
2018-08-13额,你能直接用code换取openId???,不需要加密数据解密吗?
开启远程调试时 经常报SDK:setStorageSync:fail这个错误APP-SERVICE-SDK:setStorageSync:fail Error: Failed To Send Sync;at App log function;at api request success callback function Error: APP-SERVICE-SDK:setStorageSync:fail Error: Failed To Send Sync at new t ([publib]:7:10135) at Oo ([publib]:8:6460) at Object.Wo.(anonymous function) [as setStorageSync] ([publib]:8:7826) at Object.([publib]:6:29338) at Function.([publib]:14:10718) at Object.([publib]:5:24761) at success (weapp:///app.js:46:20) at Function.function.a.(anonymous function) ([publib]:6:29081) at Object.success ([publib]:4:4154) at X.([publib]:6:24667) [代码]getOpenId: [代码][代码]function[代码] [代码]getOpenId(cb) {[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]wx.hideShareMenu();[代码][代码] [代码][代码]if[代码] [代码]([代码][代码]this[代码][代码].globalData.openId) {[代码][代码] [代码][代码]this[代码][代码].log([代码][代码]this[代码][代码].globalData.openId, [代码][代码]'缓存'[代码][代码]);[代码][代码] [代码][代码]cb([代码][代码]this[代码][代码].globalData.openId);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]//调用登录接口[代码][代码] [代码][代码]wx.login({[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]success(res) {[代码][代码] [代码][代码]var[代码] [代码]code = res.code;[代码][代码] [代码][代码]that.log(code, [代码][代码]'实时获取到的 code'[代码][代码]);[代码][代码] [代码][代码]//通过code换取openid[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: that.globalData.remoteUrl + [代码][代码]'/api/login'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]_ajax: 1,[代码][代码] [代码][代码]code: code[代码][代码] [代码][代码]},[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]header: {},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]success(res) {[代码][代码] [代码][代码]that.log([代码][代码]'getOpenid'[代码][代码], res);[代码][代码] [代码][代码]if[代码] [代码](res.data.code == 1) {[代码][代码] [代码][代码]that.globalData.openId = res.data.data.xcxopenid;[代码][代码] [代码][代码]wx.setStorageSync([代码][代码]'openId'[代码][代码], res.data.data.xcxopenid);//报错代码位置[代码][代码] [代码][代码]if[代码] [代码](res.data.data.token) {[代码][代码] [代码][代码]wx.setStorageSync([代码][代码]'token'[代码][代码], res.data.data.token);[代码][代码] [代码][代码]that.globalData.token = res.data.data.token;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]that.log(that.globalData.openId, [代码][代码]'实时获取到的 openid'[代码][代码]);[代码][代码] [代码][代码]cb(that.globalData.openId);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]cb();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码] [代码]fail(res) {[代码][代码] [代码][代码]that.wlanchaoshi(res);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码]
2018-08-13原因好像是内容改变的时候bindscrolltoupper多次触发, 可以限制下bindscrolltoupper的调用频率,让它避免多次触发 [代码]function[代码] [代码]debounce(func, wait = 500) {[代码][代码] [代码][代码]var[代码] [代码]timeout;[代码][代码] [代码][代码]var[代码] [代码]result;[代码][代码] [代码][代码]return[代码] [代码]function[代码][代码]() {[代码][代码] [代码][代码]var[代码] [代码]context = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]var[代码] [代码]args = arguments;[代码][代码] [代码][代码]if[代码] [代码](timeout) clearTimeout(timeout);[代码][代码] [代码][代码]timeout = setTimeout([代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]result = func.apply(context, args)[代码][代码] [代码][代码]}, wait);[代码][代码] [代码][代码]return[代码] [代码]result;[代码][代码] [代码][代码]};[代码][代码]}[代码][代码]onScrollUpper: debounce([代码][代码]function[代码] [代码]handleUpper (){},500)[代码]
scroll-view抖动问题wxml: <scroll-view class='page-menu-body' style='height:{{menuHeight}}rpx;' scroll-y="true" scroll-top="{{menuScrolltop}}" bindscroll="menuScrollHandle" bindscrolltolower="menuScrollLoading" bindscrolltoupper="menuScrollToupper"> wxss : .page-menu-body { display: flex; /* height: 100%; */ width: 636rpx; z-index: 100; } menuHeight 是屏幕高。 下拉弹性页面的时候,跳动。而且,很多 用到scroll-view的地方都这样。 ios 下,Android 下会闪动。我发现论坛很多这个问题。没有解决方案?还是我们比较菜一下。经常遇到bug。腾讯大神遇不到
2018-08-10 看src的set,状态更新好像是0秒的延迟,是个异步,不过也没多大影响吧?不晓得你要实现什么需求。[代码]var[代码] [代码]k = [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]return[代码] [代码]function[代码][代码](e, t) {[代码][代码] [代码][代码]var[代码] [代码]n = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]v.set([代码][代码]this[代码][代码], Object.assign(v.get([代码][代码]this[代码][代码]), i({}, e, t))),[代码][代码] [代码][代码]"src"[代码] [代码]=== e && v.set([代码][代码]this[代码][代码], Object.assign(v.get([代码][代码]this[代码][代码]), {[代码][代码] [代码][代码]paused: !0[代码][代码] [代码][代码]})),[代码][代码] [代码][代码]_.get([代码][代码]this[代码][代码]) && (setTimeout([代码][代码]function[代码][代码]() {[代码][代码] [代码][代码](0,[代码][代码] [代码][代码]c.invokeMethod)([代码][代码]"setAudioState"[代码][代码], Object.assign({}, v.get(n), y.get(n), {[代码][代码] [代码][代码]audioId: h.get(n),[代码][代码] [代码][代码]success: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]v.set(n, Object.assign(v.get(n), i({}, e, t)))[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]S.call(n)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: [代码][代码]function[代码][代码](e) {}[代码][代码] [代码][代码]})),[代码][代码] [代码][代码]_.set(n, !0)[代码][代码] [代码][代码]}, 0),[代码][代码] [代码][代码]_.set([代码][代码]this[代码][代码], !1)),[代码][代码] [代码][代码]y.set([代码][代码]this[代码][代码], Object.assign(y.get([代码][代码]this[代码][代码]), i({}, e, t)))[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}()[代码]
getBackgroundAudioManager播放结束安卓与ios、电脑不一- 当前 Bug 的表现(可附上截图) 在背景音乐播放完以后 全局唯一的背景音频管理器 [代码]backgroundAudioManager[代码][代码] 的数据 backgroundAudioManager.src 在ios 和电脑上打印出来是个空 安卓是刚刚播放完这首歌的url[代码] - 预期表现 要空就都空 要有值就都有值 - 复现路径 - 提供一个最简复现 Demo
2018-08-10ios应该不支持,之前我在网页中都遇到过(ios),原因好像是animation-play-state不是标准,旧版本ios支持,后来去除,支持running,但不支持paused,小程序的话,没试过。
ios animation问题ios不支持animation-play-stage ???
2018-08-101、第一个设置了粗体,第二个不设置粗体,第二个还是显示粗体 ctx.save()ctx.setFillStyle('#000000'); ctx.font = `normal bold 20px ${(platform == 'ios') ? 'Helvetica': 'Noto'}` ctx.fillText('test code', 0, 20); ctx.restore() ctx.font = `normal normal 20px ${(platform == 'ios') ? 'Helvetica': 'Noto'}` ctx.fillText('test code', 0, 60); 2、不设置粗体的情况下,设置斜体无效 真机无效的话,1也有可能无效,font字体必须配置正确,不能缺省,默认iphone自带Helvetica,安卓是noto(好像是)[图片]
canvasContext.font真机无效1、第一个设置了粗体,第二个不设置粗体,第二个还是显示粗体 ctx.setFillStyle('#000000'); ctx.beginPath(); ctx.font = 'normal bold 20px sans-serif'; ctx.fillText('test code', 0, 20); ctx.beginPath(); ctx.font = 'normal normal 20px sans-serif'; ctx.fillText('test code', 0, 60); 2、不设置粗体的情况下,设置斜体无效 ctx.setFillStyle('#000000'); ctx.beginPath(); ctx.font = 'italic normal20px sans-serif'; ctx.fillText('test code', 0, 20); 3、英文数字设置斜体有效,中文无效 ctx.setFillStyle('#000000'); ctx.beginPath(); ctx.font = 'italic bold 20px sans-serif'; ctx.fillText('测试代码', 0, 20);
2018-08-09