这是本文档旧的修订版!
目录
1.Mini-App 微信小程序
小程序的主要开发语言是 JavaScript。[官方文档]小程序简介
函数
function(e){}
事件函数function(e){}中e,简单来说就是指向了当前发生的事件(click、mouseover等等),保存了当前事件的信息。如鼠标点击事件,有鼠标的坐标信息。事件函数function(e){}中e的问题
其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置在window.event对象中,所以兼容低版本的IE要加上这句e=e||window.event;
同步调用(async-await)
因为异步流程嵌套太麻烦,这里使用同步调用判断函数checkString 。小程序同步调用(async-await)云函数security.msgSecCheck检查敏感词
语句
if 判断中出现逗号
if 判断条件 会以 逗号分隔后的两个表达式中的最后一个表达式的结果为准 if 判断中出现逗号
if(1>2,2>3)//false,false { alert('1>2,2>3 - true '); } else { alert('1>2,2>3 - false '); }
点击确定之后
undefined
this.data和this.setData{()}
微信小程序之 this.data和this.setData{()}区别
- this.setData({})用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。不仅会改变数据,而且还会改变视图。
- this.Data({})会造成页面内容不更新的问题。仅数据会变,视图不会变。
运算符
&&与||
a&&b
:如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行;
a || b
:如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值;
&& 优先级高于 ||;js中的|| 与 &&
open-type 获取头像昵称
使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。小程序新方法 open-type获取头像昵称
作用 : 引导用户主动进行授权操作 > 当用户未授权过,调用该接口将直接报错,走fail方法;当用户授权过,可以使用该接口获取用户信息。
open-type 的合法值
| 值 | 说明 |
|---|---|
| getUserInfo | 获取用户信息,可以从bindgetuserinfo回调中获取到用户信息 |
| openSetting | 打开授权设置页 |
| getPhoneNumber | 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息, |
//index.xml <button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" >授权登录</button>
Page({ data: {}, bindGetUserInfo: function(e) { var that = this; //此处授权得到userInfo console.log(e.detail.userInfo); //接下来写业务代码 //最后,记得返回刚才的页面 wx.navigateBack({ delta: 1 }) } })
| 属性 | 类型 | 默认值 | 说明 |
| delta | number | 1 | 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 |
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。wx.navigateBack(Object object)
全局判断
onLoad()
- 小程序注册完成后,加载页面,触发onLoad方法。
- 页面载入后触发onShow方法,显示页面。
- 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次。
- 当小程序后台运行或跳转到其他页面时,触发onHide方法。
- 当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。
- 当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack(),触发onUnload
生命周期
获取用户授权
wx.getSetting 在 未拒绝 和 未同意 状态下
success: (res) => { } 的res.authSetting{}值是空的!
在getUserInfo()后,点击拒绝后
wx.getSetting的fail:(res)=>{}触发,res.authSetting['scope.userInfo'] 的值是false ,表示scope.userInfo这个权限没有授权。
在getUserInfo()后,点击同意后
wx.getSetting的success:(res)=>{}触发,res.authSetting['scope.userInfo'] 的值是true,表示scope.userInfo这个权限已经授权。 [[https://www.cnblogs.com/it999/p/9352237.html|小程序开发--wx.getSetting 授权检测]]
| 属性 | 类型 | 说明 |
| authSetting | AuthSetting | 用户授权结果 |
微擎开发流程
util.js工具库
util.js 是微擎小程序提供的一套基础的JS工具库,使用时需要先在app.js中引用,如下:util.js工具库
util: require('we7/resource/js/util.js'),
util.request
定位授权
需要设置open-type的值为openSetting打开权限设置界面,再去设置权限,相比较于之前的 wx.openSetting,只是单单的增加的操作的步骤
跳转
1、wx.navigateTo
保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
2、wx.redirectTo
关闭当前页面,跳转到应用内的某个页面。
3、wx.switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
4、wx.navigateBack
关闭当前页面,返回上一页面或多级页面。可通过 [getCurrentPages()] 获取当前的页面栈,决定需要返回几层。
5、wx.reLaunch
关闭所有页面,打开到应用内的某个页面。小程序的坑——wx.navigateTo和 wx.redirectTo不跳转问题

