用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

2016-10-14 13:41:29 天下雪原创达人 造轮子 人生巅峰 楼主 433740
推荐个人收藏本文,以便遇到问题时,进行搜索相关关键词,在本文内,可能有人遇到过相似的问题,也可以多看看本区的问答分类:http://www.wxapp-union.com/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=16

更多内容请看:开发实战宝典:
http://www.wxapp-union.com/special/solution.html

必备良药:
官方FAQ合集,开发者工具更新日志合集(查询问题必备)

如果本帖没有解决你的问题,欢迎在这里发帖求助;

新手跳坑系列:推荐阅读:《二十四》request:fail错误(含https解决方案)(真机预览问题[script]80[/script]



官方问答系列:
[script]89[/script]



12月25日更新(官方系列)
问题一:
textarea和placeholder内容会显示在modal上我这个modal用的还是在页面上定义的modal,不是showmodal方法,因为目前showmodal只能显示一个文本,不能做复杂的布局

答:
由于textarea是原生组件实现,层级最高,目前还无法支持在上面覆盖元素这样的交互设计。




问题二:
无法获取form表单的formId
<form bindsubmit="formSubmit" report-submit="true">
<button type="primary"  formType="submit" size="default">确认提交</button>
</form>

点击确认提交,返回日志显示:
detail:
formId:"the formId is a mock one"

这个提示,是不是获取不到formId?
答:
这个意思是: 开发工具返回的formId是模拟的




问题三:
控制台一直报这个图片错误
VM6127:2 Failed to load image
: the server responded with a status of 404 (HTTP/1.1 404 Not Found)

From server 127.0.0.1

答:
程序里面引用了不存在的图片




问题四:
模块化在预览环境失效
预览时的模块化无效:
    如下图,我在一个test.js里定义了一个函数,代码如下



然后我在调用的地方代码如下:

然后调用util对象的navigator方法,尽然不行,用console打印显示这个方法是null,求解?

答:
是require



问题五:
wx.switchTab开发工具不跳转之前没有这个接口的时候用wx.redirectTo跳转到有tabbar的页面上,开发者工具不能显示tabbar,
更新之后使用wx.switchTab,开发者工具直接不能跳转到目标页面是怎么回事
答:
Bug & Tip
  • tip: wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面,只能用 wx.switchTab 跳转到 tabbar 页面




问题六:
本来都准备提交代码审核了,今天一更新,结果地址页bindtap都不能用了!!
本来地址也是一个滑动的功能,像左边移动时,删除按钮出现,点击删除,修改,即可响应的操作。
今天一更新开发者工具和微信版本,都没有反应了。求问下原因。

<view class="edit-block" data-id="{{index}}"  bindtap="editAddress">
    <icon class="iconfont icon-adit" />
</view>

这个是编辑地址的代码。点击bindtap没有任何反应。与别的地方的bindtap唯一不同的地方,是这里有动画。。。但是没有更新之前都是ok的。

答:
不支持 同时使用:
catchtouchstart="touchStart" catchtouchmove="touchMove"
catchtouchstart和catchtouchmove了
改为
bindtouchstart和catchtouchmove就可以了。


问题七:
wx.navigateTo有些页面打不开了,不知道原因,手机上都可以正常打开,IDE里就是点了没反应,也没有任何错误提示!
答:
跳转到含TAB的页面需要 使用 wx.switchTab



问题八:
thirdScriptError 这个错怎么回事
更新版本后一直报下面这个错怎么回事?

thirdScriptError
undefined sdk catch error in request fail callback function
undefined

WAService.js:formatted:271
答:
在request.fail 的回调函数里边有脚本错误啊




问题九:
编译显示自定义预览
新手问一下这个怎么配置



答:
支持条件编译,可以选择固定页面进行编译。
启动项为必选;
填写后即可在编译内使用




问题十:
更新后request报错
Error converting data type nvarchar to bigint
更新前还好好的,更新后都报这个错误了,使用request工具进行post 或者 get都正常,但是开发工具就是报500错误
答:
https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

F 修复 wx.request 没有对请求数据正确 encode 的问题
header 参数不能有int类型,toSting解决了,其他人遇到类似问题转字符串就可以了



问题一:
微信6.5.2版本中,scroll-view和下拉刷新冲突更新最新版本微信后,原scroll-view区域的事件貌似是被干掉了,在这个区域下拉没有效果,在scroll-view之外的区域下拉刷新是可用的。
答:
scroll-view 有触底,触顶事件


问题二:
wx.request怎么获取服务器端response的header信息
答:
目前 request 没有这个功能


问题三:
如何获取分享连接传入的参数
'/pages/index/index?id=123'

通过什么方法可以获取到id的值?
答:
options,
然后再that.setdata
onLoad: function (options)



问题四:
On PageReady can not find 90..,App se.
锤子M1(安卓6.0.1)和小米3之类的安卓手机会报这个警告,M1导致经常白屏,如何解决?
答:
这个warnning 不会导致白屏的。
看过几个case,有可能是因为用了Object.assign  导致的android上的白屏


问题五:
onShareAppMessage,就弹出分享窗口
前面还要有判断语句呀,看是不是合法内容什么,不合法不让分享。
现在是条件语句控制不了,只要点分享,就弹出分享菜单,return也中断不了。。。。
答:
中断不了用户的分享行为。


问题六:
text标签内容无法长按复制
目前 Android 端从系统层禁止了长按的能力,下个版本会支持上
iOS 和 开发工具中可以先加上属性 selectable,下个版本的文档会放出



问题七:
include里的src属性不支持数据绑定吗?
想要动态的改变include引用的页面,这样写
<include src="{{url}}"/>
data: {
    url: '../../utils/investor_subnav.wxml'
  }
并不能引用代码吗?
答:
include 和 import 不支持动态绑定,可以用 template 打到相同目的


问题八:
tabbar支持图标位置自定义吗
答:
暂不支持



问题九:
请问小程序有类似window.onerror之类的错误监控接口吗?
如果没有的话那如何做错误监控和上报呢?
答:
App.onError



问题十:
请问真机调试如何清缓存?
答:
目前没有提供系统级别的缓存清理机制,可以自行在开发版本(比如设置页面)加上一个按钮清除缓存,然后调用 wx.clearStorge



问题十一:
在方法里面为数据赋值不行了吗?
如图我在onLoad里面为标记点赋值经纬度,但是并没有显示出来



答:
markers 参数的数据类型是数组



问题十二:
语音转文字支持吗?
答:
这属于小程序框架体系之外的功能,可以将语言传给第三方服务器进行识别



问题十三:
小程序如何解析XML文件
答:
这个属于小程序框架体系之外的事情,可以用第三方库自行解决



问题十四:
swichTab切换到页面之后如何实现页面自刷新
比如登录之后 希望在个人中心页面看到登录之后的信息 求教
答:
swicthTab 切换后页面会执行 onShow 生命周期,可以在这个函数中做一些更新



问题十五:
用户数据解密算法问题
请问下算法是有什么变更吗?我之前都可以吧encryptedData的数据解密出来,现在解密错误?
用的org.bouncycastle.jce.provider.BouncyCastleProvider类,sample里面没有提供一个java版本的demo啊?
javax.crypto.IllegalBlockSizeException: last block incomplete in decryption
答:
更新工具后提交的数据有问题,以前需要转换,现在的request提交数据不需要转换了


问题十六:
字体文件无法加载,确认文件是存在的
@font-face {
  font-family: 'Glyphicons Halflings';

  src: url('/assets/fonts/glyphicons-halflings-regular.eot');
  src: url('/assets/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/assets/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'), url('/assets/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('/assets/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}

控制台报错
VM884:2 Failed to load font http://1701630871.debug.open.wei ... flings-regular.woff : the server responded with a status of 404 (HTTP/1.1 404 Not Found)
From server 127.0.0.1


文件确实存在的,其他jpg/png图片文件都没问题

是bug,还是限制了这些文件类型?
答:
无法加载本地的,需要用网络地址


问题一:
地图会支持画线吗?
答:
polyline 属性


问题二:
WebSocket 开发工具和手机预览实现结果不同 我在开发工具上进行 websocket调试 本地ip访问可以, 能够双向通信, 但是传到手机预览发现, 无法正常连接到本地的websocket服务器上。
答:
手机只支持公网域名的Websocket,本地IP是访问不到的。

微信小程序不能建立两个(含)以上的WebStock连接。


问题三:
能否通过JS动态 改变navigationBarTitleText的值 能否通过JS动态改变navigationBarTitleText的值?

答:
1:可以在onLoad方法中通过wx.setNavigationBarTitle来设置,如下:
  onLoad:function(options){
    wx.setNavigationBarTitle({
      title: '修改后的导航栏标题',
      success: function(res) {
        // success
      }
    })
  },

2:不过不建议这种做法,最好在对应page的josn文件中配置,会自动覆盖全局的标题
{
     "navigationBarTitleText": "修改后的导航栏标题"
}


问题四:
小程序如何用多个手机进行预览我写的小程序只有管理员有权限进行体验,不知道如何布置才能让其他用户进行体验。而且我只有一个手机型号,我想多试几个手机型号。编辑器里面的和我手机里的差别还是比较大的。
答:
绑定多个体验者就好了。


问题五:
onPullDownRefresh 方法不执行
答:
需要在app.json配置才生效的


问题六:
怎么用JS更改css的display属性?
答:
style="display:{{这里放个变量}}";这个变量,,后面通过setData({这个变量:赋值})来实现更改


问题七:
动态设置image组件的src,是不是不可以呀
我这样做的时候,图片不能正常显示出来
答:
是可以的,最好是http完整路径,其它例如上传,选择等是不能的,上传是预览可以是使用image src="选择成功临时路径"


问题八:
wx.saveFile保存的文件在哪里


不知道那个下载的文件在哪里?
答:
不需要关心下载到哪里(每个环境都不一样),只需要知道根据这个地址可以读取到文件即可


问题九:
wx.navigateBack问题
A  wx.navigateTo B

B  wx.navigateTo C

C怎么直接到A 释放 堆栈

在 C wx.navigateBack(2)? 用了怎么还是返回到B 。。到不了A 。如果在C页面用wx.redirectTo 返回就乱了 怎么解决
答:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/ui-navigate.html?t=20161222#wxnavigatebackobject
wx.navigateBack({delta: 2})

问题十:关于success回调函数中调用this.setData方法的问题。

答:
原因是你的this.setData中的this用得不对。
解决方法:
在你的那个函数(uploadFile)外面函数外边定义: var that=this;
将你的this.setData改为 that.setData。



问题十一:
小程序登录发送code请求问题

api登录发送code时,一直报这个错误,对比了设置数据等,应该不是我程序问题吧。请大神们赐教
下图配置里面已经都配置没问题,访问相应的接口已经有数据返回的
[size=0.83em]
12.jpg (19.37 KB, 下载次数: 0)
[color=rgb(153, 153, 153) !important]12 小时前 上传



答:
处理code应该在后端进行,或者把https://api.weixin.qq.com加入到你域名列表中






12月3日
Q:是否支持视频直播或音频直播,如HLS?
A:我们正在技术上正不断完善,很快将提供支持。

Q:能否从小程序中打开普通的网页链接 ,比如我要链到我们的客服页面?
A:暂时不支持。

Q:没收到内测邀请,能给我们发个邀请码吗?
A:小程序很快将开放申请,请留意官方公告。

Q:请问下小程序有计划支持二维码扫描吗?迫切需要这一功能,希望能尽快提供接口支持,谢谢
A:暂时不支持,后续会逐步完善。

Q:开发工具不支持linux环境以及windows 2003或XP系统吗?
A:是的,目前不支持

Q:请问微信小程序的组件中有没有多行文本的组件?
A:6.3.30 已支持 textarea 组件。

Q:getUserInfo接口获取不到unionid该怎么办?
A:需要到open.weixin.qq.com网站上,绑定小程序和你的其他公众号或app,才会返回unionid。

Q:安装了小程序调试工具(wechat_web_devtools_0.9.092300_x64.exe)后,把原来的开发者调试工具覆盖了?没法做到两个工具兼容?直接覆盖?
A:请升级到最新的开发者工具版本,已经兼容普通网页调试和小程序调试。

Q:我在wxss文件里编写css3动画,点击编译直接就报错了,编译不通过。
A:Css3 的更多特性,我们正在陆续支持中。目前部分功能支持不足,如animation动画。

Q:小程序路由/info?appId=1,通过wb.navigateTo 跳转页面后。如何在新的页面中拿到appId的值?我看文档中没有描述。
A:可以通过 Page 的 onLoad 事件拿到,可以参考navigator组件

Q:微信小程序支持和硬件的交互吗? 比如和硬件通过蓝牙或者wifi的方式进行数据通信?
A:我们正在规划中,目前暂不支持

Q:wx.setStorage(OBJECT) 小程序存储的容量有多大限制?
A:目前每个小程序限制5M

Q:目前提供的canvas绘图接口,我们发现不能跟网页原生api兼容,所以也就无法使用现有的绘图库了是吗?
A:是的。

Q:在微信小程序的canvas相关api中,发现缺少将canvas转换成图片的相关api接口。如drawImage系列接口。
A:6.3.30 已支持 wx.canvasToTemFilePath 用于将 canvas 转成图片临时文件路径。

Q:下载下来的zip文件如何解压缩,是否有相关api?
A:目前暂不支持,我们将很快提供。

Q:我想问一下,在小程序里面怎么进行组件化开发?我在文档中看到了template,但是个人来看只能绑定数据。如果我想绑定事件,类似component该怎么办?还是在小程序里有其他办法实现组件化?
A:目前暂不支持,我们很快将提供自定义组件。

Q:最近在看微信的小程序开发,有个顶部tab需求,查看文档没有发现此组件,看到设计规范上有,请问在哪里可以看到。
A:6.3.30 已支持在 tabBar 设置 position 参数。

Q:请问微信公众号开发功能除了调用微信提供的API之外,可以调用自己写的api接口或者服务吗?
A:可以使用request接口请求自己的服务器api。

Q:您好,在小程序的api 中是否有获取图片原始宽高的接口?具体需求场景:在canvas 中实现对wx.chooseImage后的图片进行一定比例的放缩功能。
A:6.3.30 已支持,image 组件的 bindload 事件可以返回图片的原始宽高。

Q:开发者工具如何录音,录音完成是什么格式呢?
A:暂不支持模拟录音,手机上录音目前是silk格式。

Q:请问小程序能引用外部的图表库吗,比如ECharts?
A:暂不支持。

Q:WXML中"Mustache"语法(双大括号)来绑定数据,
例如:
   {{
message }}
Page({
data: {
message: "Hello MINA!"
}
})
如果message是一段HTML文本,能不能绑定?应该怎么绑定?
A:目前不支持绑定HTML代码。

Q:代码里面可以用一些工具库吗?比如像 lodash这种工具库,我觉得可以用的话是比较方便的,比如可以通过 npm install 这种方式来安装第三方的工具库。
A:目前暂不支持。

Q:小程序开发时能否使用我们自定义的字体图标。
A:自定义字体是支持的,但是需要使用线上字体,并且存放字体的服务器需要允许跨域。

Q:在小程序中如何将富文本内容显示出来,我已经在小程序中加入了div和样式做了测试发现样式都无效?
A:目前暂不支持。

Q:小程序是否开放用户手机通讯录的读取/写入权限?
A:目前暂不支持

Q:好像无法通过js获取图片宽和高,请问有解决方案吗?
A:目前只能显示设置图片宽高

Q:iPad好像无法预览小程序?
A:目前暂不支持iPad。

Q:微信小程序有拨打电话和发送email的方法吗?
A:可以拨打电话,暂不支持发送email

Q:我在一台机器上同时开发微信小程序和服务器程序,请问微信小程序在开发时怎么访问我本机的服务器呢?用localhost还是开发机器的IP地址?
A:目前服务器必须使用域名,不支持本地调试。

Q:我在文档中,没看到如何修改右上角三个点操作区按钮的方法。
A:这里不支持自定义,统一显示官方按钮。

Q:我这在布局的时候用到了rpx单位,在安卓手机(小米4)下真机预览的时候750rpx并显示全屏,经过测试发现在安卓手机(小米4)下850rpx 才能显示全屏; 但文档里面写道:规定屏幕宽为750rpx;是不是意味着开发者需要适配不一样的手机(不一样的手机设置不一样的rpx值)?
A:我们会持续优化rpx,兼容大部分主流机型。不需要开发者做适配。

Q:文章中的image,如果想单击后浏览图片,可以放大缩小之类,有没有相关接口?
A:可以使用图片预览接口。

Q:我在使用贵方提供的canvas组件时,并没有找到一个可以保存画布信息的接口。
A:暂不支持,我们会很快支持。

Q:滚动页面,滚动到底部,加载新的内容不能实现。
A:6.3.30 已支持页面配置 onReachBottom 事件。

Q:如果是支付给子商户,调用接口跟之前web开发的用法是一样的还是怎么做?
A:目前暂不支持支付给子商户。

Q:请问小程序里支持把文字、图片、链接转发到IM给好友、朋友圈吗,API文档里没写。
A:分享能力会很快提供,请留意官方文档。

Q:请问微信小应用除了自带的api接口, 是否支持其他的外部api或js插件的加载?
A:目前暂不支持。

Q:我调用小程序的微信支付api,一直报签名验证错误,参与签名的参数有timeStamp、nonceStr、package、signType。使用微信支付签名校验工具生成的签名跟我自己服务器生成的签名是一样的,但还是报签名错误。
A:appId不需要传入支付api,但是需要参与签名。

Q:想请教checkbox是否只能通过checkbox-group绑定事件。
A:heckbox不会触发change事件, checkbox-group才会触发。

Q:我们在微信开发工具,选择图片后,尝试上传或下载图片 都没有任何反应,请问是什么原因?
A:最新版本的开发工具已经支持 uploadFile 和 downloadFile 的调试。

Q:更新后,程序报错,原来运行正常的代码逻辑,报错了。
代码中定义函数,返回了Promise,return new Promise(function(resolve, reject){ .... }),更新后,报错:TypeError: Promise is not a constructor,哪里出了问题?
A:移除了对Promise的支持,更新日志里有写,原因是真机对Promise支持不完全,保持和真机一致。

Q:附件上传支持多个文件一起上传吗?另外上传过程的进度条怎么显示?
(1)附件上传支持多个文件选择,但上传的时候就报错,选一个上传就可以,请问是否支持多个同时传,如支持怎么实现?不支持 是不是只能自己写循环上传。
(2)上传的进度条怎么显示?
A:目前还不支持并发上传和上传进度。

Q:uploadfile的header里面带不了cookie参数?
A:确认是iOS上的bug。

Q:工具更新成最新版(1122)后
   users = null
   <view wx:if="{{users.length}}"></view>

  这种写法现在会报错( Cannot read property 'length' of null),真机中不会,以前也不会。
A:这个问题一直存在,只是新版加了错误提示。

Q:wx.getImageInfo在安卓上取不到信息?
A:确实是有bug。


微信小程序常见FAQ(16.11.14-16.11.20)

Q:业务有需要,监听手机  keyboard,如“完成”按钮触发时,执行对应动作。
目前未查到相关api,请问是否有支持?或有其它方式模拟实现。
A:目前不支持,只能先用blur模拟其中一些情况,后续支持。

Q:input placeholder在focus和unfocus状态下位置差异。focus的时候placeholder会抖动一下。placeholderclass的字号和input字号、行高均相同。
A:嗯,是有这个体验问题,目前还没办法完全解决。

Q:Android下面1rpx的border不显示的问题。
A:这里是有bug,下个版本修复。

Q:微信小程序在模拟器上https能访问到数据,但是真机上不能建立数据连接。
A:  a)证书要认证机构颁发的。
     b)如果是Android不行看看request的请求method请求类型要用大写,如GET。
     c)服务器要支持tls 1.0 1.1 1.2。

