自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端面试常见题目

通过 Etag 和 if-non-match 此策略是通过资源的hash标识,比如md5 sha1(可以通过内容hash)判断是否更新。如果没有更新,返回状态码304,浏览器将从缓存中读取资源,减少请求。对于可预见的高频访问页面的,并且这个界面并非第一个页面,可以考虑在入口处使用 reload标签。对于cpu密集型操作,由于 js 单线程的特性,可以考虑使用 worker,防止阻塞主线程。采用二进制格式传输数据,相对于文本格式,解析更加快且健壮,同时采用了二进制分帧,传输性能更高,延迟更低,吞吐率更高。

2024-03-13 21:50:48 382

原创 Vue3自定义指令和hooks,loading展示

2.实现全屏hooks (其实就是absolute,并且装载到body里)实现了 全屏loading hooks 和 元素内部loading。1.准备loading组件 loading.vue。使用(记得注册)我采用的 app.use。2.定义指令 loading.ts。

2024-03-05 23:09:21 577

原创 js 随机生成指定个数,使得总和等于固定值,考虑均匀

【代码】js 随机生成指定个数,使得总和等于固定值,考虑均匀。

2024-01-23 10:02:00 603

原创 nestjs项目部署服务器(宝塔)

此时注意 (源码的 目录最好放在 src 和 main.ts同级目录)不然打包出来就是找的 目录的上层(就需要在xx.xxx.com 同级目录去找)3.注意 如果你配置了 hbs ejs 等视图渲染 和 public资源目录 需要将 这些文件夹一同放在这个目录。执行 build 并将package.json 复制到打包目录 dist (如果没有 cp命令 手动复制即可)2.上传到服务器某个目录 (如xxx.xxx.com)将配置的网站设置静态代理 我的端口(7001)有什么问题,可以私信我哦~

2024-01-05 19:02:14 1317

原创 Golang 生成钱包地址

golang生成 钱包地址

2022-07-10 00:55:41 1332 1

原创 ThinkPHP 6 去掉index.php访问路径

http://www.example.com/admin=http://www.example.com/index.php/admin搭配 phpstudypro1.首先将网站目录定位到项目的public路径如果开启的是 Apache服务器在public文件夹里面的 .htaccess文件写入<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On ..

2022-05-30 12:11:16 1183

原创 Vue2.x实现this调用组件

长期以来,我都是通过父组件引入子组件的方式调用,比如一个Modal,一个Notice之类的,而很多UI框架都可以支持this.$xxx的方法调用展示,很羡慕,很自责,为啥我还在用这么low的方式?而且多个组件引入到父组件会造成层级过深,不利于渲染,而这种方式不仅优雅,而且可以直接将组件挂载到body里面,岂不是美滋滋实现方法1.一个Vue文件<template> <div> this is count {{count}} th

2022-03-04 10:24:07 810

原创 前后端分离,请求加密思路

1.声明,Access-Control-Allow-Origin 可以指定某个地址访问,可以保证安全2.多个地址想要访问一个后台地址,似乎有点难,尝试了写正则,不过不太好3.用的koa2写的后台, vue3前台,本来想着 用crytojs来加密解密,但是感觉有点太杀鸡用牛刀的感觉,个人不喜欢 import各种包,能自己实现的就尽可能自己实现4.直到我发现了window.btoa,一番折腾,找到了还算可行的加密方法下面贴给大家前端代码,写在axios里面的,主要是添加了一个自定义Hea

2022-02-02 16:35:44 1641

原创 log4js 封装

