微信小程序面试总结

小程序

​ 开发便捷,有一套完整的API供使用,社区也比较活跃,许多开发问题在里面可以得到答案。腾讯团队维护,不断的更新优化是功能越完善。依赖于微信,无需安装,用完即扔。

​ 对项目大小有限制,不超过2M。使用分包最多也就8M,而且单个包不能超过2M。

​ 全局App只用一个,通过 **getApp()**获取。

​ 打开的页面未关闭一般放在页面栈中,通过 **getCurrentPages()**获取页面数组。

小程序生命周期

​ onLaunch - 小程序初始化(只执行一次)

​ onShow - 小程序启动或者切前台

​ onHide - 小程序切后台

​ onError - 发生错误

​ onPageNotFound - 页面不存在(在这可做页面重定向)

页面生命周期

​ onLoad - 页面加载(页面切前台操作不会执行;在onShow之前执行,但是不能阻止onshow执行)。

​ onShow - 页面显示

​ onReady - 页面初次渲染完成

​ onHide - 页面隐藏

​ onUnload - 页面卸载

授权登录

​ 授权这一块规则是改了好多次,一开始是第一次直接可以弹框提示授权,到后面只能触发形式授权。

​ 其实这一块东西,如果后台不需要保存头像,昵称或者拿unionID。其实不用授权的。通过wx.login就能换取到用户在小程序唯一标识openID。而且如果前端要展示用户昵称头像等,通过open-data组件获取用户的一些信息展示(不能保存到后台)。

组件

​ 生命周期:

​ created - 在组件实例刚刚被创建时执行,(注意此时不能调用 setData );

​ attached - 在组件实例进入页面节点树时执行;

​ ready - 在组件布局完成后执行

​ moved - 在组件实例被移动到节点树另一个位置时执行;

​ detached - 在组件实例被从页面节点树移除时执行;

​ 组件间通信:

​ 父组件通过属性传递, 子组件通过properties能接收到。

​ 子组件派发事件,(通过 this.triggerEvent(‘事件名称’, 要传达的数据, 事件选项););

​ 父组件可以通过 this.selectComponent()方法获取组件实例,就可以直接访问子组件的方法和对象。

分包

​ 所有分包总大小不超过 8M,单个分包不超过 2M。

​ 分包自己的资源是独立的,分包间不能互相使用。但是可以使用公共的资源。

​ 分包页面不能配置在tabbar。

​ 分包可以进入分包是加载,也可以配置在进入某个页面的时候,提前加载。

​ 小程序进入的时候一定会进入主包(独立分包除外)

​ 独立分包是小程序直接进入独立分包,独立分包不能依赖于主包文件。

微信支付

​ 小程序必须开通微信支付(必须绑定微信支付商户号)

Created with Raphaël 2.2.0 下单 前端请求下单 后台掉微信小程序登录返回Openid 生成商户订单 后台调用微信统一下单API 后台根据生成预支付订单信息组合签名返回 前端根据返回支付信息调用微信支付 支付成功回调请求后台确认订单 后台查询订单信息返回结果(会用时间差,可能后台这边还没有收到订单支付消息) 根据返回结果相应展示 完成

你可能感兴趣的:(微信小程序)