一,如何创建一个微信小程序项目?
用邮箱申请账号,成功之后,在微信公众平台生成AppID,
文档位置:指南 -> 起步

二,小程序代码的构成?
json wxml wxs wxss
文档位置:指南 -> 小程序代码构成

三,小程序配置有哪些?如何配置微信小程序?
全局配置,页面配置,
全局配置里重点,pages,window,tabBar,permission,navigateToMiniProgramAppIdList
页面配置重点:navigationBarBackgroundColor,navigationBarTextStyle,navigationBarTitleText
enablePullDownRefresh,onReachBottomDistance,
页面中配置项在当前页面会覆盖 app.json 的 window 中相同的配置项。

文档位置:指南 -> 配置小程序,框架 -> 小程序配置

四,小程序页面生命周期是什么?
(能说出小程序生命周期所有的函数名称,并说明他们之间的区别)

onLoad 在页面开始时,只加载一次
onShow 除了在第一次显示时 调用时,执行之外,在页面跳转回来时 也会执行
onReady 是在dom全部加载完成之后 执行,
onHide 是在跳转到别的页面时,调用,
onUnLoad 是在页面关闭 卸载后 调用。

文档位置: 框架 -> 框架接口 -> 页面 -> Page

小程序生命周期
onLaunch() {
console.log(\’onLaunch监听小程序初始化\’);
}

onShow() {
console.log(\’onShow监听小程序显示\’);
}

onHide() {
console.log(\’onHide监听小程序隐藏\’);
}

 

五,页面其他的事件监听函数还有哪些?

onPullDownRefresh 监听用户下拉动作
onReachBottom 页面上拉触底事件的处理函数
onShareAppMessage 买 塞 之 用户点击右上角转发
onPageScroll 页面滚动触发事件的处理函数
onResize 页面尺寸改变时触发,详见 响应显示区域变化
onTabItemTap 当前是 tab 页时,点击 tab 时触发

文档位置: 框架 -> 框架接口 -> 页面 -> Page

六,模块化
两种方式,一种是es6的 import 一种是 require

require 方式,通过 module.exports 导出,通过require 引入
import 方式,通过 export.default 导出,通过import 引入

require 参考文档,框架 -> 框架接口 -> 模块化
import 参考文档,es6.ruanyifeng.com 或者 https://www.runoob.com/w3cnote/es6-module.html

七,事件系统
事件分为 捕获 事件触发 冒泡 ,
冒泡事件和非冒泡事件:冒泡事件 用bind开头,非冒泡事件用catch开头
捕获阶段监听事件时,用capture-bind、capture-catch开头,capture-catch将中断捕获阶段和取消冒泡阶段。

文档位置: 框架 -> 小程序框架 -> 视图层 -> 事件系统

八,复习语法
数据绑定,列表渲染,条件渲染,模板,引入

文档位置: 框架 -> WXML语法参考

九,常用组件:

9.1 视图容器
view,scroll-view,swiper,swiper-item,
重点需要了解 scroll-view,swiper 都有哪些属性 ,怎么使用
文档位置: 组件 -> 视图容器

9.2
图标组件和文本组件
icon text
文档位置: 组件 -> 基础内容

9.3
表单组件
表单组件都有哪些?
参考文档位置: 组件 -> 表单组件 picker

重点 button,picker,input,
button的open-type都有哪些?分别是做什么用的?
picker 里mode 的合法值都有哪些?
input 常用的属性以及事件监听方法 有哪些?
参考文档位置: 组件 -> 表单组件

9.4
媒体组件
重点 audio,video,image
其中,image的缩放模式(mode)都有哪些? image还有哪些可用的属性?
参考文档位置: 组件 -> 媒体组件 -> image

十,小程序跳转页面,也就是路由API 都有哪些?他们的区别是什么?

wx.switchTab 思维持忒博,wx.reLaunch 瑞揽驰,wx.redirectTo 瑞迪艾特吐,wx.navigateTo ,wx.navigateBack

wx.switchTab 跳转到tabBar页面
wx.reLaunch 关闭所有打开的页面,然后跳转到某一个页面
wx.redirectTo 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
wx.navigateTo 不关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
wx.navigateBack 返回上一个页面 或 多级页面

参考文档位置: API -> 路由

十一,小程序弹窗的方式 都有哪些?

wx.showToast 售透斯特 wx.showLoading wx.showModal wx.showActionSheet 艾克神谁特
其中,wx.showToast wx.showLoading 需要用 wx.hideToast,wx.hideLoading 来关闭
wx.showModal wx.showActionSheet 需要用户选择后自动关闭

wx.showModal 和 wx.showActionSheet,都需要传什么参数,如何使用?