log4js是js的log工具本身比较好用,简易做了下封装1.定义一个普通的console的日志输出 和文件的保存输出(默认error级别) 导出一个定义函数const log4js = require('log4js')const levels = { 'trace': log4js.levels.TRACE, 'debug': log4js.levels.DEBUG, 'info': log4js.levels.INFO, 'warn': log4j

2022-02-01 18:18:25 931

原创 vue 实现横屏及切换效果

1.实现横屏App.vue里面引入 css 原理就是 媒体查询 然后设置不同样式body { position: fixed; width: 100%; height: 100%; padding: 0; margin: 0; overflow: hidden;}@media screen and (orientation: portrait) { #app { position: absolute; width: 100vh; ...

2021-12-21 13:43:01 7109

原创 新版vuecli 配置环境

我们在开发中可能同时有几个环境,他们所需要的配置不一定是一样的,就需要多个环境配置首先 我自定义了两个环境 名字随意的"scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", // 新增 后面添加 mode 为 dev / pro "dev": "vue-cli-service serve --mode dev", "pro": "vue-cli-se.

2021-12-16 11:50:49 1037

原创 前端下载文件

const btnElement = document.getElementById('btn') btnElement.addEventListener('click', download) function download() { const xhr = new XMLHttpRequest() const url = document.querySelector('input').value i.

2021-12-12 18:25:43 466

原创 vue.config.js基本配置

"use strict";const path = require("path");const defaultSettings = require("./src/settings.js");function resolve(dir) { return path.join(__dirname, dir);}const name = defaultSettings.title || "安全调度平台"; // page titleconst port = process.env.port .

2021-12-06 11:05:27 1025

原创 uniapp 简陋易懂版仿抖音视频播放

1. 只实现了上滑(下滑稍微改动下就有了)<template> <view class="flex-1"> <view class="flex-1" style="position: fixed;left: 0;right: 0;" :style="getStyle" @touchmove="handleMove" @touchstart="handleStart" @touchend="handleEnd"> <video id="myVid

2021-11-30 00:01:03 955

原创 uniapp app和微信小程序使用腾讯地图定位

1. 首先 注册个腾讯地图定位的key链接https://lbs.qq.com/dev/console/key/add2. 在官网下载好 sdk 保存到你项目里面3.使用sdkimport QQMapWX from "./wxsdk/qqmap-wx-jssdk.min.js";import { newModal } from './new-modal.js' let getLocation; // #ifdef MP-WEIXINgetLocation = () => {.

2021-11-29 12:47:54 3493 1

原创 uniapp 判断安卓iOS权限

uniapp 权限

2021-11-29 12:33:39 5621

原创 vue.config.js 通用配置!

// compression-webpack-plugin image-webpack-loader webpack-bundle-analyzer TODO INSTALL DEVconst CompressionWebpackPlugin = require('compression-webpack-plugin') // 开启gzip压缩, 按需引用const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$.

2021-08-06 16:04:36 373

原创 vue环境配置实践

vue-cli安装npm install -g @vue/cli不同环境需要不同配置时候比如development环境需要请求地址为: 127.0.0.1:3000/api/getuser production环境需要请求地址为: https:www.niubi123.com/api/getuser脚手架默认配置是"serve": "vue-cli-service serve","build": "vue-cli-service build","li...

2021-08-06 13:42:43 214

原创 前端根据机型跳转对应市场下载app

公司有这样的要求,H5界面,让用户点击下载我们公司App按钮后,判断机型,引导到各自的应用商店去下载,然后那些冷门机型就通过链接下载。注意:我本来想的是通过js来判断用户是否安装了这个App,发现基本上不可能实现。网上也有通过location打开判断时长来确定用户是否安装了app(原理在于如果安装了app至少有一段时间打开app,而没有,js的判断基本上在一瞬间完成。)我用的方法是直接通过应用商店来判断是否下载了,反正就是一股脑地拉起应用商店,应用商店会判断,安装了的会直接显示打开(嘻嘻,这不...

2021-08-04 16:00:30 8301

原创 前端获取用户经纬度

1.通过浏览器自带的apiif(navigator.geolocation){ navigator.geolocation.getCurrentPosition(geoSuccess, geoError)}else{ alert('浏览器不支持地理定位。') }2.处理成功逻辑function geoSuccess(position) { var lat = position.coords.latitude var lng = position.coords

2021-08-04 15:46:22 1120

原创 js实现数组随机排序

function shuffle (array) { if (array.length === 0 || array.length === 1){ return array } let tmp, current let top = array.length while (--top) { current = Math.floor(Math.random() * (top + 1)) tmp = array[current] array[current] .

2021-06-17 00:05:48 363

原创 js实现简单的随机字符串

function getRandom (n = 5, type = 0) { const numberArr = '1234567890'.split('') const lowerCaseArr = 'abcdefghijklmnopqrstvuwxyz'.split('') const upperCaseArr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('') const specialCaseArr = '+-/*.@#%^!_=?<>'..

2021-06-16 17:20:17 236

原创 js简易uid生成

function myId () { const time = new Date().getTime().toString() const timeArr = time.split('') const arr = 'abcdefghijklmnopqrstuvwxyz'.split('') timeArr.forEach((item, index) => { const random = arr[Math.floor(Math.random() * arr.length)].

2021-06-07 15:47:14 1946

原创 axios拦截重复请求配置参考

1.采用类封装import axios from 'axios'const CancelToken = axios.CancelTokenclass HttpRequest { constructor (baseUrl) { this.baseUrl = baseUrl this.pending = {} } // 获取axios配置 getInsideConfig () { const config = { baseURL: this.bas

2021-06-05 10:04:14 305 1

原创 vue+elementui 部分引入 + 自定义主题!!

1.版本"element-ui": "^2.15.2","vue": "^2.6.11"(如需使用sass)

2021-06-01 02:02:33 827 3

原创 koa + websocket + vue实现简单的聊天

使用koa2.x koa-websocket vue2.x1.首先 创建websocket服务

2021-05-29 11:40:00 1286

原创 Koa + axios前后端通信

1.koa2.x版本跨域问题: 采用CORS方案(支持任何请求方式,方便快捷,兼容性强)const cors = require('koa-cors')app.use(cors({ origin: 'http://localhost:3000', credentials: true //允许携带cookie}))

2021-05-28 10:59:10 586

空空如也

空空如也

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

TA关注的人

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