- 博客(79)
- 收藏
- 关注
原创 React 高阶组件 和 受控组件
非受控组件是指一些原生组件,如input,checkbox,由dom元素自己的属性控制。受控组件是指组件的状态由自定义状态控制,可以通过修改状态来影响组件。高阶组件是装饰设计模式,给传入的组件添加某种功能。
2024-09-12 11:56:24
584
原创 go 系列实现websocket
websocket是个二进制协议,需要先通过Http协议进行握手,从而协商完成从Http协议向websocket协议的转换。一旦握手结束,当前的TCP连接后续将采用二进制websocket协议进行双向双工交互,自此与Http协议无关。
2024-08-23 15:39:45
590
原创 protobuf 生成 error
响应错误时可以直接使用 errors 包中的 New 方法来声明一个 error,也可以直接通过 proto 预定义定义错误码,然后通过 proto-gen-go 生成帮助代码,直接返回 error。student";// 用户不存在。
2024-08-15 16:10:38
286
原创 css之flex布局
采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。默认情况下,项目都排在一条线(又称"轴线")上。属性决定主轴的方向,默认是row,水平从左到右排列。属性定义,如果一条轴线排不下,如何换行。
2024-08-14 21:15:03
593
原创 java之责任链模式
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理一个请求。请求沿着处理者链传递,直到某个处理者决定处理此请求。
2024-08-14 17:52:06
448
原创 微信小程序 - 用promise封装wx.request
简介Promise对象表示异步操作最终的完成(或失败)以及其结果值。在javascript中,当发起异步方法调用时候,要想在调用方线程获取异步结果,可以借助promise对象实现。promise同时支持all,any等api。本文将会对wx.request进行封装,以获取异步调用的结果。
2024-03-31 21:12:22
401
原创 微信小程序 - 登录功能实现
2. 开发者服务器根据code,appid, appsecret请求微信接口t获取 openid与session_key ,并生成自己的认证token,并返回给小程序。1. 小程序调用wx.login获取登录认证需要的code,并请求开发者服务器。3.小程序请求开发者服务器,带上token后可以直接访问。
2024-03-30 13:09:32
604
原创 微信小程序 - 基于scroll view 实现下拉刷新
本文会基于scroll view 实现下拉刷新效果,在下拉的时候会进入loading状态。
2024-03-16 17:38:03
1485
原创 微信小程序-wxml语法
WXML(WeiXin Markup Language)是框架设计的一套标签语言,可以进行页面布局,声明事件,数据绑定,条件判断。
2024-03-10 10:35:21
661
原创 微信小程序-侧滑删除
movable-view和movable-area是可移动的视图容器,在页面中可以拖拽滑动。本篇文章将会通过该容器实现一个常用的拖拽按钮功能。
2024-03-09 17:07:07
1260
原创 微信小程序 - 组件wxml中slot
默认情况下,一个组件的 wxml 中只能有一个 slot。需要使用多 slot 时,可以在组件 js 中声明启用。此时,可以在这个组件的 wxml 中使用多个 slot ,以不同的。节点,用于承载组件使用者提供的 wxml 结构。属性来将节点插入到不同的 slot 上。在组件的 wxml 中可以包含。
2024-03-09 12:49:53
825
原创 微信小程序-生命周期
onShow: 页面显示时触发的方法,在用户进入页面或从其他页面返回该页面时会调用此方法。可以在此方法中进行页面数据刷新、动画效果等操作。onUnload: 页面卸载时触发的方法,当用户关闭当前页面或切换到其他页面时触发。ready: 组件渲染完成时触发的方法,此时组件的 DOM 节点已经生成,可以进行一些交互操作。attached: 组件被添加到页面节点树时触发的方法,可以执行一些初始化操作,如获取数据等。created: 组件实例被创建时触发的方法,在这个方法中可以进行组件实例的初始化操作。
2024-03-03 11:56:57
653
1
原创 微信小程序 - 双线程架构
小程序使用双线程架构,渲染层的界面使用了WebView 进行渲染(一个webview对应一个线程);逻辑层采用JsCore线程运行JS脚本。WXML和js逻辑代码setData设置的model值会被解析成js对象,js对象被解析成虚拟dom。渲染层和逻辑层通过微信底层进行通信,渲染层将事件传递给逻辑层,逻辑层将数据传递给渲染层。当虚拟dom发生变更,会更新变化的内容到真实的dom上。
2024-02-29 20:56:58
543
原创 React 实现表单组件
表单是html的基础元素,接下来我会用React实现一个表单组件。支持包括输入状态管理,表单验证,错误信息展示,表单提交,动态表单元素等功能。
2024-02-05 16:13:22
1197
原创 前端实现弹小球功能
这篇文章将会做弹小球游戏,弹小球游戏大家小时候都玩过,玩家需要在小球到达游戏区域底部时候控制砖块去承接小球,并不断的将小球弹出去。首先看一下实现的效果。
2024-01-27 12:52:52
571
原创 前端实现轮训和长连接
轮训和长连接相关内容可以参考之前的文章消息推送系统。消息推送系统-优快云博客文章浏览阅读106次。在餐饮行业中,店内应用有pos、厨显屏等,云端应用为对应数据中心。为了实现云端数据和操作指令下发到店内应用,需要有一个系统实现这个功能。websocket -> 实时,性能高,会断连丢数据。轮训 -> 近实时,性能低,有重试&确认不会丢数据。本文将会通过js 实现轮训 和 websocket 长连接功能。
2024-01-17 16:22:49
635
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人