微信131~140

1.在组件中使用store对象的数据
// 要想使用store中的数据以及方法
// 需要从 mobx-miniprogram-bindings 方法将 ComponentWithStore 方法
import { ComponentWithStore } from 'mobx-miniprogram-bindings'
// 导入store对象
import { numStore } from '../../../stores/numstore'
// 需要使用 ComponentWithStore 方法将 Component 方法替换
ComponentWithStore({data: {},methods: {},//配置当前组件需要与那些store进行关联// 数据会被引到data对象中 // 方法会被注入到methods对象中storeBindings: {// 引入的是那个storestore: numStore,// 引入的是那些数据fields: ['numA', 'numB', 'sum'],// 用的 方法action: ['update']}
})
2.页面中使用store对象----方法一
// 要全局注册
import { ComponentWithStore } from 'mobx-miniprogram-bindings'
import { numStore } from '../../../store/numstore'
//小程序页面也可以用Component 进行构造
// 如果页面中张使用store对象中的数据,使用方式和组件的使用方式一模一样
ComponentWithStore({data: {},methods: {},// 数据会被引到data对象中 // 方法会被注入到methods对象中storeBindings: {store: numStore,fields: ['numA', 'numB', 'sum'],action: ['update']}
})
3.页面中使用store对象----方法二

可以用 mobx-miniprogram-bindings 提供的BehaviorWithStore方法和store建立关联

import { BehaviorWithStore } from 'mobx-miniprogram-bindings'
import { numstore } from '../../../store/numstore'
export const cartBehavior = BehaviorWithStore({storeBindings: {store: numstore,fields: ['numA', 'numB', 'sum'],action: ['update']}
})import { cartBehavior } from './behavior'
Page({//使用behaviors配置项注册提取的bahaviorbehaviors: [cartBehavior]
})
4.fields、actions对象写法

首推数组写法
在这里插入图片描述
之前是数组写法
现在是对象写法
fields:
映射形式:需要指定data中那些字段来源于store,以及在store中的名字是什么

numA: 'numA',
numB: 'numB',
sum: 'sum'

函数形式: key:data中那些字段来源于store;value:函数及函数内部需要返回对应store数据的值。

numA: () => numstore.numA,
numB: () => numstore.numB,
sum: () => numstore.sum,

自定义形式:如果对属性进行了自定义,模板中需要使用自定义以后的属性。
actions:
映射形式:指定模板中那些方法来源于store,以及在store中的名字是什么

updateData: ' update '
5.绑定多个store以及命名空间

一个页面或组件可能会绑定多个Store,我们可以将storeBindings 改造成数组。数组每一项就是一个个要绑定的 Store 。

如果多个 Store 中存在相同的数据,显示会出现异常,还可以通过 namespace 属性给当前 Store 开启命名空间,在开启命名空间以后,访问数据的时候,需要加上 namespace 的名字才可以。

{store: 'numstore',fields: ['numA', 'numB', 'sum'],action: {updateData: 'update'}}
6.miniprogram-computed计算属性和监听器

如果需要在组件中使用计算属性功能,需要 miniprogram-computed 库中导入 ComponentWithComputed 方法

在使用时:需要将 Component 方法替换成 ComponentWithComputed 方法 ,原本组件配置项也需要写到该方法中

在替换以后,就可以新增 computed 以及 watch 配置项。

计算属性方法内部必须有返回值。
在计算属性中,不能使用this来获取data中的函数,如果想要获取,就使用形参。
计算属性具有缓存特性,它只执行一次,后续在使用的时候,返回的是第一次执行的结果,只要依赖的数据没有发生改变,返回的始终是第一次执行的结果。

