自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决 html2canvas 把svg转成jpg,无法把svg里的image图片正常显示的情况

首先需要解决image里的svg里的图片跨域问题,然后需要把image转换成base64格式。

2025-06-13 16:11:04 212

原创 # 从零开发小红书风格Flutter应用:图片上传功能实现踩坑记录

需要考虑更多设备兼容性问题内存管理更为关键用户体验要求更高网络状态处理更复杂。

2025-04-15 14:23:00 562

原创 基于AVue的二次封装:快速构建后台管理系统的CRUD方案

avue,快速crud

2025-02-21 16:16:13 1104

原创 使用deepseek做一个svg / canvas拖拽 动态添加字段保存图片的工具

前公司需要做一个图纸动态添加参数,并且保存图片的业务, 需要保存图片,所以只有两个方案 canvas或者svg,所以想到了用deepseek来帮我做问题流程下面是svg代码,并且能保存svg代码可以直接传给deepseek让他修改,也可以让他自己生成,我同时用chatgpt4o和deepseek,最后的结果出来的差不多,不过chatgpt后面就没次数了, ai写的代码和思路确实比我们好很多,也适合我们学习,但ai目前终是工具, 拥抱ai

2025-02-17 10:50:13 630

原创 vue页面和 iframe多页面无刷新方案和并行 并接入 micro 微前端部分思路

公司系统采用的是每个jsp页面都是一个iframe嵌套进去,大概一共有800多个页面, 打开一个页面就是打开一个新iframe,删掉一个页面就是删掉一个iframe,但公司系统逐渐增多,各种erp,供应商,认证系统,数据平台,所以采用了 micro微前端框架 来进行改造。新进了一家公司,公司是做电商平台的, 用的系统竟然还是jsp的网站,每次修改页面还需要我下载idea代码,作为一个前端, 这可不能忍,于是向上申请,意思你们后台做的太辣鸡,我要重做,经领导层商议从去年6月开始到今年12月把系统给重构了。

2025-02-05 10:38:39 428

原创 解决GitHub无法访问、443 Operation timed out Couldn‘t connect to server

3. 加入 185.199.108.153 assets-cdn.github.com。然后esc :qa或者:w强制保存。

2025-01-23 11:59:47 172

原创 ts解决vite unplugin-auto-import/vite

vite-env.d.ts加入即可。

2024-11-27 15:59:41 435

原创 mac 安装brew 和git nvm

打开终端 使用国内源 然后选1 输入密码 按enter 在选5 再按 enter。

2024-11-20 11:20:08 139

原创 百度amis vue3引入减少包提体积

以前用npm包确实加载缓慢,现在基本0延迟加载了,就是二拓可能不简单,之后在写文档。不用amis的包 , 在index.html引入代码如下,要在main上面。然后别的设置 index.tsx页面。

2024-07-05 15:20:19 804

原创 使用 Verdaccio 建立私有npm库

Verdaccio

2024-06-13 17:19:33 633

原创 vue页面和 iframe多页面无刷新方案和并行存在解决方案

面临问题 : back的后台以嵌套iframe为主, 所以在前端框架要把iframe无刷新嵌套和vue页面进行并行使用,vue的keep-alive只能对虚拟dom树 vtree 进行缓存无法缓存iframe,所以要对iframe进行处理。解决方案 1. 采用iframe和keeplive分开的方案,用v-show进行判断。

2024-06-13 16:50:08 1005

原创 【next】Extra attributes from the server: mpa-version,mpa-extension-id

layout下面的标签添加。

2024-04-11 16:03:04 346

原创 vue2.7 jsx 搬迁vue3.0 jsx项目的一些点

最近公司在做低代码开发,由于公司做saas开发,搬迁了一个vue3.0的项目,vue3.0基本是ts+tsx+native开发,这边用了js+vue2.7 componentsAPI +jsx+el,下面写一些遇到的jsx使用点。

2023-06-02 14:54:53 444

原创 vue css公用class

把自己最近常用的公用class整理一下。

2023-06-02 13:49:33 365

原创 mongoDB配置本地数据库

