微信小程序学习日记6

这篇具有很好参考价值的文章主要介绍了微信小程序学习日记6。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.WXML冒泡事件列表
解析:
[1]touchstart:手指触摸动作开始
[2]touchmove:手指触摸后移动
[3]touchcancel:手指触摸动作被打断,如来电提醒,弹窗
[4]touchend:手指触摸动作结束
[5]tap:手指触摸后马上离开
[6]longpress:手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发
[7]longtap:手指触摸后,超过350ms再离开[推荐使用longpress事件代替]
[8]transitionend:会在WXSS transition或wx.createAnimation动画结束后触发
[9]animationstart:会在一个WXSS animation动画开始时触发
[10]animationiteration:会在一个WXSS animation一次迭代结束时触发
[11]animationend:会在一个WXSS animation动画完成时触发
[12]touchforcechange:在支持3D Touch的iPhone设备,重按时会触发

2.生命周期相关函数
解析:
[1]生命周期函数–监听页面初次渲染完成:onReady
[2]生命周期函数–监听页面显示:onShow
[3]生命周期函数–监听页面隐藏:onHide
[4]页面相关事件处理函数–监听用户下拉动作:onPullDownRefresh
[5]页面上拉触底事件的处理函数:onReachBottom
[6]用户点击右上角分享:onShareAppMessage
[7]生命周期函数–监听页面卸载:onUnload

3.微信小程序消息推送服务
解析:
[1]开发者服务器接收消息推送
[2]云函数接收消息推送
[3]微信云托管服务接收消息推送

4.加密/校验流程
解析:
[1]将token、timestamp、nonce三个参数进行字典序排序
[2]将三个参数字符串拼接成一个字符串进行sha1加密
[3]开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

5.微信小程序存储
解析:每个微信小程序都可以有自己的本地缓存,可以通过wx.setStorage/wx.setStorageSync、wx.getStorage/wx.getStorageSync、wx.clearStorage/wx.clearStorageSync,wx.removeStorage/wx.removeStorageSync对本地缓存进行读写和清理。

6.多线程Worker
解析:
[1]一些异步处理的任务,可以放置于Worker中运行,待运行结束后,再把结果返回到小程序主线程。Worker运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。
[2]Worker与主线程之间的数据传输,双方使用Worker.postMessage()来发送数据,Worker.onMessage()来接收数据,传输的数据并不是直接共享,而是被复制的。

7.UnionID机制说明
解析:对同一个微信开放平台下的不同应用,UnionID是相同的。

8.UnionID获取途径
解析:
[1]开发者可以直接通过wx.login+code2Session获取到该用户UnionID,无须用户授权。
[2]小程序端调用云函数时,可在云函数中通过Cloud.getWXContext获取UnionID。
[3]用户在小程序中支付完成后,开发者可以直接通过getPaidUnionId接口获取该用户的UnionID,无需用户授权。
微信小程序学习日记6

9.页面Page实例的生命周期
解析:
微信小程序学习日记6

10.事件监听API
解析:这类API接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。

11.异步API返回Promise
解析:wx.chooseImage().then(res => console.log('res: ', res))

12.获取手机号码
解析:

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

相关函数,如下所示:

getPhoneNumber: function (e) {
    var that = this;
    console.log(e.detail.errMsg == "getPhoneNumber:ok");
    if (e.detail.errMsg == "getPhoneNumber:ok") {
        wx.request({
            url: 'http://localhost/index/users/decodePhone',
            data: {
                encryptedData: e.detail.encryptedData,
                iv: e.detail.iv,
                sessionKey: that.data.session_key,
                uid: "",
            },
            method: "post",
            success: function (res) {
                console.log(res);
            }
        })
    }
}

13.wx.authorize()
解析:提前询问授权,之后需要获取相关信息的时候不用再次弹出授权。

14.jscode2session
解析:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

15.微信openID和UnionID区别
解析:
[1]openid=28同一用户同一应用唯一,unionid=29同一用户不同应用唯一
[2]这里的不同应用是指在同一微信开发平台下的不同应用

