美图秀秀web开发文档

Xiuxiu 组件

import React, { Component } from ‘react‘;

class XiuXiu extends Component {
  componentDidMount() {
    const {closeModal, imageUrl, uploadUrl, formData} = this.props;
     /* 第1个参数是加载编辑器div容器,第2个参数是编辑器类型,第3个参数是div容器宽,第4个参数是div容器高*/
    xiuxiu.embedSWF(‘altContent‘, 1, ‘700px‘, ‘520px‘);
    // 修改为您自己的图片上传接口
    xiuxiu.setUploadURL(uploadUrl);
    xiuxiu.setUploadType(2);
    xiuxiu.setUploadDataFieldName(‘file‘);
    xiuxiu.setUploadArgs(formData);
    xiuxiu.onInit = function () {
      xiuxiu.loadPhoto(imageUrl);
    };
    xiuxiu.onUploadResponse = function (data) {
      closeModal(true);
    };
    xiuxiu.onBatchUploadComplete = function () {
      closeModal(true);
    };
    xiuxiu.onClose = function(id) {
      closeModal(false);
    };
    xiuxiu.onUpload = function(id) {
      closeModal(true);
    };
  }
  render() {
    return (
      <div id=‘altContent‘>
      </div>
    );
  }
}

export default XiuXiu;

XiuxiuComponent
class XiuXiuModal extends Component {
  state = {
    visible: false,
  }
  showModal = () => {
    this.setState({visible: true});
  }
  closeModal = (isEdit) => {
    const {imageUrl} = this.props;
    this.props.onClose(imageUrl, isEdit);
    this.setState({visible: false});
  }
  render() {
    const {children, policyImage, imagePath} = this.props;
    const formData = {
      signature: policyImage.signature,
      OSSAccessKeyId: policyImage.accessid,
      policy: policyImage.policy,
      key: imagePath,
      success_action_status: ‘200‘,
    };
    return (
      <a onClick={this.showModal}>
        {children}
        {this.state.visible && <Modal wrapClassName=‘xiuxiu-wrapper‘ closable={false} width=‘700px‘ footer={null} title={null} visible >
          <XiuXiu uploadUrl={policyImage.host} formData={formData} closeModal={this.closeModal} {...this.props} />
        </Modal>}
      </a>
    );
  }
}

最终引入

import XiuXiu from ‘components/XiuXiu‘;class ItemBox extends Component {
  componentDidMount () {
    const {folderFormatType, folderId, actions: {policyActions: {getImagePolicy}, ownActions: {loadMaterial}}} = this.props;
    loadMaterial(folderId, undefined, true, folderFormatType);
    getImagePolicy();
  }
  cancelEditImage = (imageUrl, isEdit) => {
    const {actions: {ownActions: {editMaterial}}, materials} = this.props;
    const item = find(materials, {coverImage: imageUrl});
    if(isEdit) {
      editMaterial({
        id: item.id,
        version: item.version + 0.1,
      });
    }
  }
  render () {
    const {actions: {ownActions: {addMaterial, loadMaterial}},
      page, policyImage, materials, folderId, folder, profile} = this.props;
    return (
      <XiuXiuModal onClose={this.cancelEditImage} imagePath={item.path} policyImage={policyImage} imageUrl={item.url}>
            编辑图片
       </XiuXiuModal>
    );
  }
}

  

注意:

1、引入美图秀秀必须加载上传图片接口

2、设置crossdomain.xml

下载crossdomain.xml文件,把解压出来的crossdomain.xml文件放在您保存图片或图片来源的服务器根目录下,
比如: http://example.com.cn,那么crossdomain.xml的路径为:http://example.com.cn/crossdomain.xml。
需要注意的是crossdomain.xml必须部署于站点根目录下才有效, crossdomain.xml的目的是授权来自美图域下的flash向您的站点上传图片或者从您的站点加载图片。
【备注】由于本地测试会被flash安全沙箱拦住,请自行搭建web服务器,在web 环境中测试。

				
时间: 2024-10-05 10:26:30

美图秀秀web开发文档的相关文章

美图秀秀 web开发图片编辑器