下载 地址官网下载地址然后打开终端 open /usr/local把下载放在里面 mkdir data和log文件夹然后配置环境变量输入输入open -e .bash_profile 或者 vi ./.bash_profilePATH中加入"MONGODBHOME/bin:MONGODB_HOME/bin:MONGODBH​OME/bin:PATH"然后执行: source .bash_profile 使修改生效。遇到了修改错误的情况 出现 sudo: mongod: command

2021-09-18 16:25:33 613

原创 vue3+typescript 3种获取dom元素的方式

第一种 getCurrentInstance() 这种较为麻烦<span ref="numberGrow" :data-time="time" class="number-grow" :data-value="value" >0</span >import { defineComponent, onMounted, getCurrentInstance } from 'vue'//填 any暂时没找到解决方案,

2021-08-17 15:15:35 4464

原创 typescript ts对document.activeElement.blur()的定义

if (document.activeElement instanceof HTMLElement) {document.activeElement.blur()}

2021-08-17 14:15:44 1648

转载 vue3 mapState、mapGetters、mapMutations、mapActions

转载的https://blog.csdn.net/weixin_40461134?spm=1001.2101.3001.5343

2021-08-06 11:04:42 620

原创 typescript 定时器的定义和Nodejs 未定义的解决方法

参考网上的解决方法 可以设置type interValueProps = NodeJS.Timer | nulllet Timer:interValueProps = setInterval(....但写上去报了 eslint 错误 ‘NodeJS’ 未定义 ‘NodeJS’ is not defined.eslint查了一下 有两种方法1. @typescript-eslint/parser@4导致这个问题。(相关提交:4d7265a)将其降级到 v3@typescript-eslint/

2021-08-04 09:14:23 2521

原创 vue3 数字滚动递增特效插件

vue2 很多都不好用,也不带ts,自己就随便写了一个<template> <div class="number-grow-warp"> <span ref="numberGrow" :data-time="time" class="number-grow" :data-value="value" >0</span > </div></template&g

2021-08-03 17:34:13 1668

原创 uniapp textarea在部分子组件内弹框placeholder-class placeholder-style 无效的问题

也是挺坑的。初始化的时候设置一个变量为false,打开的时候,给变量设置一个定时器即可

2021-07-08 10:12:59 1340 2

原创 vue3 setup里获取query params路由携带的参数

import { useRoute } from "vue-router";setup(){ const router = useRouter(); console.log(router); 通过router.meta里的参数获取}

2020-09-30 17:25:42 19166 9

原创 vue3 v-model的使用(多个 v-model 绑定)

//父组件setup(props) { const msg = ref("msg"); const foo = ref('123') return{ foo,msg }}<!--父组件--!>{{modelValue}} {{msg}} <HelloWorld v-model:foo="modelValue" v-model:message="msg"></HelloWorld> <!--子组件--!> <input

2020-09-30 17:23:27 8819

原创 provide / inject的使用

provide / inject和props相似,不过前者是直接在父组件定义provide,在任意层级的子组件定义props//父组件 provide() { return { indexM: this, //实例 可直接使用 selectByCorpIds: this.selectByCorpIds, //方法 可直接调用 state: this.state, //对象 //可同时改变父子组件值 getcount: this.counts //

2020-09-14 11:07:57 421

原创 Vue observable

observable官方用法// <el-button type="primary" @click="onSave">{{state.count}}</el-button>this.state = Vue.observable({ count: 0 });state: nullonSave() { this.state.count++; ------- 这样创造对象,好像可以避免$set的使用或者在vuex进行对象式响应...

2020-09-14 10:02:53 191

原创 vuex 的 model mapActions persistedState的基础使用

vuex vue的状态管理器//一般分为 state getter mutation action创建model创建一个login文件// stateconst state = { number: 10, }const getters = { number: (state) => state.number}// n为传递的参数const mutations = { add(state, n) { state.number += n },}// ac

2020-09-07 17:02:35 239

原创 vue-cli3 webpack build多个环境的方法

首先在根目录下 创建.env.env.development.env.production在packjson创建 "build": "vue-cli-service build --mode production", "build:alpha": "vue-cli-service build --mode development", // 在.env.development 写入NODE_ENV = "development"VUE_APP_URL = "alpha"

2020-07-30 17:45:29 615

原创 filter的使用

html<div> {{ 02 || leaveTypeFilter }}</div> //事假 filters: { leaveTypeFilter(val) { const obj = { "01": "年假", "02": "事假", "03": "病假", "04": "调休", "05": "产假", "06": "陪产假",

2020-07-24 15:31:39 116

原创 前端AES加密

cnpm install crypto-jsimport CryptoJS from 'crypto-js/crypto-js'// 默认的 KEY 与 iv 如果没有给// const KEY = CryptoJS.enc.Utf8.parse("23ae5617g4hbfc8d");const KEY = CryptoJS.enc.Utf8.parse("12345678abcdefgh");const IV = CryptoJS.enc.Utf8.parse('');/** * AES

2020-07-24 14:25:21 777

原创 react通信的几种方式

父组件向子组件通信父组件向子组件传递 props,子组件得到props然后进行相应的处理调用方法同理 this.props.methods子组件向父组件传递参数子组件用父组件的方法,把值传递过去子父父元素用子元素的方法。通过ref获取父...

2020-07-20 15:36:00 215

原创 vant日历组件选完日历 页面滑到最底部的bug

最新写日历组件 在ios端发现选完日历 ,页面会滑到最底部。解决在外层给个高和滚动效果

2020-07-13 17:41:36 1124 5

原创 vue监听页面的关闭与刷新

移动端可以用pagehide

2020-06-05 16:14:52 1360

原创 网易云音视频多人通话webRTC的实现(接)。

vue写的首先index.html进行引入在页面进行初始化mounted或者created进行初始化首先初始化nim官网上有一堆api 复制就可以了在onsyncdone 函数下 初始化 webRTC 具体看文档即可这里具体是单人点对点通话用的,多人用不到,多人用到下面的在nmi上又一个oncustomsysmsg 收到自定义通知以获取到后台所需要的sessionid(房间号) 和别的参数(userid等),和后台进行商量,我拿到数据如下后面就简单了 加入房间打开摄像头

2020-05-19 14:28:29 828

原创 react umi传入外部js

新建html5模版新建 src/pages/document.ejs写入你所需要传入的js即可<!doctype html> Your App

2020-05-14 14:29:08 5124

原创 各类封装整合

/** * 防抖函数 */export const debounce = (handler, delay) => { var timer = null; return function () { var _self = this, _arg = arguments; clearTimeout(timer); timer =...

2020-01-17 17:09:02 174

原创 防抖函数(多少秒执行一次)

/** * 防抖函数 */export const debounce = (handler, delay) => { var timer = null; return function () { var _self = this, _arg = arguments; clearTimeout(timer); timer =...

2020-01-17 17:08:04 1317

原创 localstroage封装

/** * 获取localStorage */export const getStore = name => { if (!name) return; return window.localStorage.getItem(name);}/** * 删除localStorage */export const removeStore = name => {...

2020-01-17 17:06:50 202

原创 日期

/** * 转换日期格式 * @param format可以为 / ~ '' - 等字符或字符串 */export const transDate = (value, format) => { if (!value) { return '' } let time = new Date(value); let year = time.ge...

2020-01-17 17:06:10 105

原创 js手机号 身份证 数字各种正则校验

/** * 手机号码校验 * 返回值: true/false */export const mobileCheck = value => { let reg = /^1[0-9][0-9]{9}$/; let result = reg.test(value); return result}/** * 电话号码校验 * 返回值: true/false...

2020-01-17 17:04:28 370

原创 将字符串转换为金额

/** * 将 字符串/数字 转成 金额格式 * @param cash 要转换的金额(String 或 Number) * @param thousand 可选 是否使用千分位(默认false) * @param fixed 可选 保留小数位数 默认2位 四舍五入 * @param round 可选 对于小数位数超过部分 是否四舍五入 false则末尾去除 默认false */ex...

2020-01-17 16:59:56 1616

空空如也

空空如也

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

TA关注的人

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