Q:wx.request发请求,报"ssl hand shake erro"。
A:以下三点要确认没有问题
    (1) tls需要支持1.0 1.1. 1.2版本。
     (2) wx.request 请求参数method的value要大写(例如:GET)。
     (3) 下载最新的微信客户端
    如果用的是腾讯云提供的免费证书。腾讯云下载证书zip文件,解压后务必使用nginx目录中的root crt 和 key两个文件。


微信小程序常见FAQ(16.11.7-16.11.13)

Q:个人开发者不能注册么?
A:现在支持的只有企业,政府, 媒体,其他组织,个人开发者还不支持注册。

Q:小程序的大小1M这个控制正式发布的时候会放大吗?
A:因为涉及到用户获取小程序的成本和体验,目前1M的限制暂时不会变。
编译这里会做一些代码转换,是会有一定的体积变大,这里我们也会不断去优化,建议先针对小程序的特点调整产品形态。

Q:scroll-view里面有textarea,它内容不动(真机环境)。
A:输入框目前还不能放到scroll-view里面使用。

Q:在mac上开发,每当跳转第二个页面时,wxml调试工具没有调试信息?
A:已经修复,需要下个版本。

Q:已用 https,但报无法建立与该服务器的安全连接是什么情况?
A:需要 nginx 配置一下 https 的加密标准为tls1.2及以上。