import { ComponentWithComputed } from 'miniprogram-computed'Component({computed: {total (data) {// 计算属性方法内部必须有返回值//在计算属性中,不能使用this来获取data中的函数,如果想要获取,就使用形参return data.a + data.b}},data: {a: 1,b: 2}
})

监听器:

  watch: {// 单个监听a: function (a) {console.log(a)},b: function (b) {console.log(b)},// 多个监听'a,b': function (a, b) {console.log(a, b)}},
7.Mobx 与 Computed 结合使用

需要使用 ComponentWithStore 方法将 Component 方法进行替换

// 导入计算属性 behavior
const computedBehavior = require('miniprogram-computed').behavior
ComponentWithStore({// 注册 behaviorbehaviors: [computedBehavior],storeBindings: {store: numStore,fields: ['numA', 'numB', 'sum'],actions: ['update']}
})

ComponentWithComputed进行构建,和store建立关联、绑定,Mobx需要旧版 API

import { numStore } from '../../store/numstore'
// 需要使用导入的 ComponentWithComputed 替换 Component 方法
ComponentWithComputed({behaviors: [storeBindingsBehavior],storeBindings: {store: numStore,fields: ['numA', 'numB', 'sum'],actions: ['update']}
})
8.什么是Token

什么是 Token

Token 是服务器生成的一串字符串,用作客户端发起请求的一个身份令牌。当第一次登录成功后,服务器生成一个 Token 便将此 Token 返回给客户端,客户端在接收到 Token 以后,会使用某种方式将 Token 保存到本地。以后客户端发起请求,只需要在请求头上带上这个 Token ,服务器通过验证 Token 来确认用户的身份,而无需再次带上用户名和密码。

Token的具体流程

  1. 客户端向服务器发起登录请求,服务端验证用户名与密码
  2. 验证成功后,服务端会签发一个 Token ,并将 Token 发送到客户端
  3. 客户端收到 token 以后,将其存储起来,比如放在 localStorage 、 sessionStorage 中
  4. 客户端每次向服务器请求资源的时候需要带着服务端签发的 Token ,服务端收到请求,然后去验证客户端请求里面带着的 Token ,如果验证成功,就向客户端返回请求的数据
    在这里插入图片描述
9.用户登录-小程序登录功能
// 导入封装的模板方法
import { toast } from '../../utils/extendApi'
// 导入接口API 函数
import { reqLogin } from '../../api/user'
Page({login() {wx.login({success: async ({ code }) => {if (code) {// 获取临时登录凭证code以后,传递给开发者服务器const res = await reqLogin(code)// 登录成功后,需要将服务器响应的自定义登录存储到本地setStorage('token', data.token)} else {toast({ title: '授权失败,请重新授权' })}}})}
})import http from '../utils/http'
export const reqLogin = (code) => {return http.get('/weixin/wxLogin/{code}')
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88942.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微美全息借区块链与DRL算法打造资源管理协同架构,达成边缘计算与区块链动态适配

在当今数字化浪潮汹涌的时代,边缘计算与区块链技术正逐步成为驱动技术革新与业务转型升级的核心动力。当这两项前沿技术相互融合,一个兼具高效性与安全性的任务处理系统便得以构建。为了充分挖掘边缘计算系统的性能潜力,避免任务卸载过程中的…

属性绑定

简写模式二.为什么要这样做布尔型attribute动态绑定多个值

链表算法之【获取链表开始入环的节点】

目录 LeetCode-142题 LeetCode-142题 给定一个链表的头节点head,返回链表开始入环的第一个节点,如果链表无环,则返回null class Solution {public ListNode detectCycle(ListNode head) {// checkif (head null || head.next null)retur…

【网络编程】KCP——可靠的 UDP 传输协议——的知识汇总

文章目录前言UDP 协议UDP 的关键指标/特性UDP 的典型应用场景KCP 协议的基础KCP 的构造KCP 协议特性KCP 的可靠传输机制——ARQ三种 ARQ 机制对比KCP 的选择性重传一、基础机制:选择性重传(SR)二、KCP 对 SR 的增强策略KCP 的激进重传策略——…

量子计算新突破!阿里“太章3.0”实现512量子比特模拟(2025中国量子算力巅峰)

​​摘要​​2025年量子计算竞争进入​​实用化临界点​​,阿里达摩院发布“太章3.0”量子模拟器,在全球首次实现​​512量子比特全振幅模拟​​,较谷歌Sycamore的53比特提升近10倍算力维度。本文深度解析三大技术突破:​​张量网…

DOM事件绑定时机:解决脚本提前加载导致的绑定失败

引言:一个让无数新手抓狂的常见错误在JavaScript开发中,尤其是在前端领域,有一个让无数新手抓狂的问题:明明写了事件监听代码,点击按钮却没有任何反应!更令人困惑的是,代码逻辑看起来完全正确&a…

游戏框架笔记

游戏的数据有哪些类型无非是只读数据(各种道具配表里的数据)和可读可写数据(玩家属性、拥有的物品)。游戏框架需要哪些管理器用户数据管理器负责找到数据持久化文件,从中读取指定用户的数据,包括玩家的设置…

【C语言进阶】指针面试题详解(2)

上一期内容,大多数的解题思路写在代码中,没有写在正文中,这就导致系统判断文章质量不高,没有什么数据,这一期将思路写在正文中。注意:运行环境是x86 1.题目1思路:&a是取到了整个数组的地址&…

一文读懂现代卷积神经网络—稠密连接网络(DenseNet)

目录 什么是 DenseNet? 稠密块(Dense Block)详解 一、稠密块的核心思想 二、稠密块的结构组成 1. 卷积单元(的结构) 2. 密集连接的具体方式 3. 关键参数:增长率(Growth Rate, k&#xff0…

关于僵尸进程

深入理解僵尸进程:成因、危害与解决方案 进程终止的条件 我们先了解一下进程销毁的条件: 调用了exit函数在main函数中执行了return语句 无论采用哪种方式,都会有一个返回值,这个返回值由操作系统传递给该进程的父进程。操作系统不…

深入解析进程、线程与协程:现代并发编程的三大支柱

深入解析进程、线程与协程:现代并发编程的三大支柱在计算资源日益丰富的时代,理解并发执行机制已成为每位开发者的必修课。本文将带你深入探索操作系统中的三大并发模型:进程、线程与协程,揭开它们的神秘面纱。引言:并…

奇安信下一代防火墙SecGate3600

一、实验拓扑:二、实验目的(1)让内网可以访问外网。(2)让外网能够访问dmz区域的web服务器。(3)测试防火墙的防毒功能,并进行检测。三、实验步骤(1)防火墙配置…

基于STM32的智能抽水灌溉系统设计(蓝牙版)

✌️✌️大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是基于《基于STM32的智能抽水灌溉系统设计》。 目录 1、系统功能 2.1、硬件清单 2.2、功能介绍 2.3、控制模式 2、演示视频和实物 3、系统设计框图 4、软件设计流程图 5、原理…

CISSP知识点汇总- 通信与网络安全

CISSP知识点汇总 域1---安全与风险管理域2---资产安全域3---安全工程域4---通信与网络安全域5---访问控制域6---安全评估与测试域7---安全运营域8---应用安全开发一、安全网络架构和保护网络组件 1、OSI 7层协议模型 应用层:SMTP、HTTP、SNMP 、TELNET、 FTP、SFTP、POP3、IM…

C++怎么将可变参数传递给第三方可变参数接口

文章目录🔧 1. 使用 va_list 转发(兼容C/C的传统方案)⚙️ 2. 模板参数包转发(C11 类型安全方案)🧩 3. 替代方案:参数封装与适配**方案A:使用 std::initializer_list (同类型参数)**…

服务端实现阿里云OSS直传

介绍 阿里云上传 OSS 有两种方式,一种是普通上传,一种是客户端直传。 普通上传,就是需要先将文件上传到服务端,然后调用接口将文件上传到阿里云。 当然这种方案经常出现不合理的使用方式,即客户端充当服务端的角色&…

on-policy和offpolicy算法

一句话总结On-policy(同策略):边学边用,用当前策略生成的数据更新当前策略。例子:演员自己演完一场戏后,根据观众反馈改进演技。Off-policy(异策略):学用分离&#xff0c…

CA-IS3082W 隔离485 收发器芯片可能存在硬件BUG

RT,这个RS485 隔离收发器芯片基本上不可用。本来要买CA-IS3082WX,不小心在某宝买到了没有X 的CA-IS3082W。立创上说没有X 的版本已经停产,连对应的数据手册都找不到,全换成WX 了。 这类半双工485 收发器芯片电路一般都直接把DE 和…

dockerfile 笔记

# 设置JAVA版本 FROM openjdk:20-ea-17-jdk MAINTAINER aaa # 指定存储卷, 任何向/tmp写入的信息都不会记录到容器存储层 VOLUME /tmp # 拷贝运行JAR包 ARG JAR_FILE COPY app.jar /app.jar RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/…

高德开放平台携手阿里云,面向开发者推出地图服务产品MCP Server

高德开放平台携手阿里云,面向开发者推出地图服务产品MCP Server,通过技术能力与生态资源的深度协同,助力开发者高效构建标准化地图服务,加速智能化场景落地。 高德开放平台携手阿里云,面向开发者推出MCP Server技术融合…