美图秀秀web开发平台 http://open.web.meitu.com/wiki/ 1.环境配置 1.1.设置crossdomain.xml 下载crossdomain.xml文件,把解压出来的crossdomain.xml文件放在您保存图片或图片来源的服务器根目录下,比如: http://example.com.cn,那么crossdomain.xml的路径为:http://example.com.cn/crossdomain.xml.需要注意的是crossdomain.xml必须部署于站

Web 开发文档

Bootstrap: 1 http://www.runoob.com/bootstrap/bootstrap-tutorial.html 2 http://getbootstrap.com/components/ 3 http://www.bootcss.com/p/flat-ui/ (Flat UI) Angular.JS: 1 https://docs.angularjs.org/api 2 http://www.w3schools.com/angular/angular_expressio

美图秀秀api实现图片的裁剪及美化

美图秀秀不仅有PC版.手机版等客户端的软件,还有Web开方接口,可以在web页面上调用美图秀秀的api接口,实现图片的编辑.像淘宝.网易.qq空间.新浪微博等大厂都使用过该接口. 官网地址:http://open.web.meitu.com,使用方法也很简单,直接参照官网文档: 第一步:环境配置 下载 crossdomain.xml 文件,然后把 crossdomain.xml 文件放到保存图片的服务器上根目录下,例如您的保存图片的服务器地址为: http://www.example.com,那

C#微信开发文档

C#微信开发文档 开发前准备 微信公众平台链接: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN 开发初期我们使用测试号测试我们的微信功能,微信提供了测试号申请,它具有大部分我们需要的功能 微信公众平台测试号申请网址: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 1:测试号申请申请成功后我们首先要将我们的服务器接入微信接入微信公众平台来进行开

手机客户端接口开发文档模板整理

这是个人整理的手机开发文档模板,方便自己以后编写文档. 大体内容如下,详细在个人csdn中下载: 移动端转发短信上传温湿度信息 移动端负责后台接收温湿度传感器通过短信发来的温湿度和经纬度信息,移动端后台接收后上传web服务器,当然传感器也可通过wifi直接上传web服务器.返回小写true或者false. 请求URL: http://192.168.1.101:8080/RFID/addTransTemperature.action?phoneNumber=123&temperature=12.

iOS开发系列--打造自己的“美图秀秀”

http://www.cnblogs.com/kenshincui/p/3959951.html#overview --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Core Image中强大的滤镜功能. Quartz 2D 基本图形绘制 视图刷新 其他图形上下文 Core Image Quartz 2D 在iOS中常用的绘图框

onvif 开发文档【1】

一: onvif 介绍: Onvif是一套协议,或者简单说是一个标准,接触一个新的协议或者标准,第一步我想首先是要弄清这个协议是做什么?我也是带着这个疑问,开始了对onvif的研究和探索.下边的资料是我从百度上搜索到的,和我自己的学习步骤也是一样,先搜索点东西读一读,对onvif有一个表层的认识. 1:为什么会有onvif? ONVIF致力于通过全球性的开放接口标准来推进网络视频在安防市场的应用,这一接口标准将确保不同厂商生产的网络视频产品具有互通性.2008年11月,论坛正式发布了ONVIF第

onvif 开发文档【2】

二: onvif 开发环境的搭建 下边这张图来自于网上,对我们熟悉onvif开发描述的十分清晰,我就是顺着这个思路走下去的. 从上边的介绍中,我们基本知道onvif是个什么协议,其中十分关键一点是这种协议的展现形式是webservice.让我们通过下图对webservice的调用过程有一个初步的了解. 对基于webservice格式存在接口,我们第一步要首先寻找webserive对应的wsdl文件在那里?当然去onvif的官方网站去找了.要搭建开发平台的第一步就是从onvif的官方网站获取wsd

支付宝小程序正式上线公测 附开发者工具和开发文档

支付宝小程序正式进入公测阶段,开发者可以申请公测了.支付宝小程序是一种全新的开放模式,它运行在支付宝客户端,可以被便捷地获取和传播,为终端用户提供更优的用户体验.小程序开放给开发者更多的JSAPI和OpenAPI能力,通过小程序可以为用户提供多样化便捷服务.公测申请地址:https://openhome.alipay.com/platform/miniBeta.htm 支付宝小程序特色能力 1.支付能力.满足商户各商业经营场景的支付需求2.信用能力.为商户高效识别用户的真实.靠谱性3.大数据能力