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

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

    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管理工具
  • 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...

    代码 方法 配置 属性 自动
  • 别的电脑连接共享文件夹(如何连接其他电脑共享文件夹)

    别的电脑连接共享文件夹(如何连接其他电脑共享文件夹)

    Eolink技术文档 •2023-02-08

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

    方法 文件 属性 品牌 IP
  • 别人电脑连接共享文件夹(别人电脑连接共享文件夹怎么办)

    别人电脑连接共享文件夹(别人电脑连接共享文件夹怎么办)

    Eolink技术文档 •2023-02-08

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

    安全 方法 文件 配置 属性
  • 不能连接共享文件夹(不能连接共享文件夹怎么回事)

    不能连接共享文件夹(不能连接共享文件夹怎么回事)

    Eolink技术文档 •2023-02-08

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

    安全 方法 文件 属性 品牌
  • 不同网关连接共享文件夹(不同网关连接共享文件夹会怎么样)

    不同网关连接共享文件夹(不同网关连接共享文件夹会怎么样)

    Eolink技术文档 •2023-02-08

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

    安全 方法 文件 属性 IP
  • MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解决方法

    MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解决方法

    API接口管理 •2023-02-08

    MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解决方法前言本文主要介...

    方法 http 配置 数据 属性
  • 使用Vue如何写一个双向数据绑定(面试常见)

    使用Vue如何写一个双向数据绑定(面试常见)

    API接口管理 •2023-02-08

    使用Vue如何写一个双向数据绑定(面试常见)1、原理vue的双向数据绑定的原理相信大家也都十分了解了,主要是通过 Object对象的defineProperty属性,重写data的set和get函数来...

    代码 对象 http 数据 属性
  • 查看已连接共享文件夹账号(如何查看访问共享文件登录用户)

    查看已连接共享文件夹账号(如何查看访问共享文件登录用户)

    Eolink技术文档 •2023-02-08

    本篇文章给大家谈谈查看已连接共享文件夹账号,以及如何查看访问共享文件登录用户对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享查看已连接共享文件夹账号的知识,其中也会对如何查看访...

    安全 方法 文件 配置 属性
  • vue 之 .sync 修饰符示例详解

    vue 之 .sync 修饰符示例详解

    API接口管理 •2023-02-08

    vue 之 .sync 修饰符示例详解在一些情况下,我们可能会需要对一个 prop (父子组件传递数据的属性) 进行“双向绑定”。在vue 1.x 中的 .sync 修饰符所提供的功能。当一个子组件改...

    代码 对象 http 数据 属性
  • Spring Cloud Config实现分布式配置中心

    Spring Cloud Config实现分布式配置中心

    API接口管理 •2023-02-08

    Spring Cloud Config实现分布式配置中心在分布式系统中,配置文件散落在每个项目中,难于集中管理,抑或修改了配置需要重启才能生效。下面我们使用 Spring Cloud Config 来...

    方法 文件 http 配置 属性
  • 首页
  • 上一页
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 下一页
  • 尾页

推荐文章

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

    • 接口设计原则

    • 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所有