Q:request只支持异步模式?建议支持同步。
A:(1)request操作耗时依赖网络,同步会给用户带来不好的操作体验。
      (2)传递参数通过date-set设置。
      (3)动态逻辑可以放到绑定的方法中。


12月1日更新


1、问:请问一下,首次打开的时候会出现一个选择界面,进行选择之后进入主页,下次再打开就不再显示这个选择界面,直接显示主页,这个应该怎么实现呢?如果在一个空界面直接进行跳转,初次打开的时候空白界面会先显示一下,才会跳转对应的界面,这应该怎么处理呢?

答:目前首页的设置,默认是在app.json的pages的第一个页面。
        每次重启打开都会显示这么页面。

        如果想要一个选择页面并且没有停顿体验的话,可以在首页上添加额外的view层来解决,一次显示,之后display设置none,显示与否可以在本地存储一个标识。

2、问:使用ffmpeg 将silk转mp3失败,哪位大神成功过的,辛苦给下思路,不胜感激!

答:用的gitHub上面的decoder开源库,先解码silk,再转MP3        https://github.com/kn007/silk-v3-decoder


3、问:微信小程序   navigateTo 只能使用五次  五次之后无效  怎么处理的?

答:不是只能跳转5次,而是跳转层次只能是5层,注意理解。       页面一层一层往里跳进,最多5层。是这个意思。



