踩过这个坑!1.中文命名的图片真机显示不出来,2.名称之间有空格的显示不出来。还有几种忘了,你可以检查一下这两个问题
真机调试中tabBar图标无法显示在模拟器上tabBar的图标显示正常,在真机调试中只显示文字,图片无法显示并且无图标空间怎么回事。 [图片] 模拟器中 [图片] 真机调试中 图片格式为png,大小为不超过5kb
2019-03-19今天好像有问题啊
麻烦官方用可以让人看懂的语言解释一下:我到底要改哪个问题?如题,我今天早上收到这样一封邮件,内容让我特别不理解,是要我追加一个可以注销用户信息的按钮么?还是说不允许我使用用户的昵称、头像、openid和任何内容? [图片] 另外,你们附件里面到底想说什么? [图片] 我拜托你们,我真的看不懂,看不明白,我觉得我语文白学了……我不明白你们到底要我做什么,还有这个小程序到底怎么就和注册了欧盟地区的用户挂钩了……莫非是让国外的人扫到码了?…我都没推广过啊亲…Orz 我就一个普通个人用户,给好朋友做的方便效率的工具,我也没收集它们什么信息啊……关键是欧盟的用户怎么扫到的?我能阻止他们使用么? 所以麻烦官方用可以让人看懂的语言解释一下我到底要改哪个问题?我不想自己的小程序莫名其妙的下线啊,谢谢!
2019-03-19没遇到过......
这个bug一直都没解决吗- 当前 Bug 的表现(可附上截图) [图片] 在wxml页面输入内容时,突然出现一大坨相同的代码,这个bug好像一直都存在;还有一个新bug,今天再打开新的文件(已经写好的代码文件)时,文件的内容时空,这是为啥。。。。。。。。。。。。。。。。。。
2019-03-18name没定义
数组为空时报错如下- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo <block wx:if="{{canUseAddr.length===0}}"> <view class='addLoc' bindtap="editAddr">创建地址</view> </block> canUseAddr为一个数组,当数组为空时,点击 则运行函数editAddr,报错如下,求问是怎么回事,如何解决呢?[图片]
2019-03-18昨天挺快的!
现在审核都这么慢了吗现在审核都这么慢了吗?
2019-03-18真机运行应该不会!
小程序广告加载的过程中,会卡住页面无法拖动么?小程序广告加载的过程中,会卡住页面无法拖动么? 页面是滚动下拉的这种,一旦遇到广告就会卡住页面无法拖动,这个有解决方案么?
2019-03-18微信小程序管理后台的统计好像是部分普通二维码和小程序码,小程序数据助手可以看看
扫普通链接二维码打开小程序统计想请问一下如何统计“扫普通链接二维码打开小程序”的次数,这个情况的场景值是属于“扫描二维码1011”吗?如果不是,请问微信官方有提供此统计数据吗?
2019-03-18围观,学习
关于扫码进入小程序的问题问题是这样的,比如用户通过搜索打开小程序后点击关闭小程序按钮,然后马上通过扫码小程序码打开这个小程序(前后同一个小程序),不再执行onLaunch怎么解决?需要在onLaunch得到小程序码的参数
2019-03-186
腾讯体育 - 微信小程序| 导语 隐隐觉得有几本书要火《从入门到精通微信小程序》,《微信小程序开发权威指南》,《微信小程序之美》,《微信小程序之道》,《颈椎病康复指南》。。。咳咳,跑偏了,什么?没见过这几本书?那你总听过微信小程序的大名吧,作为移动端的新起之秀,小程序牵动了无数人的目光。作为有幸参与并推动小程序成长过程的团队之一,我们也不能甘(fang)于(qi)落(xuan)后(yao),经过我们几天的努力,这篇微信小程序开发经验分享展现给大家。本篇文章主要就小程序的适配、小程序的生命周期、小程序的架构、小程序的开发以及我们趟过的坑这几点展开来讲。 话不多说上干货(内容比较干,建议大家自备水壶)~ 写在前面: 小程序的定义:很多人问我,说的这么热闹,小程序到底是个什么东西?下面我先简单介绍一下。 官方这么定义小程序: “小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫活着搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载”。 小程序是一个由微信提供开发组件与开发规则,以js为主要开发语言,最终运行在微信App内的轻量型应用,有着即扫即用的特点。它不是H5,但与H5一样,小程序有着开发上手快、开发成本低的特性;它不是App,却有着同样的流畅度。小程序的出现使前端工程师可触及的领域进一步增大,可谓是迎来了前端工程师的春天~~ 我们的小程序:小程序的点在一个“小”字,对程序大小要求有限制,对页面嵌套的层级有限制,不适合过于重的交互。小程序不能跳出,不能调起外部应用,消息推送折叠在微信内部,相比于原生App有着很大的局限性。 但是,相比于H5,小程序又有着不可忽视的优势,固定化的入口,丰富的组件,系统控件的接口权限,接近App的使用流畅度,微信强大的生态圈... 结合上面两点,我们认为:小程序=固定入口+有体系的H5 根据这一点,我们仔细斟酌,提炼出体育用户的核心诉求,将体育小程序的第一阶段功能定位为赛程查询、数据、资讯推送,第二阶段的功能定位为视频点播、个性化提醒(关注、预约、定制)。 关于小程序的适配: 众所周知,微信App运行在Android、iphone、iPad等多种屏幕尺寸和分辨率的设备上,不同终端的微信小程序用的是同一套代码,需要照顾到一个“小程序”在多种不同大小屏幕的使用体验,所以在设计排版时推荐栅格式排版。而在代码实现方面,微信官方比较推荐用Flex、rpx来实现小程序的适配。 [图片] Flex布局是2009年,W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。 rpx单位是小程序中css的尺寸单位,可以根据屏幕宽度进行自适应,规定屏幕宽为750rpx。如iPhone6的屏幕像素为375px,则750rpx=375px,1rpx=0.5px。同时小程序也支持rem: 规定屏幕宽度为20rem;1rem = (750/20)rpx 。 [图片] Flex与rpx搭配可以解决大部分的适配,但遇到极端宽高比的情况,就需要变动元素的排放位置。而小程序不支持Media Query,那就要通过js来进行不同样式的切换。小程序里获得屏幕宽高的接口是异步的,实现响应式布局尽量在app.js里尽早执行防止页面抖动。 关于小程序的生命周期: [图片] 小程序的框架程序包含一个描述整体程序的app 和多个描述页面的page。其中,app由三个文件构成,公共设置的app.json 、公共样式的app.wxss、主体逻辑的app.js 。每个page由四部分组成,页面设置page.json、页面文件page.wxml、页面样式page.wxss、页面主体逻辑page.js。 与H5开发一样,我们可以根据需求在app.js和page.js里添加程序在生命周期每个阶段相应的事件。比如在页面onLoad的时候进行数据的加载,onShow的时候进行数据的更新。 一个page的生命周期从onLoad开始,整个生命周期内onLoad、onReady、onUnload这三个事件仅执行一次,而onHide和onShow在每次页面隐藏和显示时都会触发。当用户手动触发左上角的退出箭头时,小程序仅触发app.onHide,下次进入小程序时会触发app.onShow以及当前page.onShow。仅当小程序在后台运行超过一定时间未被唤起、或者用户手动在小程序的控制栏里点击退出程序、或者小程序内存占用过大被关闭时,小程序被销毁,会触发app.onUnload事件。 一个完整的小程序执行的生命周期如下: [图片] 关于小程序的架构: [图片] 如图,每个小程序分为两个线程,view和appServer。其中view线程负责解析渲染页面(wxml和wxss),而appServer线程负责运行js。appServer线程运行在jsCore中(安卓下运行在X5中,开发工具中运行在nwjs中),所以js不跑在webview里,不能直接操纵DOM和BOM,这就是为什么小程序没有window全局变量。 那js如何操纵页面?js与页面的交互靠setData和事件触发,js通过setData来改变页面数据,页面通过下发事件来触发js中对应的响应事件。setData同时会改变当前页面的Page函数里的data对象,注意异步数据setData以后一定要update,不然页面上的数据不会及时更新。 最初版本里,小程序的所有js跑在同一个作用域下,开发过程中一不小心定义了相同的变量名就会导致其他页面的数据错误。在我们的推动下,现在每个小程序页面都是一个独立的作用域,命名空间互不冲突。有人问,那我们想要全局变量怎么办?又没有window。微信提供的解决方案是在app.js中注册全局变量,在每个页面中通过getApp()函数获取。 关于小程序的开发: 小程序开发入门简单,按照官方文档上给的简易教程,可以快速建立一个小程序。但是实际上手开发会发现这样几个问题: 小程序的开发工具支持简单的模块化,page路径可单独设置,但是提交代码包的大小有限制1M,而小程序没有提供相应的文件压缩与合并。 以前小程序框架的CSS 不支持 import(现在支持了!),所有样式只能写在一个文件里,不方便拆分,也不支持模块化 CSS中图片不支持相对路径,需使用线上地址或base64的,在开发阶段不方便 暂不支持es6(新版本也支持了!超哥棒棒哒) 不支持LESS SASS POSTCSS 页面与页面之间代码复用性差 为此,我们引进了webpack将开发目录与发布目录区分开来。webpack是一个前端资源加载/打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。通过引入webpack,我们实现了对es6+sass+postcss的支持,更加灵活的模块化体系,成功隔离了开发目录和发布目录。 [图片] 如上图所示,我们指定发布目录到/pub,图片和css抽取合并后生成wxss文件,例如allmatch页面的资源文件全在component/allmatch文件夹内,打包后生成的allmatch.wxss文件直接放在pub目录下。 这里我要讲一下,由于document、window对象的限制,Babel runtime相关、Commonchunk、code spliting、imports-loader等插件都不可用,想接入webpack的童鞋们要引起注意。在业务开始初期,这可花了我们好几天在和新框架磨合(泪奔脸)~ webpack还有一个小问题,就是在调试的过程中会生成许多不必要的文件,为了解决这个问题,我们写了一个清理发布文件夹的脚本,每次打包完成后会自动运行,清理非最终所需文件。 一些坑和经验: page需在app.json里注册才能被当做页面使用,利用这个现象可以创建一些公用template。 不要试图去给view等标签设置样式,会被过滤。 document window等都不存在于jscore 中,所以大部分涉及dom操作的框架都不能直接拿来使用。 介于安全性考虑,new Function,eval 会被过滤掉。 CSS 请用BEM的形式,因为app里没有自选择器,为了防止微信提供的组件样式被破坏,小程序也禁止使用层级选测器,最好提前养成好习惯。 CSS里不要用图片相对路径,建议直接base64,wxml 里可以用图片路径。 关于接口,一年后服务器会只支持https协议的接口,所以,现在尽量统一为https。 关于登录,目前小程序不支持cookie,而是采用前端利用微信提供的接口获取登录凭证code,server端再用code获取密钥session_key的方式对用户数据完成加密解密,整个过程需要server端对已有的登录体系进行再次的封装,而本地的登录态可以利用微信提供的本地存储进行保存。 [图片] 关于开发工具的提交预览功能,预览功能需要在能访问外网时才能使用,开发网不支持使用,自己生成的二维码只有自己可以体验。这对测试造成了一定的困扰。 image组件会有默认图片尺寸(320*240),无法完美适配宽高都不固定的多尺寸图片。 关于我们: 短短一个多月,在小程序的开发过程中我们经历了许多,也成长很多,在此非常感谢有这个机会发表自己的一点小见解,若有理解错误的地方尽请更正。
2019-03-18。。。。。。暴躁老哥,哈哈哈
小程序开发之南说删就删文档写得烂就算了,整合也烂。开发者指南在文档的入口说删就删,也不给个提示。维护这个的人是个弱智吗?修bug怎么没见你们这么积极?一个textarea层级问题都多久了还搞不定。你要是把问题反馈入口做显眼点怕不是早就被骂死了
2019-03-18