16.wx.openSetting()
解析:开发者可以调用wx.openSetting打开设置界面,引导用户开启授权。

17.wx.authorize()
解析:开发者可以使用wx.authorize在调用需授权API之前,提前向用户发起授权请求。

18.getCurrentPages()
解析:开发者可以使用getCurrentPages()函数获取当前页面栈。

19.wx.checkSession()
解析:
[1]授权时先调用checkSession判断session_key是否失效,失效重新调用wx.login。
[2]先wx.login获取code,再拿code生成3rd_session,前端拿到3rd_session后存起来,每次进来先checkSession判断code是否过期,再判断3rd_session是否过期,任何一个过期都重新走一遍登录流程。
[3]调用wx.checkSession接口检测当前用户登录态是否有效。

20.setData()
解析:setData函数用于将数据从逻辑层发送到视图层[异步],同时改变对应的this.data的值[同步]。
[1]setData这个方法只是给当前页面设置
[2]globalData全局变量
[3]setStorage/setStorageSyn是数据缓存,关闭再打开也是有的

21.bindgetphonenumber绑定事件回调参数
解析:
[1]errMsg:用户点击取消或授权的信息回调
[2]iv:加密算法的初始向量[如果用户没有同意授权则为undefined]
[3]encryptedData:用户信息的加密数据[如果用户没有同意授权同样返回undefined]

22.微信公众号通讯方式
解析:
[1]消息通讯:对话界面或应用服务器后台
[2]高级接口:应用服务器后台
[3]HTML5网页:JSAPI、JS-SDK

23.WebSocket原理
解析:
[1]WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议
[2]在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据相互传送
[3]浏览器通过JavaScript向服务器发出建立WebSocket连接的请求,连接建立以后,客户端和服务器端就可以通过TCP连接直接交换数据

24.unionid和openid问题
解析:如果先有公众号并且积累了大量粉丝,然后才有的小程序,然后想在小程序下也能识别公众号粉丝怎么办呢?
[1]首先将公众号和小程序关联到同一个开放平台账号
[2]通过API将公众号粉丝列表全部拉一遍,同时计算这些粉丝的unionid并保存起来
[3]用户进入小程序时计算unionid,然后根据之前保存的公众号粉丝unionid的数据映射过去就好了

25.Fiddler
解析:Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一。它能够记录客户端和服务器之间的所有请求,可以针对特定的请求,分析请求数据、设置断点、调试Web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是Web调试的利器。

参考文献:
[1]miniprogram-demo:https://github.com/wechat-miniprogram/miniprogram-demo
[2]weui-wxss:https://github.com/Tencent/weui-wxss
[3]wx.d.ts:https://github.com/hellopao/wx.d.ts
[4]页面路由:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/route.html
[5]微信官方文档:https://developers.weixin.qq.com/doc/
[6]微信小程序登录功能的前端设计与实现:https://blog.csdn.net/QcloudCommunity/article/details/109234093
[7]微信小程序开发接口之授权wx.authorize用法:https://www.cnblogs.com/96net/p/13061958.html
[8]Senparc.Weixin SDK微信公众号.NET开发教程:https://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html
[9]JS-SDK说明文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
[10]网站应用微信登录开发指南:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html
[11]微信服务平台:https://fuwu.weixin.qq.com/
[12]微信支付:https://pay.weixin.qq.com/index.php/core/home/login
[13]Weex:http://doc.weex.io/zh/guide/introduction.html
[14]GoEasy IM聊天和即时通讯:https://ext.dcloud.net.cn/plugin?id=5177
[15]GoEasy 2开发者中心:https://www.goeasy.io/cn/developers/2.x.html
[16]Websocket聊天和IM即时通讯介绍:https://www.goeasy.io/cn/docs/goeasy-2.x/im/im.html
[17]DCloud插件市场:https://ext.dcloud.net.cn/
[18]Vue教程:https://learning.dcloud.io/#/?vid=0文章来源地址https://www.toymoban.com/news/detail-400177.html