4、问:微信小程序中能否用js更改app.js中的globalData?怎么实现?不能更改的话怎么实现在当前页面中设置一个属性,在另一个页面中也能显示出来?

答:可以修改啊,globalData只是设置在app.js 的一个object数据,你可以直接改的。        比如:
        在globalData里有一个users = ['张三', '李四'];
        在任意一个js里可以修改:getApp().globalData.users = ['王五', '赵六'];


5、问:php自己的session是用来判断用户是否登录的,windows+apache的话,小程序的session咋存储。是存储到数据库中???还是哪???wx.login中的code哪个是用户的唯一标识?是openid吗??

答:小程序在本地存储一个秘钥,每次请求的时候带过去,服务端校验这个秘钥,如果合法,返回成功和对应的数据。


6、问:Swiper插件使用问题

答:感觉没办法,组件的体验需要微信的优化,组件都是封装好的改不了

7、问:小程序里的console在wing工具哪里看

答:点击调试即可。

8、问:之前已认证的公众号不能用作开发小程序吗?


答:小程序是和订阅号、服务号以及企业号平行的新类型,所以需要在微信公众平台申请一个新的小程序号,需要重新认证。

9、问:特别好奇 微信小程序能不能支持发送图标到桌面这个功能

答:安卓应该可以,苹果不行

