用户工具

站点工具


mina:catalogue

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
mina:catalogue [2020/08/22 16:47] – [运算符] sabertoymina:catalogue [2024/06/23 00:01] (当前版本) 争当好青年
行 1: 行 1:
-======  1.Mini-App 微信小程序 ======+====== 1.Mini-App 微信小程序 ======
  
 ​小程序的主要开发语言是 JavaScript。[[https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%AE%80%E4%BB%8B|[官方文档]小程序简介]] ​小程序的主要开发语言是 JavaScript。[[https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%AE%80%E4%BB%8B|[官方文档]小程序简介]]
  
-===== 函数 =====+===== -#1 函数 =====
  
-==== function(e){} ====+==== function(e){} ====
  
-事件函数function(e){}中e,简单来说就是指向了<wrap hi>当前发生的事件</wrap>(click、mouseover等等),保存了当前事件的信息。如鼠标点击事件,有鼠标的坐标信息。[[https://blog.csdn.net/wzj2584454/article/details/78104505|事件函数function(e){}中e的问题]] \\+事件函数function(e){}中e,简单来说就是指向了<wrap hi>当前发生的事件</wrap>(click、mouseover等等),保存了当前事件的信息。如鼠标点击事件,有鼠标的坐标信息。[[https://blog.csdn.net/wzj2584454/article/details/78104505|事件函数function(e){}中e的问题]] 
  
-其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置在''window.event''对象中,所以兼容低版本的IE要加上这句''e=e||window.event;'' \\+其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置在''window.event''对象中,所以兼容低版本的IE要加上这句''e=e||window.event;'' 
  
-===== 同步调用(async-await) ===== 
  
-因为异步流程嵌套太麻烦,这里使用同步调用判断函数checkString [[https://blog.csdn.net/flysnownet/article/details/102542675|小程序同步调用(async-await)云函数security.msgSecCheck检查敏感词]]  
  
 +===== -#3 语句 =====
  
-===== 语句 ===== +==== if 判断中出现逗号 ====
- +
-==== if 判断中出现逗号 ====+
  
 if 判断条件 会以 逗号分隔后的两个表达式中的<wrap em>最后一个表达式的结果</wrap>为准 [[https://www.cnblogs.com/SunXiaoLin/p/5283932.html|if 判断中出现逗号]] if 判断条件 会以 逗号分隔后的两个表达式中的<wrap em>最后一个表达式的结果</wrap>为准 [[https://www.cnblogs.com/SunXiaoLin/p/5283932.html|if 判断中出现逗号]]
行 33: 行 30:
 </code>  </code> 
  
-{{ :微信小程序:if语句逗号.png?400 |}} 
  
-点击确定之后 +===== -#4 this.data和this.setData{()} =====
- +
-  undefined +
- +
- +
- +
- +
-===== this.data和this.setData{()} =====+
  
 [[https://www.jianshu.com/p/4fe2af286f7a|微信小程序之 this.data和this.setData{()}区别]] [[https://www.jianshu.com/p/4fe2af286f7a|微信小程序之 this.data和this.setData{()}区别]]
行 49: 行 38:
   * this.Data({})会造成页面内容不更新的问题。仅数据会变,视图不会变。   * this.Data({})会造成页面内容不更新的问题。仅数据会变,视图不会变。
  
-===== 运算符 =====+===== -#5 运算符 =====
  
-==== &&与|| ====+==== &&与|| ====
  
 ''a&&b''   \\ ''a&&b''   \\
行 57: 行 46:
 :如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行; \\ :如果执行a后返回true,则执行b并返回b的值;如果执行a后返回false,则整个表达式返回a的值,b不执行; \\
  
-''a || b''  \\+''a||b''  \\
  
 :如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值; \\ :如果执行a后返回true,则整个表达式返回a的值,b不执行;如果执行a后返回false,则执行b并返回b的值; \\
行 63: 行 52:
 && 优先级高于 ||;[[https://www.cnblogs.com/chenqingwei/archive/2010/05/14/1735174.html|js中的|| 与 &&]] && 优先级高于 ||;[[https://www.cnblogs.com/chenqingwei/archive/2010/05/14/1735174.html|js中的|| 与 &&]]
  
-====  open-type 获取头像昵称 ==== +<code javascript> 
- +/** 
-使用 button 组件并将 open-type 指定为 getUserInfo 类型获取用户基本信息[[https://www.jianshu.com/p/e4657f16a82c|小程序新方法 open-type获取头像昵称]] \\ +* 几乎所有语言中||和&&都遵循“短路”原理 
- +* 如&&中第一个表达式假就不会去处理第二个表达式而||正好相反。 
-作用 : 引导用户主动进行授权操作 > 用户未授权过调用接口将直接报错走fail方法;当用户授权过可以使用该接口获取用户信息。 \\ +* js也遵循上述原则。 
- +||时找到为true的分项就停止处理,并返回分项的值否则执行完并返回最后分项的值。 
-open-type 合法值 \\ +* 当&&时,找到为false的分项就停止处理,并返回该分项的值 
- +**/ 
-^ 值               ^ 说明                                        ^ +var a = "" || null || || 4;//3 
-getUserInfo     获取用户信息,可以从bindgetuserinfo回调中获取到用户信息       | +alert(a); 
-openSetting     打开授权设置页                                   | +var b 4 && 5 && null && "0";//null 
-| getPhoneNumber  | 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息, +alert(b);
- +
-<code xml> +
-//index.xml +
-<button open-type="getUserInfobindgetuserinfo="bindGetUserInfo" >授权登录</button>+
 </code> </code>
 +==== - 布尔值与数值比较 ====
  
-<code javascript> +[[https://blog.csdn.net/sinat_39571186/article/details/82465172|为什么js中 3>2>1false123”为true?]]
-Page({ +
-  data: {}, +
-  bindGetUserInfo: function(e) { +
-    var that = this; +
-    //此处授权得到userInfo +
-    console.log(e.detail.userInfo); +
-    //接下来写业务代码 +
- +
-    //最后,记得返回刚才的页面 +
-    wx.navigateBack({ +
-      delta: 1 +
-    }) +
-  } +
-}) +
-</code>  +
- +
-| 属性     | 类型      | 默认值  | 说明                               | +
-| delta  | number  | 1  | 返回的页面数,如果 delta 大于现有页面数,则返回到首页。 +
- +
-关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。[[https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html|wx.navigateBack(Object object)]]  \\ +
- +
-[[https://blog.csdn.net/weixin_43992330/article/details/89421214|微信小程序授权登录和获取手机号功能(详细)]] \\ +
- +
-全局判断 +
- +
- +
- +
- +
- +
- +
-====== 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  | 用户授权结果 +
- +
-[[https://developers.weixin.qq.com/minigame/dev/api/open-api/setting/AuthSetting.html|AuthSetting用户授权设置信息]] \\ +
-[[https://developers.weixin.qq.com/minigame/dev/guide/framework/authorize.html|权限]] +
-====== 微擎开发流程 ====== +
- +
-[[https://www.jianshu.com/p/a8998fb72b51|微擎小程序开发流程]] +
- +
- +
- +
-===== util.js工具库 ===== +
- +
-util.js 是微擎小程序提供的一套基础的JS工具库,使用时需要先在app.js中引用,如下:[[http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=3|util.js工具库]] \\ +
- +
-  util: require('we7/resource/js/util.js'), +
-   +
- +
- +
- +
- +
-===== util.request ===== +
- +
-[[http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=497|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 \\ +
-关闭所有页面,打开到应用内的某个页面。[[https://www.jianshu.com/p/f0f2227887ee|小程序的坑——wx.navigateTo和 wx.redirectTo不跳转问题]] \\ +
- +
-===== button 事件总结 ===== +
- +
-[[http://www.jiangweishan.com/article/weixinxcx20180917.html|关于微信小程序点击事件的一些事]] +
  
  
mina/catalogue.1598086023.txt.gz · 最后更改: 2020/08/22 16:47 (外部编辑)