1、简述什么是微信小程序。
微信小程序,简称"小程序",是一种不需下载安装即可使用的应用,实现了应用"触手可及"的梦想,用户扫一扫或搜一搜即可打开的应用。
2、简述微信小程序、原生 APP 和 Web App 之间的区别。
微信小程序,是继原生 APP 和 Web App之后出现的一种新的APP形态。适合一些业务逻辑简单、低频次复用、对性能要求不高的应用。
原生 APP ,设备有Android和iOS两个平台的不兼容,需要开发两个版本,开发成本较高。
Web App 基于HTML5开发,解决了跨平台的问题,但是性能和用户体验不佳。
3、简述微信小程序项目的创建过程。 (p41-4)
1、首次打开微信开发者工具,会出现登入页面。
2、使用微信扫码登入成功后,进入项目选择界面。
3、进入微信小程序的创建界面。
4、自定义项目名称和目录、AppID、开发模式、后端服务、模板选择。
5、点击确定,稍等即可创建成功。
答:下载微信开发者工具,使用注册的账号登录,点击新建项目,填写项目信息,填写appID,选择模板和设置项目配置,完成创建。
4、请根据自己的日常使用经验,简述打开一个微信小程序的方式有哪些?
1、通过扫描二维码打开。
2、微信搜索栏直接输入小程序的名字进行搜索。
3、通过公众号进入。
4、通过微信好友以及微信群分享链接中打开等。
5、简述微信小程序的特点。
无需安装
触手可及
用完即走
无需卸载
名称唯一
入口丰富
传播能力强
6、简述微信小程序的页面组成。
wxml:微信小程序页面结构描述语言,用于构建页面的整体结构和布局。
wxss:微信小程序的样式表语言,用于对wxml中的组件进行样式设置。
js文件:用于实现页面的逻辑功能。
json文件:用于页面的配置。
7、简述微信小程序中的 WXSS 和 CSS 有哪些不同之处。
1、wxss是一套样式语言,用于描述wxml的组件样式;wxss具有css的大部分特性,并在css基础上做了一些扩充和修改。
2、单位不同,CSS中使用px为单位,而WXSS使用rpx为单位,可以适配各种手机屏幕。
3、微信小程序中,项目根目录下app.wxss文件作为全局样式,会作用于当前微信小程序的所有页面,而局部页面的WXSS样式仅对当前页面有效,CSS则没有这样的功能。
4、背景图片,CSS中可以使用本地图片当作背景图片,而WXSS中可以使用网络图片或者以Base64格式编码的图片,不能使用本地图片。
8、简述微信小程序中的 WXS。
9、wx.showLoading()方法用来产生什么提示框?使用时有什么特点?
用来产生加载提示框,告知用户当前正在进行某些操作。
特点:
全局覆盖,不受页面内其他元素布局影响。
样式相对固定
它不会自动消失,需要手动调用wx.hideLoading()
方法来隐藏加载提示框
10、小程序的页面生命周期函数包含哪些?它们分别在什么时候触发?
1、onLoad() 页面加载时触发
2、onReady() 页面初次渲染时触发
3、onShow() 页面显示时触发
4、onHide() 页面隐藏时触发
5、onUnload() 页面卸载时触发
11、简述 wx:if 控制属性和 hidden 属性的区别。
wx:if控制属性的初次渲染条件为false,只有条件第一次变为true时才开始渲染,而hidden属性所在的组件始终会被渲染,只是简单的控制显示或隐藏。
wx:if控制属性有更大的切换花销,hidden控制属性有更高的初次渲染开销。
因此:在需要频繁切换显示和隐藏的情况下用hidden更好,如果运行条件不太可能会改变时,则用wx:if更好。
12、简述 wx.navigateTo、wx.redirectTo 和 wx.switchTab 跳转方式的区别。
wx.navigateTo()跳转到应用的某个页面,且保留当前页面。
wx.redirectTo ()跳转到应用的某个页面,且关闭当前页面。
wx.switchTab ()跳转页面,且只能跳转到TabBar()页面,并关闭其它所有非tabBar页面。
13、简述 wx.request()发送网络请求时,参数 url、data、header、method 的含 义。
url:是请求的服务器接口地址,小程序通过改地址向网络发送请求。
data:参数用于向服务器发送数据。
header:设置请求的HTTP头部字段,用于指定请求的数据格式。
method:用于制定请求的方法,如GET,POST,PUT,DELETE等。
14、关于 wx.chooseMedia()方法的使用,有如下示例代码: (p41-4)
wx.chooseMedia({
count: 9, //(1)
mediaType: ['image','video'], //(2)
sourceType: [ 'camera'], //(3)
camera: 'back', //(4)
success(res) {
console.log(res.tempFiles.tempFilePath) //(5)
}
})
wx.chooseMedia({
count: 9, //(1)
mediaType: ['image','video'], //(2)
sourceType: [ 'camera'], //(3)
camera: 'back', //(4)
success(res) {
console.log(res.tempFiles.tempFilePath) //(5)
}
})
请对注释标号处对应的语句进行解释。
(1) count: 9
含义:count
参数用于指定用户最多可以选择的媒体文件数量。在这段代码中,设置为9
,表示用户打开媒体选择器后,最多能够选择 9 个图片或者视频文件。
(2) mediaType: ['image','video']
含义:mediaType
参数用来限定用户可选择的媒体类型。这里传入一个包含'image'
和'video'
的数组,意味着用户既可以从相册或拍摄界面选择图片,也可以选择视频,给用户提供了这两种类型媒体的选择权限。
(3) sourceType: [ 'camera']
含义:sourceType
参数决定了媒体文件的获取来源。当设置为['camera']
时,表明媒体文件只能通过摄像头拍摄获取,用户无法从相册等已有存储中选取,将选择范围限定在了实时拍摄。
(4) camera: 'back'
含义:camera
参数用于指定使用哪个摄像头,当设置为'back'
时,意味着如果设备有后置摄像头,将优先使用后置摄像头来拍摄图片或视频。后置摄像头通常具有更高的像素、更好的成像效果,适合拍摄风景、人物等场景。
(5) console.log(res.tempFiles.tempFilePath)
含义:在success
回调函数中,res
是选择媒体操作成功后的返回结果对象。res.tempFiles
是一个包含所选临时媒体文件信息的数组,tempFilePath
是数组内每个媒体文件对象的属性,它表示对应媒体文件的临时存储路径,通过console.log
输出这个路径,可以在控制台查看选择的图片或视频的临时存储位置,方便后续处理,比如进行预览、上传等操作。
15、wx.showToast()方法用来产生什么提示框?该方法的选项中 title、icon、duration 分别代表什么?
用于产生轻量级的提示框,向用户展示一些简短的信息。
title:提示框的显示内容。
icon:提示框中显示的图标类型。
duration:设置显示框的显示时常,单位为毫秒。
16、简述微信小程序用户登录的流程。
1、调用wx.login获取code。
2、调用wx.request发送code到我们自己的服务器(我们自己的服务器会返回一个登入状态的标识,比如token)。
3、将登入状态的标识token进行存储,以便下次使用。
4、请求需要状态的接口时,带上这个token。
17、简述微信小程序中应用生命周期回调函数 onLaunch()、onShow()、onError()、 onHide()和 onPageNotFound()的作用。
(1)onLaunch():监听微信小程序初始化,微信小程序初始化完成时触发,全局只触发一次。
(2)onShow():监听微信小程序启动或切前台,微信小程序启动或从后台进入前台时触发。
(3)onError():错误监听函数,微信小程序脚本错误或者 API 调用报错时触发。
(4)onHide():监听微信小程序切后台,微信小程序从前台进入后台时触发。
(5)onPageNotFound():页面不存在监听函数,微信小程序要打开的页面不存在时触发。
18、简述在自定义组件 js 文件的属性列表 properties 中和 data 中定义的变量有
什么区别,各有什么作用?
Properties:用于接收从父组件传递过来的数据,以对象形式定义,数据是单向流动的。
可以接收外部数据,进行组件间通信。
Data:以对象形式定义组件内部的数据,主要用于组件自身的状态管理和视图渲染。
19、简述在微信小程序中使用 Vant Weapp 组件库的步骤?
安装Vant Weapp,配置小程序,在页面中使用vant weapp组件,可以对其做个性化配置。
20、简述微信小程序有哪些优点?
无需安装
无需升级
开发周期短
开发成本低
体积小
跨平台
21、简述 WXML 和 HTML 的区别。
1、使用的标签不同。搭建页面结构上,WXML长使用<view></view>,而HTML长使用<div></div>。定义行内文本上,WXML长使用<text></text>,而HTML长使用<span></span>。
2、模板语法。WXML提供了和Vue中模板语法类似的模板语法、例如数据绑定、列表渲染、条件渲染等,而HTML没有。
3、预览方式不同。HTML页面可以在浏览器中预览,而WXML仅能在微信客户端和微信开发者工具中预览。
4、单标签语法不同。HTML中允许省略单标签">"前面的"/",而WXML中的单标签">"必须前面加上"/"。
5、WXML所使用的标签是微信小程序定义的标签,应避免使用HTML标签,这样才能保证页面被正确转译。
22、简述小程序的页面生命周期函数 onLoad()、onReady()、onShow()的执行时
机以及三者执行的先后次序。
onLoad()页面加载时触发,只会调用一次。
onReady()页面初次渲染完成时触发,只会调用一次。
onShow()页面显示或切入后台时触发。
调用顺序onLoad(),onReady(),onShow()