10、问: 微信小程序没有提供webview组件吗?

答:首先微信内跳转普通H5页面时,跳转地址是需要在国内备案的,否则会有警告提示。        以微信的尿性,我个人估计小程序是不会提供webview组件让你自由加载第三方页面的,安全考虑。

11、问:<view wx:if"{{list}}"> list是数组,怎么判断条数为0
答:你说的是条件渲染吗?       也可以<view wx:if="{{list.length == 0}}"> </view>
       可以在 {{}} 内进行简单的运算,包括三元运算符、逻辑判断、算数运算

12、问:想开发一个社交小程序 程序里面产生动态能提示用户么?

答:微信的概念是不打扰用户,肯定不能随便给用户弹消息,但是有模板消息 是专门做消息通知的。

13、问:想做个本地垂直类的服务型项目。小程序试用吗

答:非常适合,试水成本也不高

14、问:怎么让<swiper>充满整个屏幕啊

答:宽高都设置为100%,试试看

15、问:微信小程序如何被用户打开,并且是自动获取用户的ID和头像的么?就是说我做了一个叫大姨吗的微信小程序,可是我怎么让别人发现这个小程序,并且登录注册进去呢?


答:目前只是开放公测阶段,并没有正式上线。关于小程序的入口,除了分享二维码外,还有想象空间~获取用户信息,需要代码调用api。先调用wx.login  然后wx.getUserInfo  就可以获得用户的名称和头像了。这过程对用户来说是透明的。

