自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 flutter使用抽象类、接口和混入的使用场景

总的来说,抽象类适合用于创建类层次结构和提供通用方法的具体实现,接口适合用于定义类之间的行为契约和实现多态,混入适合用于在不同类之间共享方法或行为、实现功能组合和提供更灵活的功能组合方式。在Flutter应用中,根据具体需求和情境选择使用抽象类、接口或混入,或者结合使用它们来实现更灵活和可维护的代码。现在有一个按钮类(Button)和一个链接类(Link),它们都可以被点击,但是它们属于不同的类层次结构,这时可以使用接口来实现可点击的行为。我们可以将这个混入应用到多个类中,使这些类都具有记录日志的功能。

2024-03-09 17:30:41 443

原创 flutter 多人画板组件的实现

下面就是业务组件的封装了,因为是多人画板以及测试们的强烈建议,就变成了 历史画板和自己正在绘制的画板。首先定义一下所需要的用的数据结构(因为数据量大,做了部分优化)当中也遇到过因为白板高并发导致的丢失任务的问题。数据结构有了,就需要一块画板以及,一只笔。还有因为是多人画板,需要随机生成一个颜色。下面就是使用当前白板组件所用的demo了。总结一下下之前的业务需求。

2024-02-22 14:50:58 394

原创 vue 中封装一个类似的RPC协议

需要将HTTP请求接口改成成RPC协议(应用场景很小众,原因很简单,如果想要使用rpc,要对应的写一个工具类,将后端提供的接口对应的自动生成一份ts实现,一般互联网公司应该是不会使用)RPC协议的主要目的是做到不同服务间调用方法像同一服务间调用本地方法一样。记录一下,完成rpc协议的思路和代码。这边是rpc.ts 文件主要就是为了。

2024-02-20 15:27:59 383

原创 【无标题】

2024-02-02 10:22:50 305

原创 浅析git及可视化工具sourcetree的使用方式

小谈git前言上家公司使用的是git来管理代码,由于最近的工作变动,新公司大部分代码都是使用svn管理代码,对于git的使用还不是很普遍,于是将我之前学的一些git使用技巧及我所理解的原理来做一次整理并且分享。希望大家看这篇文章的都能有所收获。svn和git的区别svn和git都是版本控制系统,只不过是svn是集中式版本控制,而git是分布式版本控制,而且是当今世界上最大的分布式版本控制。那集中式版本控制和分布式版本控制的区别在哪里呢,那先看看下面俩张图。集中式管理的工作流程分布式管理的工作流程

2022-04-14 17:43:14 1024

原创 为推送当前分支并建立与远程上游的跟踪

git push --set-upstream origin master

2021-12-23 14:40:08 545

原创 前端水印生成

前端水印生成方法/* * @Descripttion: 水印生成 * @version: 0.0.1 * @Author: guanxiaoxin * @Date: 2021-12-22 15:36:09 * @LastEditors: guanxiaoxin * @LastEditTime: 2021-12-23 12:56:04 * @FilePath: /guan_fun/background.js */let isPc = () => { const userAgen

2021-12-23 13:07:09 1811

原创 前端oss直传

vue 前端oss直传第一种方法最简单的方法就是引入一个ali-oss的npm包npm install ali-oss具体代码如下:import OSS from 'ali-oss'export async function readAsDataURL (file) { return new Promise((resolve) => { var reader = new FileReader() reader.readAsDataURL(file) reade

2021-12-02 15:10:41 3032

原创 vue表格设置的拖拽排序并且控制显示与隐藏的组件

前提概要:需求根据ant-design-pro react版本的样式和功能看上了一个高级表格的排序拖拽和显示隐藏并要求根据作缓存 客户下次打开的时候表格和原来设置的一样可是查询了一下vue版本的并没有这种高级表格的组件 所以只好自己写一个了。demo效果如下来看看具体如何实现首先控制表格列表数据const columns = [ { title: 'Full Name', width: 100, dataIndex: 'name',checkedSwitch: true, key: 'n

2021-10-19 11:35:01 702

原创 封装一些用到的方法

/* * @Descripttion: 一些通用的方法 * @version: 0.0.1 * @Author: guanxiaoxin * @Date: 2021-02-20 14:30:45 * @LastEditors: guanxiaoxin * @LastEditTime: 2021-08-05 14:33:22 * @FilePath: /new-jsx-guan/src/utils/utils.js */'use strict'/** * 通用对象,封装了一些常用的方法

2021-08-05 14:35:34 88

原创 vue.2.0响应式原理的理解

理解vue2.0的响应式原理,通过观看各种博客文章解释说明,为了加深自己对于这种响应式原理的理解,打算自己手敲一个,首先要搞懂的就是数据劫持+观察者模式,其次就是要知道劫持分为俩种对象和数组, 对象是通过Object.defineProperty这个js函数要了解Object.defineProperty的用法,数组则是通过重写数组的方法。好了,来实现看看吧

2021-07-28 10:21:52 370

原创 使用vue-ant写jsx无限嵌套菜单

在使用vue-ant的UI框架来写jsx的无限嵌套菜单的时候,在写递归组件的时候出现和react一样的问题,Menu组件遍历Submenu isRootMenu undefined

2021-06-24 11:18:15 461

原创 利用vue的render函数写jsx并且进行封装

jsx的美观说到jsx大家都会想到ReactReact 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。声明式 、 组件化 、 一次学习,随处编写Vue也可以通过编写组件来进行复用 ,但是Vue也可以通过编写jsx文件来创造组件,并且在我看来jsx编写的代码更加直观以下就是我最近学到的用jsx编写Vue的组件import moment from 'moment'

2021-04-01 16:24:43 624

原创 promise老方法异步处理小demo

promise老方法异步处理小demopromise处理成功使用resolve回调函数,执行.then里面的方法,setTimeout也是异步的,所以经过一段时间,然后失败是使用reject回调函数的,就是.catch里面的方法let news = []news = [guan, qq, hei, lei] = [ {name: 'guan', say: 'haolei', m: 100}, {name: 'qq', say: 'ziran', m: 400}, {name: 'hei', sa

2020-06-22 16:10:31 127

原创 基于vant简单组件封装

简单封装vant里面input组件组件封装根据学长封装的代码先试着简单的封装vant input组件可以根据业务复杂度修改组件,这里就先简单的使用<!-- * @Descripttion: * @version: * @Author: guanxiaoxin * @Date: 2020-06-18 09:20:32 * @LastEditors: guanxiaoxin * @LastEditTime: 2020-06-18 12:02:24 * @FilePath: /gu

2020-06-18 13:00:39 1174

原创 vue中关于.env全局环境变量的配置

vue中关于.env全局环境变量的配置.env 是全局默认配置文件,但是实际开发中需要的不仅仅只有一种环境。开发、测试、预生产、生产不同的环境。在根目录上面创建一系列的配置环境。.env是固定的,但是后面.test之类可以根据自己什么环境的命名注意:文件的命名方式自定义的属性名必须以VUE_APP_开头,比如VUE_APP_XXX。然后再到package.json里面加几句命令运行一下npm run dev或者其他的。在启动项目之前可以使用console.log(process.env) c

2020-06-16 15:36:31 1554 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除