到了这里,关于微信小程序学习日记6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微信小程序】-- WXML 模板语法 - 列表渲染 -- wx:for & wx:key(十二)

    💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,又见面了,

    2024年02月12日
    浏览(30)
  • 微信小程序阻止事件冒泡【看这里】

    微信小程序阻止事件冒泡 将子类的点击事件 bindtap 写成 catchtap bindtap :子元素使用bindtap绑定事件后,执行的时候,会冒泡到父元素(触发父元素上绑定的bingtap事件) catchtap :不会冒泡到父元素上,阻止事件冒泡 uniapp阻止事件冒泡 将子类的点击事件 @click 写成 @click.stop 利用

    2024年02月11日
    浏览(33)
  • 在微信小程序中怎样阻止冒泡事件?

    在微信小程序当中,当两个包含的视图都使用了bindtap函数来绑定点击事件的话,就会发生冒泡事件(即点击内部事件时将同时触发外部事件),如果我们要想阻止冒泡事件的发生,将被包含在内部的bindtap该为catchtap即可,下面请看具体事例。 如下图所示,红色框子部分绑定

    2024年02月11日
    浏览(36)
  • uniapp微信小程序中阻止事件冒泡

    开发场景:列表中展示地块的数据信息,用户可以点击列表进入地块的详情界面,也可以点击列表中的星星按钮进行收藏 遇到的问题:每次点击星星的时候,都会触发父级的点击事件,从而进入到详情界面 原本的代码: 我原本想到可以使用 @click.stop 用来阻止时间冒泡,但是

    2024年02月02日
    浏览(26)
  • 微信小程序基础知识--图片跳转,事件跳转,冒泡事件

    一、 图片携带的跳转 首页 错误 1.1    指定路径 导航组件 指定跳转的路径  并进行参数的传递? 传递数据的名称 ur1 指定跳转路径  传递id 1.2  js文件中显示跳转的id信息 详情页的js中  从服务器中读取的数据  并由console.log 表示出来的 1.3  常用跳转的方法    展示上图设

    2024年02月09日
    浏览(41)
  • 《微信小程序-基础篇》小程序中的事件与冒泡

    大家好,这是小程序系列的第八篇文章,这应该是基础篇的最后几篇文章了,下面就是要开始分享一些组件的具体设计与实现,为后面的项目实战做准备了: 1.《微信小程序-基础篇》带你了解小程序的路由系统(二) 2.《微信小程序-基础篇》带你了解小程序中的生命周期(

    2024年02月09日
    浏览(37)
  • 【小程序教程】微信小程序的事件处理和交互逻辑(tap logpress touchmove input submint事件&冒泡与捕捉最详细讲解)

    为什么要学习事件处理和交互逻辑? 事件处理和交互逻辑在小程序开发中扮演着至关重要的角色。以下是几个原因: 提升用户体验:良好的事件处理和交互逻辑可以使小程序更加易用和友好,提升用户体验。通过合理设置事件触发条件和交互效果,可以使用户操作更加顺畅

    2024年02月04日
    浏览(41)
  • 微信小程序学习日记6

    1.WXML冒泡事件列表 解析: [1]touchstart:手指触摸动作开始 [2]touchmove:手指触摸后移动 [3]touchcancel:手指触摸动作被打断,如来电提醒,弹窗 [4]touchend:手指触摸动作结束 [5]tap:手指触摸后马上离开 [6]longpress:手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了

    2023年04月08日
    浏览(24)
  • 微信小程序学习实录1(wxml文档、引入weui、双向数据绑定、提交表单到后端)

    wx:for 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item 使用 wx:for-item 可以指定数组当前元素的变量名, 使用 wx:for-index 可以指定数组当前下标的变量名: 在

    2024年02月02日
    浏览(41)
  • 【微信小程序】wxml模板的使用

    目录 一,wxml模板 1.什么是 WXML 2. 什么是 WXSS 3.WXSS 和 CSS 的区别 4 .JS 逻辑交互 二,小程序的宿主环境 1.宿主环境简介 1.什么是宿主环境 2. 小程序的宿主环境 3.宿主环境包含内容 2 通信模型

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包