示例代码:
wx.getUserInfo({
  success: function(res) {
    var userInfo = res.userInfo
    var nickName = userInfo.nickName
    var avatarUrl = userInfo.avatarUrl
    var gender = userInfo.gender //性别 0:未知、1:男、2:女
    var province = userInfo.province
    var city = userInfo.city
    var country = userInfo.country
  }
})


16、问:微信小程序多个组件动画,官方教程上都是单个组件的动画比如
var animation = wx.createAnimation({
        duration: 1000,
        timingFunction: "ease",
        delay: 2000
      })
      this.animation = animation
   
      animation.scale(1).step();

      this.setData({
        AvatarShow:animation.export()
      })

<image class="avatar" animation="{{AvatarShow}}" src="{{userInfo.avatarUrl}}"></image>

17、这样的,但是我想让这个动画执行完毕了以后,控制
<text class="userinfo-nickname">欢迎您:{{userInfo.nickName}}</text>

其他的组件做动画效果应该怎么做呢?


答:rotateThenScale: function() {
        this.animation.rotate(Math.random() * 720 - 360).step()
            .scale(Math.random() * 2).step()
        this.setData({ animation: this.animation.export() })

        setTimeout(function() {
            this.animation2.rotate(Math.random() * 720 - 360).step()
                .scale(Math.random() * 2).step()
            this.setData({ animation2: this.animation2.export() })
        }.bind(this), 3000)

    },

比如这个是我修改的官网示例,animation不同就可以控制不同的组建了,这个相当于获取了界面元素


18、问:我想在首页顶部导航上添加一个按钮,点击后跳转到另外一个页面。请问怎么实现,谢谢了

答:微信小程序有相关的API:
wx.navigateTo(OBJECT)
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
OBJECT参数说明:
参数        类型        必填        说明
url        String        是        需要跳转的应用内页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2'
success        Function        否        接口调用成功的回调函数
fail        Function        否        接口调用失败的回调函数
complete        Function        否        接口调用结束的回调函数(调用成功、失败都会执行)
示例代码:
wx.navigateTo({
  url: 'test?id=1'
})
//test.js
Page({
  onLoad: function(option){
    console.log(option.query)
  }
})
注意:为了不让用户在使用小程序时造成困扰,我们规定页面路径只能是五层,请尽量避免多层级的交互方式。
wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
OBJECT参数说明:
参数        类型        必填        说明
url        String        是        需要跳转的应用内页面的路径
success        Function        否        接口调用成功的回调函数
fail        Function        否        接口调用失败的回调函数
complete        Function        否        接口调用结束的回调函数(调用成功、失败都会执行)
示例代码:
wx.redirectTo({
  url: 'test?id=1'
})
wx.navigateBack(OBJECT)
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。
OBJECT参数说明:
参数        类型        默认值        说明
delta        Number        1        返回的页面数,如果 delta 大于现有页面数,则返回到首页。

举个例子:
点击一个按钮后跳转
  buttonClick:function(e){
    var agrs ='我是参数';
    wx.navigateTo({
        url: '../order/order?order=' + agrs
    })
  },
其中的URL是工程里目标页面的相对路径。
至于你说的导航条左上角的按钮,需要自己去做UI,以上是逻辑层面的


19、问:关于php无法接收微信小程序POST传参

答:刚刚开始按照微信官方的方法写了一个POST传参,后台使用php进行解析入库。
但是突然发现GET能接收到传参,但是后台$_POST死活都没办法进行传参。
wx.request({
      url: 'http://localhost/XXX.php',
      data: {
        menu: data.detail.value.menu ,
      },
      /*header: {
          'content-type': 'application/json'
      },*/
      method:'post',
      success: function(res) {
        console.log(res.data)
      }
    })

查了资料,都说是
'content-type': 'application/json'

大小写的问题。但是我把它改成小写了还是不行。
后来仔细研究了发现,微信小程序通过POST的不是字符串,而是JSON信息,所以在后台是无法直接用$_POST进行解析的。

这个是我们正常POST信息浏览器对后台文件发送的post信息

这个是小程序POST的信息,所以我们就要处理一下才行了

php获取信息如下:

$menu = file_get_contents('php://input');
$val = json_decode($menu,true);
echo($val['menu']);
把json转换成数组以后就可以正常的进行数据处理了!


20、问:小程序 post 参数一直进不去 服务器端没接收到。
         

答:我试了下,php框架使用ThinkPhP。请求代码:
wx.request({
          url: 'http://localhost/api/getList',
          data: {lastid:lastid,limit:limit},
          header: {
              'Content-Type': 'application/json'
          },
          method:'post',
          success: function(res) {
                var cc = res.data;
          },
          fail: function(res){  },
          complete: function(){  }
      })

post数据:

后台代码(查询后返回,使用ajaxReturn返回数据到前端):
function getList(){   
            $list = M('mmc')->field('id,title,img,cTime')->limit($limit)->select();
            $this->ajaxReturn($list);
}

前端接收到的数据(success函数回调的res):


21、问:微信小程序的用户信息可以做登录吗?请问小程序的用户信息可以做登录吗,只有头像和昵称,都没有唯一标识

答:获取微信信息有唯一标识

这个应该是要和后台配合,自己生成一个session作为唯一标示,不能用openid



22、问:微信的check方法里面的参数是什么?

