1、小程序开发中的难点?
-
1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载。解决方法,使用Promise异步函数
-
2.每个image标签底部有一条透明间隔.解决方法:display:block
-
3.网络请求必须部署https,小程序wx.request()方法请求的url必须是https开头.
-
4.开发工具和手机兼容,目前通过开发工具开发的小程序并没有与手机做到所建即所得,简单讲就是开发的小程序在IOS和安卓上的会出现显示不同的情况。
-
5.小程序的脚本语言仅支持原生java Script,很多优秀的第三方框架不能使用。
-
6.小程序目前编辑器功能不是很完善,比如代码补全功能不完善,编辑器窗口布局有待优化。
-
7.小程序的难点主要聚焦在产品的定位和设计。小程序的产品不能是从原生APP生拉硬套搬到小程序上,而是要基于小程序进行平台化创新,符合小程序的使用场景和微信的使用规范。
-
8、2个页面a跳转到b,然后b选择后关闭,如何给A里面的变量赋值。在B的js文件里面做处理:
var pages = getCurrentPages(); //得到所有的页面 var prevPage = pages[pages.length - 2];//上一个页面。 //给上一个页面的变量赋值 prevPage.setData({ account: card_number }) 复制代码
-
9、小程序底部菜单跳转的时候,是不能带参数的,这个问题也很好解决,直接把需要传递参数的页面在跳转前将数据添加到全局数据app.js里。需要接受参数的页面在onShow方法接收之前,添加到app.js的数据就可以了。
2、小程序开发新功能调整
1、分享监听接口
10月10日起新提交的版本,用户从小程序、小游戏中分享消息给好友时,开发者将无法获知用户是否分享完成,也无法在分享后立即获得群ID。请参考调整指引
2、getUserInfo接口
10月10日起新提交的版本,用户在小程序、小游戏中需要点击组件后,才可以触发登录授权弹窗、授权自己的昵称头像等数据。请参考调整指引
3、openSetting接口
10月10日起新提交的版本,用户在小程序、小游戏中需要点击行为后,才可以跳转打开设置页,管理授权信息。请参考调整指引
3、易加油小程序亮点
1、定位功能
- 当获取地理位置的时候,拉起了是否允许获取定位的弹框,拒绝获取定位后,当下次再次进入页面,则会默认调用地理位置失败,无法再重新获取当前位置。
解决办法:在用户首次拒绝授权定位的时候,在fail回掉函数里面打开设置页面,引导用户打开设置页的地理定位。如果再次取消定位的话,就给用户一个默认值,默认定位为深圳市的地理位置。 - 在ios和android平台,关闭系统定位后,拉起授权定位弹框的时候,点击了拒绝授权,安卓会默认调用基站的地理位置,而ios则不会。
解决办法:在ios拒绝后,弹框提示开启系统定位,拉起系统设置页面。
2、登录功能
- 小程序有原有的微信生态系统,所以可以拿到用户的unionid和phone这些信息,unionid是微信公众号,小程序的统一标识,是唯一的,当用户关注过同主体的公众号后,用户首次登录小程序,通过登录code可以获取到unionid和openid,但是如果没有关注过,则code只能拿到openid,这个时候的unionid需要获取,则需要用户主动触发button组件获取。
- 小程序可以通过主动触发button组件获取手机号,当用户拒绝授权的时候,则需要用户手动用验证码注册登录。
3、自定义键盘
- 在输入油枪号页面,需要输入“-”这样的符号和9位数字键盘,为了方便快速输入油枪号,就自定义了一个键盘,并给键盘加入了动画,transform:translate.
4、微信小程序——云开发
开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
目前提供三大基础能力支持:
云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码
数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库
存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理