eolink官网
  • 首页
  • api管理
  • API接口管理
  • API自动化测试
  • api文档
  • API网关
  • 接口自动化
  • 实现接口
  • 关键词
首页 包含"自动 第251页"标签的文章
  • 软件接口设计怎么做?前后端分离软件接口设计思路

    [置顶]软件接口设计怎么做?前后端分离软件接口设计思路

    API接口管理 •2022-09-21

    本文关于软件接口设计怎么做?前后端分离软件接口设计思路。好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。为什么在接口制定标准中说:一流的企业做标准,二流的企业...

    接口设计 软件接口设计 接口管理
  • 接口管理如何做?接口实现版本管理的意义和最佳方法

    [置顶]接口管理如何做?接口实现版本管理的意义和最佳方法

    API接口管理 •2022-10-27

    本文关于接口管理如何做?接口实现版本管理的意义和最佳方法。API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义。下面会从WEB API 版本管理的角度提供几种常...

    接口管理 api eolink eolinker
  • 实现API管理系统的关键

    [置顶]实现API管理系统的关键

    API接口管理 •2023-06-16

    下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式。1.生命周期管理在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API。这...

    API API管理 API管理系统 实现API管理系统 实现API管理系统的关键 api管理工具
  • 详解IDEA自定义注释模板(javadoc)

    详解IDEA自定义注释模板(javadoc)

    API接口管理 •2023-02-09

    详解IDEA自定义注释模板(javadoc)最近要开始做项目了,项目规定了方法注释模板,那么idea是如何自定义注释模板的呢?有两种解决方案:1.安装Jindent插件,好处是自动生成模板,但是很可惜...

    方法 http 模板 自动 解决方案
  • 关于vue中 $emit的用法详解

    关于vue中 $emit的用法详解

    API接口管理 •2023-02-09

    关于vue中 $emit的用法详解1、父组件可以使用 props 把数据传给子组件。2、子组件可以使用 $emit 触发父组件的自定义事件。vm.$emit( event, arg ) //触发当前实...

    数据 自动 自定义 组件 结果
  • 百度连接共享文件夹(百度连接共享文件夹怎么设置)

    百度连接共享文件夹(百度连接共享文件夹怎么设置)

    Eolink技术文档 •2023-02-09

    本篇文章给大家谈谈百度连接共享文件夹,以及百度连接共享文件夹怎么设置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享百度连接共享文件夹的知识,其中也会对百度连接共享文件夹怎么设...

    方法 文件 http IP 自动
  • 百度云实时连接共享文件夹(百度云实时连接共享文件夹失败)

    百度云实时连接共享文件夹(百度云实时连接共享文件夹失败)

    Eolink技术文档 •2023-02-08

    本篇文章给大家谈谈百度云实时连接共享文件夹,以及百度云实时连接共享文件夹失败对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享百度云实时连接共享文件夹的知识,其中也会对百度云实时...

    方法 文件 配置 自动 操作
  • 办公室连接共享文件夹(办公室网络共享文件夹)

    办公室连接共享文件夹(办公室网络共享文件夹)

    Eolink技术文档 •2023-02-08

    本篇文章给大家谈谈办公室连接共享文件夹,以及办公室网络共享文件夹对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享办公室连接共享文件夹的知识,其中也会对办公室网络共享文件夹进行解...

    安全 方法 文件 属性 自动
  • 基于VuePress 轻量级静态网站生成器的实现方法

    基于VuePress 轻量级静态网站生成器的实现方法

    API接口管理 •2023-02-08

    基于VuePress 轻量级静态网站生成器的实现方法什么是vuePressVuePress由两部分组成:一个基于Vue的轻量级静态网站生成器,以及为编写技术文档而优化的默认主题。 它是为了满足Vue自...

    方法 文件 http 模板 自动
  • ImageUploader & Cropper

    ImageUploader主要做的就是上传图片,监听了input的change事件,并调用了父组件Cropper的的handleImgChange方法,该方法设置了绑定到img元素的imageValue,会使得img元素出发load事件。

    handleImgChange = e => {

    let fileReader = new FileReader()

    fileReader.readAsDataURL(e.target.files[0])

    fileReader.onload = e => {

    this.setState({...this.state, imageValue: e.target.result})

    }

    }

    load事件触发了Cropper的setSize方法,该方法可以设置了图片和裁剪选择框的初始位置和大小。目前裁剪选择框是默认设置是大小为图片的80%,中间显示。

    setSize = () => {

    let img = this.refs.img

    let widthNum = parseInt(this.props.width, 10)

    let heightNum = parseInt(this.props.height, 10)

    this.setState({

    ...this.state,

    naturalSize:EPPtHnOEI {

    width: img.naturalWidth,

    height: img.naturalHeight

    }

    })

    let imgStyle = img.style

    imgStyle.height = 'auto'

    imgStyle.width = 'auto'

    let principalStyle = ReactDOM.findDOMNode(this.refs.selectArea).parentElement.style

    const ratio = img.width / img.height

    // 设置图片大小、位置

    if (img.width > img.height) {

    imgStyle.width = principalStyle.width = this.props.width

    imgStyle.height = principalStyle.height = widthNum / ratio + 'px'

    principalStyle.marginTop = (widthNum - parseInt(principalStyle.height, 10)) / 2 + 'px'

    principalStyle.marginLeft = 0

    } else {

    imgStyle.height = principalStyle.height = this.props.height

    imgStyle.width = principalStyle.width = heightNum * ratio + 'px'

    principalStyle.marginLeft = (heightNum - parseInt(principalStyle.width, 10)) / 2 + 'px'

    principalStyle.marginTop = 0

    }

    // 设置选择框样式

    let selectAreaStyle = ReactDOM.findDOMNode(this.refs.selectArea).style

    let principalHeight = parseInt(principalStyle.height, 10)

    let principalWidth = parseInt(principalStyle.width, 10)

    if (principalWidth > principalHeight) {

    selectAreaStyle.top = principalHeight * 0.1 + 'px'

    selectAreaStyle.width = selectAreaStyle.height = principalHeight * 0.8 + 'px'

    selectAreaStyle.left = (principalWidth - parseInt(selectAreaStyle.width, 10)) / 2 + 'px'

    } else {

    selectAreaStyle.left = principalWidth * 0.1 + 'px'

    selectAreaStyle.width = selectAreaStyle.height = principalWidth * 0.8 + 'px'

    selectAreaStyle.top = (principalHeight - parseInt(selectAreaStyle.height, 10)) / 2 + 'px'

    }

    }

    Cropper上还有一个getCropData方法,方法会打印并返回裁剪参数,

    getCropData = e => {

    e.preventDefault()

    let SelectArea = ReactDOM.findDOMNode(this.refs.selectArea).style

    let a = {

    width: parseInt(SelectArea.width, 10),

    height: parseInt(SelectArea.height, 10),

    left: parseInt(SelectArea.left, 10),

    top: parseInt(SelectArea.top, 10)

    }

    a.radio = this.state.naturalSize.width / a.width

    console.log(a)

    return a

    }

    SelectArea

    重新放一遍selectArea的结构。要注意,.top-resize的cursor属性是 n-resize,而和left,right,bottom对应的分别是w-resize,e-resize,s-resize

    selectArea的state值设为这样,selectArea保存拖拽选择框时的参数,resizeArea保存裁剪选择框时的参数,container为.image-principal元素,el为触发事件时的event.target。

    this.state = {

    selectArea: null,

    el: null,

    container: null,

    resizeArea: null

    }

    拖拽选择框

    在.select-area按下鼠标,触发mouseDown事件,调用dragStart方法。

    使用method = e => {}的形式可以避免在jsx中使用this.method.bind(this)

    在这个方法中,首先保存按下鼠标时的鼠标位置,裁剪框与图片的相对距离和裁剪框的最大位移距离,接着添加事件监听

    dragStart = e => {

    const el = e.target

    const container = this.state.container

    let selectArea = {

    posLeft: e.clientX,

    posTop: e.clientY,

    left: e.clientX - el.offsetLeft,

    top: e.clientY - el.offsetTop,

    maxMoveX: container.offsetWidth - el.offsetWidth,

    maxMoveY: container.offsetHeight - el.offsetHeight,

    }

    this.setState({ ...this.state, selectArea, el})

    document.addEventListener('mousemove', this.moveBind, false)

    document.addEventListener('mouseup" alt="一个基于react的图片裁剪组件示例" title="一个基于react的图片裁剪组件示例" width="200" height="150">

    一个基于react的图片裁剪组件示例

    API接口管理 •2023-02-08

    一个基于react的图片裁剪组件示例开始写了一年多vue,感觉碰到了点瓶颈,学习下react找找感觉。刚好最近使用vue写了个基于cropperjs的图片裁剪的组件,便花费了几个晚上的功夫用react...

    代码 方法 配置 属性 自动
  • spring boot springjpa 支持多个数据源的实例代码

    spring boot springjpa 支持多个数据源的实例代码

    API接口管理 •2023-02-08

    spring boot springjpa 支持多个数据源的实例代码1.SpringBoot的程序启动类import org.springframework.boot.SpringApplicatio...

    代码 配置 数据 官方 自动
  • Java如何自定义异常打印非堆栈信息详解

    Java如何自定义异常打印非堆栈信息详解

    API接口管理 •2023-02-08

    Java如何自定义异常打印非堆栈信息详解前言在学习java的过程中,想必大家都一定学习过异常这个篇章,异常的基本特性和使用这里就不再多讲了。什么是异常?我不知道大家都是怎么去理解的,我的理解很简单,那...

    对象 方法 数据 自动 Java
  • Vue写一个简单的倒计时按钮功能

    Vue写一个简单的倒计时按钮功能

    API接口管理 •2023-02-08

    Vue写一个简单的倒计时按钮功能在项目开发里,我们经常会遇到发送验证码、点击了之后有60秒倒计时的按钮,很常见却也很简单,但是在写这个按钮的时候有个别地方还要注意下,今天写出来,如有问题欢迎指正!完成...

    代码 方法 http 数据 自动
  • 首页
  • 上一页
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 下一页
  • 尾页

推荐文章

    • 接口调用是什么意思?几种常用接口调用方式

    • 接口设计原则

    • 8款在线 API 接口文档管理工具

    • api管理系统是什么?

    • 什么是接口调试?接口调试的步骤有哪些?

    • api 接口管理系统有哪些?

    • 接口测试有几种测试方法

    • API文档生成工具有哪些?

    • 微服务和api网关区别

    • 交换机配置步骤

最近发表

  • 多平台统一管理软件接口,如何实现多平台统一管理软件接口
  • Flask接口签名sign原理与实例代码浅析
  • java中的接口是类吗
  • vue项目接口域名动态的获取方法
  • zookeeper python接口实例详解
  • Iterator与LIstIterator接口在java中的区别有哪些
  • c#自定义Attribute获取接口实现示例代码
  • hdml指的是什么接口
  • 分析EBS常用接口表
  • java 单机接口限流处理方案

热门文章

  • 抖音1到60级价格表,抖音刷到60级需要多少人民币(2000万元)2022-11-06
  • 荷花烟多少钱一包,荷花价格表2022价格表(最低售价32元)2022-11-06
  • 手机号码查询机主姓名API(移动手机号码查询机主姓名)2022-11-04
  • 社工库查询API(社工库查询号信息)2022-11-03
  • 连接共享文件夹时输入凭证(打开共享文件夹需要输入网络凭据)2023-02-02
  • JavaScript 操作历史记录api 怎样使用 JavaScript 操作浏览器历史记录 API(javascriptjava成熟欢迎)2022-06-07
  • 安装base.apk.1的软件?2023-12-09
  • 华为交换机console口设置密码及状态查看命令(华为交换机console口密码默认)2022-09-21
Eolink
分子生物学知识 TideFlow-AISEO自动化营销系统 3D打印机资讯 协同办公资讯 协作机器人 电商数据分析 数据可视化 生产管理资讯

© 2023 XWNews 京ICP备1111040123号-1 版权归zblog所有