答:


23、问:在微信小程序里面能直接访问外部链接么

答:
微信小程序暂不支持加外部链接。会屏蔽所有<a>标签。


24、问:怎么自动给每个新页面都添加一个固定的浮层?手动用template引入肯定是可以的

答:
才疏学浅,能想到的只是调用模板。

定义模板
使用name属性,作为模板的名字。然后在<template/>内定义代码片段,如:
<template name="msgItem">
  <view>
    <text> Time: {{time}} </text>
  </view>
</template>


使用模板
使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:
<template is="msgItem" data="{{...item}}"/>
Page({
  data: {
    item: {
      time: '2016-09-15'
    }
  }
})


25、问:进到一个页面,校验登录,失败,跳登录页;直接执行navigateTo或者redirectTo,调试器是可以正常工作的,但是手机端不可以,可以加定时器缓解,但是好像还是没法根治,在onlunch,onShow,onload都试过,都不怎么好用,请问问题出在哪里?

答:
试试onReady。

onReady        Function        生命周期函数--监听页面初次渲染完成

这才是页面渲染完毕的回调。


26、问:小程序里可以用iconfont之类的图标字体吗?

答:
一般web开发定义样式的话,有:外部样式,内部样式,内联样式。

显然小程序没有提供link、style标签,所以定义样式的地方只有wxss文件里和内联样式。
小程序API明确规定:本地资源无法通过 css 获取。在wxss加载外部字体库目前测试也是不生效的。

建议:background-image:可以使用网络图片,或者 base64,或者使用<image/>标签。
小图标直接转成base64,直接写在代码里,体积也很小,还方便。图标可以统一写在一个js里,到处引用。


11月30日更新:官方问答:
怎么获取用户输入
能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService。
[AppleScript] 纯文本查看 复制代码
<input id="myInput" bindchange="bindChange" />
<checkbox id="myCheckbox" bindchange="bindChange" />


[AppleScript] 纯文本查看 复制代码
var inputContent = {}

Page({
  data: {
    inputContent: {}
  },
    bindChange: function(e) {
        inputContent[e.currentTarget.id] = e.detail.value
    }
})
为什么脚本内不能使用window等对象
页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件
为什么 zepto/jquery 无法使用
zepto/jquery 会使用到window对象和document对象,所以无法使用。
wx.navigateTo无法打开页面
一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo
样式表不支持级联选择器
WXSS支持以.开始的类选择器。如:
[AppleScript] 纯文本查看 复制代码
.normal_view {[/align]  color: #000000;
  padding: 10px;
}

可以使用标签选择器,控制同一类组件的样式。如:使用input标签选择器控制<input/>的默认样式。
[AppleScript] 纯文本查看 复制代码
input {[/align]  width: 100px;
}

本地资源无法通过 css 获取
background-image:可以使用网络图片,或者 base64,或者使用<image/>标签
如何修改窗口的背景色
使用 page 标签选择器,可以修改顶层节点的样式
[AppleScript] 纯文本查看 复制代码
page {[/align]  display: block;
  min-height: 100%;
  background-color: red;
}

为什么上传不成功
为了提升体验流畅度,编译后的代码包大小需小于 1MB ,大于 1MB 的代码包将上传失败。
HTTPS 请求不成功
tls 仅支持 1.2 及以上版本
网络请求的 referer
网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。

11月5日更新



Failed to load resource: net::ERR_NAME_NOT_RESOLVED http://4587851578.appservice.open.weixin.qq.com/appservice

问题原因:通常是由于系统设置了代理如Shadowsocks等。
解决方案:关闭代理,或者依次点击工具栏“动作”-"设置",选择“不使用任何代理,勾选后直连网络”。

修复asdebug.js报错
问题原因:TypeError: Cannot read property 'MaxRequestConcurrent' of undefined
解决方案:替换 /Resources/app.nw/app/dist/weapp/appservice/asdebug.js

开发工具报错需要wx:key
问题原因:TypeError: Cannot read property 'MaxRequestConcurrent' of undefined
解决方案:渲染数据的时候增加属性wx:key,一般跟着wx:fo属性后面,两个方法,官方文档有公示
wx:key="*this" (上次Bug因为用了this,之后入坑了, key设置this的状态应该是场景数据交互只需要请求一次的情况,一般我们常用是下面的property)
wx:key="property" 循环的item里面其中一个属性名字(需要属性名字的值是唯一性,不然会引起一些不会响应的错误!!!)

公测了,有认证号的可以再微信后台服务器设置那边设置请求接口,获取ID,在手机体验一下
可以再手机做静态页面展示 或者拉取数据本地化 弄一个appleID 就可以展示了



11月4日更新



