笔记
vueer
菜
展开
-
typescript的axios封装,实现回调带有类型
需要实现的效果是请求成功之后使用返回的数据不需要抓包看属性,直接获取对象属性开始使用。原创 2022-07-26 16:10:16 · 711 阅读 · 1 评论 -
js 控制滚动条位置,实现 锚点效果
<div id="test" style={{ backgroundColor: 'red' }} onClick={() => { let test = document.getElementById('a'); document.body.scrollTop = test?.getBoundingClientRect()?.top||0; }} .原创 2021-08-10 11:07:22 · 670 阅读 · 0 评论 -
react 实现一个简单的excel表格(可以改变宽度、实时输入、select *ui自行优化,思路可以参考)
首先看效果:1、首先就是主要代码 index.tsximport { FC, useEffect, useRef, useState } from "react";import columns, { columnsType } from "./config";import { Input } from "antd";import "./style.less";//是不是拖拽情况let isMouseWidth: boolean = false;//相同class的集合let clas原创 2021-08-03 22:22:26 · 1345 阅读 · 4 评论 -
React路由守卫,用于自动登录页面和404页面的指向
首先明确,在之前的版本中,React Router 也提供了类似的 onEnter 钩子,但在 React Router 4.0 版本中,取消了这个方法。React Router 4.0 采用了声明式的组件,路由即组件,要实现路由守卫功能,就得我们自己去写了。BeforeEach.jsximport { Route, Redirect } from "react-router-dom";import React, { Component } from "react";class BeforeEach原创 2021-06-16 16:37:08 · 449 阅读 · 0 评论 -
React笔记
react学习笔记基础篇1、条件渲染const isLoading = true;const loadData = () => { if (isLoading) { return <div> loading...</div>; } return <div>数据加载完成。。。</div>;};const loadData2 = () => { return isLoading?(<div> loa原创 2021-06-14 00:30:44 · 153 阅读 · 0 评论 -
vue监听返回键
有这么一个应用场景,axios发送请求携带token,当后台检测到token过期(或者压根没有登录),返回相应的状态码。axios在响应拦截处判断状态码是不是以上情况,之后跳转到登录页面。这里存在一个问题是:a页面------>b页面 -------->生命周期函数(mounted)自动发起axios请求 ------>返回token过期(未登录)------>直接跳转到 login页面 ------> 用户不登陆,并且点击了返回键(这个时候就出现了bug)-----原创 2021-05-19 14:45:15 · 1495 阅读 · 1 评论 -
vuex持久化
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。但是开发者往往把他当作数据仓库使用(确实香),但是vuex储存的状态在用户刷(F5)之后状态就重置了,数据丢失。传统的前端保存数据是在 localStorage或sessionStorage,但是它俩的操作性远远不如vuex。这时候就可以采取把他们结合的方法。插件 vuex-persistedstate插件就能完美解决这个需求。安装方式npm install vuex-persistedstate --save配置 index.js(v原创 2021-05-17 09:40:37 · 201 阅读 · 1 评论 -
uni-app,携带cookie(用户后台shiro的认证)
首先要知道的是,微信小程序是没有cookie机制的 ,也就是说,当uniapp运行在微信端是没有cookie供后台认证,需要开发者自定义cookie,并且让请求携带。android、ios同理。h5则不用考虑这个问题,uniapp自己携带无需考虑。const http = (options) => { return new Promise((resolve, reject) => { uni.request({ withCredentials: true, url: pubU原创 2021-04-25 11:23:04 · 16175 阅读 · 7 评论 -
uni-app网络请求的封装
http.js// 环境的切换let pubUrl = ""if (process.env.NODE_ENV === 'development') {// 开发环境 pubUrl = "http://192.168.1.101:8888/****"} else if (process.env.NODE_ENV === 'debug') { pubUrl = "" // 调试环境} else if (process.env.NODE_ENV === 'production') { pubUr原创 2021-04-25 11:21:45 · 1151 阅读 · 0 评论 -
vue检测div滚动到底部
nextTick(() => { const el = document.querySelector(".list"); const offsetHeight = el.offsetHeight; el.onscroll = () => { const scrollTop = el.scrollTop; const scrollHeight = el.scrollHeight; if...原创 2021-04-15 18:40:20 · 1235 阅读 · 0 评论 -
js转化对象为Formadata
//转化对象为formdataconst paramsToFormData = (json) => { const formData = new FormData(); Object.keys(json).forEach((key) => { if (json[key] instanceof Array) { json[key].forEach((item) => { formData.append(key, item); });原创 2021-04-15 11:36:13 · 331 阅读 · 0 评论 -
vue3.0获取dom
<div @click="test" ref="myRe">test</div> setup(props, context) { const state = reactive({ active: [], }); const myRef = ref("carousel"); const test = () => { console.log(myRef.value); }; onMoun...原创 2021-03-22 13:26:14 · 716 阅读 · 0 评论 -
mybatis-plus的小坑
1.首先附上demo地址https://gitee.com/wangming0123/mybatis-plus2.排坑当使用mapping.时出现类似bug时注意以上图片原创 2021-03-12 13:57:48 · 117 阅读 · 1 评论 -
Less的学习笔记
Less的学习笔记1.首先附上less的官方网址https://less.bootcss.com/2.其次是自己的码云地址(gitee)https://gitee.com/wangming0123/less_note笔记内容:官方文档的demo实现。原创 2021-03-11 11:23:32 · 66 阅读 · 0 评论 -
java压缩视频ffmpeg
package media;import lombok.extern.slf4j.Slf4j;import media.domain.ImageMetaInfo;import media.domain.MusicMetaInfo;import media.domain.VideoMetaInfo;import media.domain.gif.AnimatedGifEncoder;import org.apache.commons.collections4.CollectionUtil...原创 2020-10-30 15:18:53 · 718 阅读 · 0 评论 -
vue登录操作cookie+导航守卫
1、cookieUtil/** * Created by Schon on 2018/9/13 0013. *///设置cookieexport function setCookie(key,value) { var exdate = new Date(); //获取时间 exdate.setTime(exdate.getTime() +3000); //保存的天数,我这里写的是100年 //字符串拼接cookie window.document.cookie原创 2020-10-22 09:58:28 · 527 阅读 · 0 评论 -
vue子组件向父组件,父组件向子组件传递事件
https://blog.csdn.net/sisi_chen/article/details/81635216?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.原创 2020-10-16 16:05:45 · 905 阅读 · 0 评论 -
webview支持input
首先在解决这个问题之前解决一下https请求的问题android:networkSecurityConfig="@xml/network_security_config"<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true" /></network-security-config&原创 2020-10-15 23:17:41 · 276 阅读 · 0 评论 -
Ajax上传
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.bootcss.com.原创 2020-10-15 23:15:00 · 79 阅读 · 0 评论 -
shiro整合md5
1、注册时必须使用shiro自己的md5方式加密 public static void main(String[] args) { //加密方式 String hashAlgorithmName = "MD5"; //加密次数 int hashInteractions = 1024; //盐值 String salt = "username"; //原密码 String pw原创 2020-10-15 17:50:36 · 213 阅读 · 0 评论 -
SpringBoot整合shiro(前后端分离项目为案例)
1、shiroConfig.javapackage com.example.demo.util;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.beans.factory.annotation.Qualifier;import org.springframe原创 2020-10-15 14:51:28 · 542 阅读 · 0 评论 -
android提示框(AlertDialog)的自定义位置及其尺寸
本文实现点击TextView跟随显示AlertDialog先上效果 t1 = rootView.findViewById(R.id.text); t1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {//获取textview的位置原创 2020-09-22 15:39:18 · 1198 阅读 · 0 评论 -
android的webview交互(java,javascript)
1、先让本地html运行起来web = (WebView) findViewById(R.id.web);web.loadUrl("file:///android_asset/wm/detail.html");detail.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>任务1</title> &原创 2020-09-20 09:22:04 · 215 阅读 · 0 评论 -
android自定义提示框(AlertDialog )
AlertDialog builder = new AlertDialog.Builder(Item8Activity.this).create();builder.show();Window window = builder.getWindow();window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);window.setContentView(R.layout.layoutitem8);DatePicker d.原创 2020-09-15 16:19:26 · 334 阅读 · 0 评论 -
android自定义通知栏并通过广播实现监听
用于实现类似音乐播放器通知栏功能(播放、暂停、上下一曲)1、自定义通知栏 NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default"); builder.setSmallIcon(android.R.drawable.sym_def_app_icon); RemoteViews rv = new RemoteViews(get原创 2020-09-13 14:46:31 · 1471 阅读 · 0 评论