参考文档位置: API -> 界面 -> 交互

十二,如何设置导航栏动画?
wx.showNavigationBarLoading wx.hideNavigationBarLoading

参考文档位置: API -> 界面 -> 导航栏

十三,如何动态设置导航栏标题文字 和 导航条颜色?
wx.setNavigationBarTitle wx.setNavigationBarColor

参考文档位置: API -> 界面 -> 导航栏

十四,如何显示和隐藏tabBar
wx.showTabBar wx.hideTabBar
参考文档位置: API -> 界面 -> Tab Bar

十五,如何触发下拉刷新?
wx.startPullDownRefresh wx.stopPullDownRefresh
参考文档位置: API -> 界面 -> 下拉刷新

十六,如何监听下拉刷新事件?
需要在app.json的window选项中或页面配置中开启enablePullDownRefresh
onPullDownRefresh()

文档位置: 框架 -> 框架接口 -> 页面 -> Page

十七,如何监听上拉刷新事件?
需要在app.json的window选项中或页面配置中设置触发距离 onReachBottomDistance
onReachBottom()

文档位置: 框架 -> 框架接口 -> 页面 -> Page

十八,如何监听用户滑动页面事件?

onPageScroll() 用scrollTop获取滚动的距离

文档位置: 框架 -> 框架接口 -> 页面 -> Page

十九,如何实现转发?如何监听转发事件?
1,点击右上角三个点,选择转发选项,
2,通过<button open-type=”share”></button>
页面上通过 onShareAppMessage 监听,
可以用过事件里的 from 属性,判断转发事件来源。
button:页面内转发按钮;
menu:右上角转发菜单

文档位置: 框架 -> 框架接口 -> 页面 -> Page

二十,如何将页面滚动到目标位置?

wx.pageScrollTo()方法

文档位置: API -> 界面 -> 滚动

二十一,如何发送一个请求?
wx.request 方法 ,具体参数参考文档

文档位置: API -> 网络 -> 发送请求

二十二,数据缓存的方法有哪些?

异步方法 wx.setStorage wx.getStorage wx.removeStorage wx.clearStorage
同步方法在 异步方法名称后加Sync

文档位置: API -> 网络 -> 数据缓存

二十三,如何选择图片,如何预览图片?

wx.previewImage 预览图片,wx.chooseImage 选择图片

文档位置: API -> 媒体 -> 图片

二十四,如何播放一个背景音乐?
首先通过 wx.getBackgroundAudioManager 方法获取全局唯一音频管理器,
然后通过设置音频地址(src属性)等,播放音频

常用的属性有 src 音频地址,title 标题,epname 专辑名称,singer歌手名称,coverImgUrl封面图片地址,等

文档位置: API -> 媒体 -> 背景音频

二十五,如何获取一个节点信息?
小程序不能通过js修改dom节点,但是可以获取节点信息
通过wx.createSelectorQuery()方法 获取 SelectorQuery 对象实例
然后依次调用select方法 boundingClientRect方法,exec方法 获取信息
具体使用方式,参考文档,示例

文档位置: API -> WXML -> wx.createSelectorQuery

二十六,小程序还能使用什么硬件能力?
蓝牙,NFC,Wi-Fi,摄像头,

文档位置: 指南 -> 硬件能力

 

需要了解的内容:

一,登录

小程序登录流程:
微信小程序调用wx.login获取临时登录凭证code,并传给后端,后端调用微信服务接口换取户唯一标识 OpenID 和 会话密钥 session_key,openid存入数据库后,后端返回给我一个token值,我用token值进行用户验证

常见登录开发步骤:
1,调用 wx.checkSession()方法 检查session_key 是否过期,过期了需要重新登录,则执行第二步
2,微信小程序调用wx.login获取临时登录凭证code,并传给后端,后端调用微信服务接口换取户唯一标识 OpenID 和 会话密钥 session_key
3,保存OpenID,(如果已经有相同的openid就做更新操作,没有就新保存),
4,用openid 、时间戳、自定义字符 做md5操作,生成一个token,把这个token 存入 类似redis等kv数据库,并把token返回给小程序
5,小程序通过token来做验证等操作,登录流程完毕。

 

二,自定义组件
1,自定义组件类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成,但不需要在app.json里注册
2,页面使用自定义组件时,首先在当前页面配置 usingComponents,写出组件名称 和 对应的路径
3,自定义组件 有自己的生命周期

文档位置: 指南 -> 自定义组件

 

小程序与普通网页开发的区别:
1.浏览器不同
2.渲染机制不同

 

版权声明:本文为nopain原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nopain/p/15105315.html