app.json 文件读取错误,错误信息
"app.json 文件读取错误,错误信息:
{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/wanghanqing/Documents/My Doc/app.json"}"
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
问题原因:
文件的路径错误 path中“/My Doc/”包含空格,导致创建项目失败,根目录下是空的。
另外,该问题是路径问题导致的,请大家认真看下自己的路径(备注:“添加项目”选择的是新建的空白目录)。



11月2日更新

1.tabBar不能正确显示

建议先看看官方文档中多tabBar的说明:点击打开链接

需要注意的是:

  • 写在pages数组中的页面,第一项代表小程序的初始页面,这个页面也必须是tabBar的第一项。后面的就无所谓了。
  • tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

2.报错"Parse app.json error: SyntaxError: Unexpected token / in JSON at position 332"

这个是应为在.json文件中用了注释。该文件是不能有任何注释的。


3.想给任意一个页面(Page)添加tabBar?

这是不能的。目前微信只能在首页加载。这个和iOS中的tableBar还是不一样滴!





11月1日更新


1.如何定义全局数据
  在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var app = getApp();  app.function/key的方式调用,不过我们没有必要再app.js中定义全局函数。
2.如何实现代码的复用

  1. test.js
  2. test: function(){
  3. }
  4. module.exports={
  5.   test:test  
  6. }

  7. other.js
  8. var common = require('test.js');
  9. page({
  10.   common.test()
  11. })
复制代码
  1. <template name="odd">
  2.   <view> odd </view>
  3. </template>
  4. <template name="even">
  5.   <view> even </view>
  6. </template>

  7. <block wx:for="{{[1, 2, 3, 4, 5]}}">
  8.     <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
  9. </block>
  10. //我们页可以把模板定义在其他文件中,以<import src="url"/>的形式引入,但是import有作用域的概念,即只会import目标文件中定义的template,
  11. 而不会import目标文件import的template
  12. //include可以将目标文件除了<template/>的整个代码引入,相当于是拷贝到include位置。
复制代码
3.对于组件中值为boolean类型的属性,比如progress组件的active属性,checkbox的checked属性等等。无论设置成true还是false该属性都生效,测试发现html中也有这种情况,但通过checked={{}}的方式可以渲染成功。



运营问题:
问题一:提交「小程序」时需要注意哪些地方,才不会被拒?
  首先,我们来解读一下《小程序平台常见拒绝情形》
  「小程序」的 LOGO、名称与简介:
  帐号注册要合法,不能违法使用他人的品牌或商标,以及符合新广告法。
  特别需要注意的事,小程序的简介要特别明确,不能使用模糊的词义表达,比如「提高用户的购物体验」。微信官方推荐在简介中具体提炼几个功能点,告诉用户。
  小程序的名称必须和所提供的服务有所关联,而且必须是两个词以上的组合,不能使用广泛使用不具备识别性的词语来命名,比如日历、电话。
  提交小程序审查时,头像 LOGO 要尽量使用清晰度高的图片,这个清晰度是指可以看清、分别、图片中包含的元素,否则微信不予通过。
  小程序的功能提供:
  微信希望,用户打开小程序的时候直接就能使用到相关的功能,因此这份文档提到,用户在小程序的页面就能使用到相关的服务,不能隐藏,也不能进行多次跳转。有特别规定,「小程序首页必须能够直达或者经过 2 次点击到达」相关的功能。
  小程序的功能不能过于简单,比如说只有一个页面,或只提供一个按钮。
  小程序不能展示、推荐第三方小程序,不能做小程序导航、互推、小程序排行榜等。也不能通过小程序来搜索其它小程序。
  用户使用小程序时,不能以关注或使用其它小程序作为条件。
  小程序的内容:
  禁止诱导分享,这个不用再说,微信对此一直严厉打压。
  小程序不能用作营销活动、广告用途,不能存在类似算命、星座运势之类的测试类内容,不能包含赌博竞猜抽奖等内容。
  小程序里面的图片,不能包含广告、网址。
  以上是《小程序平台常见拒绝情形》值得注意的地方。


问题二:运营「小程序」的时候,需要注意哪些地方,才不会下架?

  重新提示,不能诱导分享,不能诱导分享,不能诱导分享。

  除此之外,有相当部分和《小程序平台常见拒绝情形》是一样的,以下补充不同的部分。

  1、微信不允许批量注册、重复提交大量类似的小程序。

  2、小程序的添加,不能设置付费,必须是免费添加。

  3、如果你的微信小程序含有支付功能,需要在简介当中明确指示。

  4、如果你希望通过小程序创业,需要注意:如果小程序所属的公司被收购或合并,你从微信和微信小程序接收的小程序里继续使用。

  5、如果小程序使用到地理位置定位功能,在采集、 获取用户地理位置时必须得到用户的同意。

  6、小程序后台服务,仅限于集中目的:VoIP、音频播放、地理位置、完成任务和本地提醒。

  7、禁止多媒体比如音频、视频的自动播放。









11.jpg

评分

参与人数 2浮云 +6 收起 理由
纽黑文 + 1 很给力!
司小文 + 5 牛逼

查看全部评分

有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
2016-12-31 10:30:22 wx_d4cb9475be 来自手机 攻城狮
沙发
经典,不过12月30号的beta版本功能好了很多,楼主可以考虑下载最新的工具。
wx_d4cb9475be 发表于 2016-12-31 10:30
经典,不过12月30号的beta版本功能好了很多,楼主可以考虑下载最新的工具。 ...

正在使用1230版本,属于小更新,基本没有什么新问题出现,反而解决了以前一些旧问题
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
好复杂啊

因为聚集了从古至今的问题
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
发新帖
您需要登录后才可以回帖 登录 | 立即注册