1.简述微信小程序用户登录的流程
正确答案
(1)小程序获取code
在小程序中通过wx.login()获取 登录凭证code, code由小程序内部自动生成,每次调用
wx.login()获得的code都不同。需要注意的是,code 有效期为5分钟,且被微信接口服务验证一次后就会失效。
(2)小程序将code发送给开发者服务器
在获取code后,使用wx.request()将code发送给开发者服务器。
(3)开发者服务器通过微信接口服务校验登录凭证
开发者服务器将Appld、AppSecret、 code发送给微信接口服务校验登录凭证,如果校验
成功,返回session_ key 和openid等。其中,Appld是小程序的唯一标识, AppSecret 是小程序的密钥,对于微信接口服务而言,它们相当于小程序账号的id和密码。
2.请简述什么是微信小程序。
正确答案
微信小程序是一种不需要安装即可使用的应用,用户只要“扫一扫”或“搜一搜”既可以打开应用,无需安装或卸载。微信小程序运行与微信之上,它的交互类似于手机原生应用,但是每个应用体积非常小,上限为2048KB。
3.请简单介绍微信小程序、原生APP和Web App之间的区别。
正确答案
微信小程序是继原生APP、Web APP之后出现的一种新的APP形态。适合开发一些业务逻辑简单、低频次使用、对性能要求不高的应用。
原生APP由于Android和IOS两个平台的不兼容,需要开发两个版本,开发成本高。
基于HTML5开发的Web APP解决了跨平台的问题,但是性能和用户体验不佳。
4.简述微信小程序开发具体步骤及所需的文件结构。
正确答案
步骤:
打开安装好的微信开发者工具,选择小程序项目;
填写小程序项目信息,利用普通快速启动模板创建目录结构;
文件结构:
打开目录结构主要包括项目配置文件project.config.json、应用程序配置文件app.json、公共样式文件app.wxss、页面结构目录pages、app.js应用程序的逻辑代码等。
5.微信小程序开发过程中页面渲染的方式有哪些?简单举例说明。
正确答案
wx:for列表渲染;
举例:通过循环数组实现,语句:wx:for=”{
{[…]}}”;
wx:if条件渲染;
举例:通过给定布尔值实现,语句wx:if=”{
{true/false}}”
6.简单介绍在微信小程序实现背景音乐播放器有哪些方式?
正确答案
Audio组件或者wx.createInnerAudioContext 接口
7.简述WX. navigateTo、wx. redirectTo和wx. switchTab跳转方式的区别。
正确答案
wx.navigateTo只能用于跳转到非标签页,且保留当前页面,
跳转页面后单击左上角可以返回到上一个页面。
wx.redirectTo只能用于跳转到非标签页,且关闭当前页面,不能返回到上一个页面。
wx.switchTab只能用于跳转到标签页,且关闭其他所有非标签页。
8.简述小程序的WXSS和CSS有哪些不同之处。
正确答案
wxss是一套样式语言,用于描述wxml的组件样式;wxss具有css的大部分特性,并在css基础上做了一些扩充和修改。
wxss扩展的特性有:
尺寸单位:rpx: 可以根据屏幕宽度进行自适应
样式导入:@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对径,用;表示语句结束
9.打开一个微信小程序可以通过哪些方式实现。
正确答案
(1)线下扫码
(2)微信搜索
(3)公众号关联
(4)好友推荐
(5)历史记录
10.小程序的页面生命周期函数包含哪些?它们分别在什么时候触发?
正确答案
(1)onLoad页面加载时触发
(2)onReady页面初次渲染完成时触发
(3)onShow页面显示时触发
(4)onHide页面隐藏时触发
(5)onUnload页面卸载时触发
11.简述小程序有哪些优点?
正确答案
(1)无需下载
(2)无需升级
(3)开发周期短
(4)开发成本低
(5)体积小
(6)跨平台
12.简要介绍WeUi、mpvue和WePY。
正确答案
WeUi是微信官方设计团队为微信Web开发打造的一个基础样式库,可以使得小程序的各种组件的设计风格与微信极为相似,给用户更加一致的体验。
mpvue是从整个Vue.js核 心代码上经过二次开发形成的一个框架,相当于在Vue.js的基础上增加了开发微信小程序的能力。
WePY在开发过程中参考了Vue.js等现有框架的一些语法风格和功能特性,对原生小程序的开发模式的再次封装,更贴近与MVVM模式。