自定义博客皮肤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)
  • 收藏
  • 关注

原创 小何谈原型(上篇)

方法栈,运行时执行方法会入栈,方法执行结束后会出栈如果不使用原型,会导致大量的空间浪费答案: 使用原型解决所有实例上的方法,还有所有实例上的共同属性都可以放到原型上去定义

2022-06-04 09:31:38 155

原创 node通过arcMap获取高德地图poi数据

最终经过一番周折,基于网上资料进行了整理注册高德账号,获取高德key下载安装ArcMap/ArcGIS将抓取区域等距分割并导出多边形经纬度基于切割后的经纬度重新轮高德api先通过高德行政区域查询,获取城市的坐标点# 行政区域查询在示例下的"districts"–>“0”–>“polyline”;得到边界坐标值复制出polyline,用任何一个现代化编辑器(vs code,notepad++等)将 ; 替换成换行符,在第一行插入 x,y&nbsp

2022-04-18 22:45:38 658

原创 不同vue版本下如何分环境打包

前言假如你的Vue项目需要在多个服务器部署,若使用代理的模式,每个环境都需要先改IP地址及端口,再打包,非常的麻烦vue2版本(基于webpack)的动态ip及端口分环境打包在public目录下,新建config.js文件在config.js文件中编写对应的分别打包环境把config.js在index.html中引入创建对应的 .env.dev , .env.sit , .env.prod 三个环境在每个环境中写入对应的环境变量处理package.json中的sc

2022-04-13 21:47:04 1733

原创 node读取excel并转化存入mysql

# vue3导入excel并转化成数组示范excel的demo先导入node-xlsxnpm install node-xlsxconst xlsx = require("node-xlsx")读取excel的数据并进行数据转化router.get("/commit", async (ctx, next) => { const m = xlsx.parse('./commit/2.xlsx') let table = new Array() m.forEach(item =..

2022-04-05 18:58:49 2496 1

原创 vue3导入excel并转化成数组

示范excel的demo先导入xlsxnpm install xlsximport * as XLSX from "xlsx"; // vue3可用此引入上传组件用了element-plus的el-upload组件<template> <el-upload class="upload-demo" action="" drag :auto-upload="false" :on-change="uploadChange" :li

2022-04-04 19:17:45 2037 1

原创 vue实现用户登录验证 + 权限验证 + 动态路由(左侧菜单栏)

1. 技术栈说明vue2.6 + vue-router + vuex + element-ui2. 开始:新建项目前提条件:在个人电脑上安装好nodejs(我的是14.15.1)之后,利用nodejs自带的npm包管理器安装好vue(我的是@vue/cli 4.5.12)在命令行中通过以下指令在指定目录下安装脚手架vue-clinpm install -g @vue/cli使用vue的创建项目命令,vue create xxx (xxx是指项目名称)选择项目所需要的插件.

2022-04-02 07:08:23 5682 4

原创 Typescript的interface接口类型,类的继承,(private,protected,public三种访问类型)

