- 博客(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
原创 使用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
原创 百度amis vue3引入减少包提体积
以前用npm包确实加载缓慢,现在基本0延迟加载了,就是二拓可能不简单,之后在写文档。不用amis的包 , 在index.html引入代码如下,要在main上面。然后别的设置 index.tsx页面。
2024-07-05 15:20:19
804
原创 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
原创 mongoDB配置本地数据库
下载 地址官网下载地址然后打开终端 open /usr/local把下载放在里面 mkdir data和log文件夹然后配置环境变量输入输入open -e .bash_profile 或者 vi ./.bash_profilePATH中加入"MONGODBHOME/bin:MONGODB_HOME/bin:MONGODBHOME/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
原创 网易云音视频多人通话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关注的人