「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」interface 接口类型只接收字符串或方法,跟type类型别名有一定区别,type可以直接声明类型interface Person { // readonly name: string // readonly 只读类型,不可写 name: string age?: number // ?: 可有可无 [propName: string]: any // 除了na

2021-11-08 21:57:36 1312

原创 Typescript基础类型

基础类型typescript中基础类型与javascript中的基础类型基本一致具体分为数据类型关键字描述任意类型any声明为any的变量可以赋予任意类型的值。数字类型number双精度64位浮点值,它可以用来表示整数和分数。字符串类型string一个字符系列,使用单引号( ’ )或双引号( " )来表示字符串类型。反引号( ` )来定义多行文本和内嵌表达式。布尔类型boolean表示逻辑值:true和false。数组类型无(array)

2021-11-07 20:48:22 82

原创 OpenResty - 高性能应用服务器框架

基于Nginx的模块化设计,衍生出了很多第三方模块以扩展Nginx的能力。其中,有一个有趣且影响深远的模块,即lua-nginx-module。它把Lua解析器内嵌到了Nginx中,从而可以使用Lua语言编程,极大增强了Nginx的能力。Lua是一种轻量,小巧的脚本语言,用标准的c语言编写并以源代码,其设计目的是 饿了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能OpenResty(https://openresty.org/cn/) 正是基于Nginx与Lua的高性能Web平台,其内部集成了大量精

2021-08-27 07:07:11 188

原创 React状态 react state

# 什么是状态管理工具?(vuex)react state相当于vue的date,但是跟vue的用法不一致constructor 属性返回对创建此对象的数组函数的引用单组件化抽离这种方式不推荐,已经耦合在一起了,再这样执行import React from 'react'import ReactDOM from 'react-dom'// 类组件class Clock extends React.Component{ // 状态 (数据) --> view 状态到视图层 // 如果重

2021-08-22 15:53:44 72

原创 什么是状态管理工具?(vuex)

直接使用全局对象的问题全局对象里面的数据是普通的JavaScript数据类型,它们不是响应式的,也就说第一次读取渲染有可能没有问题,但是当数据修改过以后,界面没法作出对应的更新,这是一个很大的问题全局对象的修改无法追踪,也就是说在应用中的任何一处代码,都可以有机会拿到全局数据,并作出对应的修改,但是我们根本没有办法搞清楚是哪行代码,哪个文件修改了全局数据,这样就非常容易产生bug,而且难以追踪,这就很危险了。vue是组件化的世界,就像我们的程序,大家也可以发现,组件的构成就像一棵树一样,全局数据一般是从父组

2021-08-21 07:16:54 214

原创 React的跨域问题处理

适合于react17+的版本第一步:在package.json里面加proxy这个proxy必须要是String类型,并且是本地需要跨域的路径"proxy": "http://localhost:3000"第二步:设置setupProxy.js, 设置跨域路径设置在src下面,新建setupProxy.js,代码如下const {createProxyMiddleware} = require("http-proxy-middleware");module.exports = function (ap

2021-08-20 07:30:10 570

原创 react组件

1、函数式组件方法体首字母需要大写, 并且执行的时候,需要写< />import React from 'react'import ReactDOM from 'react-dom'// 函数式组件function Childcom() { const title = <h2>我是副标题</h2> const weather = '下雨' // 条件判断 const isGo = weather == '下雨' ? '不出门' : '出门' r

2021-08-19 21:35:19 62

原创 vue3+ts,后端:koa2+jwt,实现登陆功能(后端部分下篇)

# 前端:vue3+ts,后端:koa2+jwt,实现登陆功能(后端部分上篇)1. 在routes里面,创建一个user.js文件,用作登陆的后端文件/** * 用户管理模块 */const router = require('koa-router')() // koa路由文件const User = require('../models/userSchema') // schema文件 定义user用户的字段的const util = require('../utils/util') //

2021-08-17 09:17:11 304

原创 前端:vue3+ts,后端:koa2+jwt,实现登陆功能(前端部分)

准备工作搭建项目和一些基础的封装准备# vue3+ts项目搭建和封装(上篇)# vue3+ts项目搭建和封装(下篇)搭建页面我是用了vue3+element-plus来搭建的项目,所以登陆也是用了element-plus的el-form组件页面骨架部分<template> <div class="login-wrapper"> <div class="modal"> <el-form :model="user" status-ic

2021-08-16 07:45:08 376

原创 vue3+ts项目搭建和封装(下篇)

# vue3+ts项目搭建和封装(上篇)配置request.ts/** * axios 二次封装 * @auther 何小生。 * @time 2021/08/05 05:24*/import axios from 'axios' // 引入axiosimport { config } from '../config' // 引入configimport { ElMessage } from 'element-plus' // 引入element-plusimport rout

2021-08-11 06:55:07 1313

原创 golang第十天,切片(下篇)

len()和cap()函数切片的长度是切片中元素的数量。切片的容量是从创建切片的索引开始的底层数组中元素的数量切片是可索引的,并且可以由len()方法获取长度,切片提供了几辆容量的方法cap(),可以测量切片最长可以达到多少package mainimport "fmt"func main() { var num = make([]int, 2, 3) printSlice(num)}func printSlice(x []int) { fmt.Printf("l

2021-08-10 08:10:18 76

原创 vue3+ts项目搭建和封装(上篇)

1. 首先,要确保自己的node版本 >= 12.0.0, 在命令行执行node-v就可以查看node版本如果node版本低于12的话,就…node有一个模块叫n,是专门用来管理node.js的版本的。第一步:首先安装n模块:npm install -g n第二步:升级node倒最新稳定版n stable(n后面也可以跟版本号)n v14.15.1或者n 14.15.1## 就完事儿了2. 开始搭建项目首先进入需要创建项目的路径下使用npm: npm init @vi

2021-08-10 07:46:00 1608 1

原创 golang第九天,切片(slice)介绍

什么是切片golang切片是对数组的抽象。go的数组长度不可改变,在特定场景中这样的集合就不太适用,go中提供了一种灵活,功能强悍的内置类型切片(“动态数组”),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大切片是一种方便,灵活且强大的包装器。切片本身没有任何数据。它们只是对现有的数组的引用切片与数组相比,不需要设定长度,在[]中不用设定值,相对来说比较自由从概念上来说slice像一个结构体,这个结构体包含了三个元素指针 - 指向数组中slice指定的开始位置长度

2021-08-09 08:28:57 164

原创 Vue实现动态路由

通常我们在vue项目中都是前端配置好路由的,但在一些项目中我们可能会遇到权限控制,这样我们就涉及到动态路由的设置了。动态路由设置一般有两种:(1)、简单的角色路由设置: 比如只涉及到管理员和普通用户的权限。通常直接在前端进行简单的角色权限设置(2)、复杂的路由权限设置: 比如OA系统、多种角色的权限配置。通常需要后端返回路由列表,前端渲染使用1、简单的角色路由设置(1)配置项目路由权限// router.jsimport Vue from 'vue'import Router fro

2021-08-09 06:58:52 3203

原创 golang基础数据类型(字符,字符串型和复合型[派生类型])

字符介绍字符是电子计算机中字母、数字、符号的统称,是数据结构中最小的数据存取单位,通常由8个二进制位(一个字节)来表示一个字符表示类型byte(uint8) byte 类型是 uint8 的别名rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型,rune 类型是 int32 类型的别名申请方法(使用方法)参考变量的申请方式package mainimport “fmt”func main() {var str1

2021-08-05 08:32:12 186

原创 前端:vue3 + ts,后端:koa2。实现jwt登陆校验 (上篇 -前端部分)

1. 首先,要确保自己的node版本 >= 12.0.0, 在命令行执行node-v就可以查看node版本如果node版本低于12的话,就...node有一个模块叫n,是专门用来管理node.js的版本的。第一步:首先安装n模块:npm install -g n第二步:升级node倒最新稳定版n stable(n后面也可以跟版本号)n v14.15.1或者n 14.15.1## 就完事儿了2. 开始搭建项目首先进入需要创建项目的路径下使用npm: npm init @

2021-08-05 08:29:39 485

原创 golang第三天,常量的使用

打印详解package mainimport "fmt"func main() { // 打印结构体 p := point{1, 2} fmt.Printf("%v\n", p) //输出结果为 {1 2} // 如果值是一个结构体,%+v 变体将包括结构体的字段名。 fmt.Printf("%+v\n", p) //输出结果为 {x:1 y:2} // %#v 变体打印值的 Go 语法表示,即将生成该值的源代码片段。 fmt.Printf("%#v\n", p) //输

2021-08-03 19:03:08 121

原创 vue实现多接口轮询,并把json打包成json文件且压缩为zip包

实际需求产品小哥哥需要把一堆json文件根据对应的API文件名打包成对应的名称的json包,然后装在一起并压缩成zip格式的压缩包,下载下来先分解需求先根据多个json文件的api,获取到对应的json文件把对应的json文件分门别类的方法,并赋予对应的名称json文件解码并放在一个文件夹下进行zip压缩难点多个json的api接口同时请求,并需要捕获哪个接口请求失败json文件里的中文字符下载到本地时的乱码问题jszip和file-saver的使用这里需要用到三个技术难点promise.all:这个来做多

2021-08-01 22:43:05 957

原创 koa2搭配log4js实现日志监控

安装node环境因为此框架是基于node.js的,安装node是必须的进行的第一步,这里不再详细介绍当前环境安装koa(我们使用淘宝镜像进行安装)# 全局安装koa脚手架cnpm install koa-generator -g# 创建新项目koa2 my_server# 打开新建的项目cd my_server# 安装依赖yarn安装完成后,执行npm dev,浏览器输入localhost:3000,展示如下页面,即koa2环境搭建成功控制台浏览器入口文件在 bin/www&

2021-08-01 07:28:30 583

原创 vue实现滑块拖拽校验

定义骨架,写html和csshtml部分<template> <div class="drag-wrapper" ref="dragDiv"> <div class="drag_bg"></div> <div class="drag_text f14">{{ confirmWords }}</div> <!-- 移动的模块 --> <div ref

2021-07-31 07:56:31 783

原创 mysql成长之路

何小玍的前端之路(不定时更新)【mysql成长记录】– 1.排序问题order by xx desc --降序order by xx asc --升序order by xx desc, asc --先降序再升序– 2.行转列select xxfrom yyleft join aa a on yy.id = a.id and 条件aleft join aa b on ...

2018-11-19 14:37:07 108

空空如也

空空如也

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

TA关注的人

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