koahub软件市场微信编辑器源码,可下载


发布者 wemallshop  发布时间 1474623068380
关键字 开源 
      管理过公众平台的小伙伴都知道,公众平台最重要的是图文的编辑和发布,由于微信公众平台的图文编辑页面比较简陋,功能和样式的比较少,所以一般都是使用专业的微信图文编辑器,koahub软件市场里有一款专门编辑微信图文的源码,可免费下载。

下面是微信编辑器的部分代码:

1、抓取远程图片 

<?php 
/** 
* 抓取远程图片 
*/ 
set_time_limit(0); 
include("Uploader.class.php"); 

/* 上传配置 */ 
$config = array( 
    "pathFormat" => $CONFIG['catcherPathFormat'], 
    "maxSize" => $CONFIG['catcherMaxSize'], 
    "allowFiles" => $CONFIG['catcherAllowFiles'], 
    "oriName" => "remote.png" 
); 
$fieldName = $CONFIG['catcherFieldName']; 

/* 抓取远程图片 */ 
$list = array(); 
if (isset($_POST[$fieldName])) { 
    $source = $_POST[$fieldName]; 
} else { 
    $source = $_GET[$fieldName]; 

foreach ($source as $imgUrl) { 
    $item = new Uploader($imgUrl, $config, "remote"); 
    $info = $item->getFileInfo(); 
    array_push($list, array( 
        "state" => $info["state"], 
        "url" => $info["url"], 
        "size" => $info["size"], 
        "title" => htmlspecialchars($info["title"]), 
        "original" => htmlspecialchars($info["original"]), 
        "source" => htmlspecialchars($imgUrl) 
    )); 


/* 返回抓取数据 */ 
return json_encode(array( 
    'state'=> count($list) ? 'SUCCESS':'ERROR', 
    'list'=> $list 
)); 

2、 获取已上传的文件列表 

<?php 
/** 
* 获取已上传的文件列表 
*/ 
include "Uploader.class.php"; 

/* 判断类型 */ 
switch ($_GET['action']) { 
    /* 列出文件 */ 
    case 'listfile': 
        $allowFiles = $CONFIG['fileManagerAllowFiles']; 
        $listSize = $CONFIG['fileManagerListSize']; 
        $path = $CONFIG['fileManagerListPath']; 
        break; 
    /* 列出图片 */ 
    case 'listimage': 
    default: 
        $allowFiles = $CONFIG['imageManagerAllowFiles']; 
        $listSize = $CONFIG['imageManagerListSize']; 
        $path = $CONFIG['imageManagerListPath']; 

$allowFiles = substr(str_replace(".", "|", join("", $allowFiles)), 1); 

/* 获取参数 */ 
$size = isset($_GET['size']) ? htmlspecialchars($_GET['size']) : $listSize; 
$start = isset($_GET['start']) ? htmlspecialchars($_GET['start']) : 0; 
$end = $start + $size; 

/* 获取文件列表 */ 
$path = $_SERVER['DOCUMENT_ROOT'] . (substr($path, 0, 1) == "/" ? "":"/") . $path; 
$files = getfiles($path, $allowFiles); 
if (!count($files)) { 
    return json_encode(array( 
        "state" => "no match file", 
        "list" => array(), 
        "start" => $start, 
        "total" => count($files) 
    )); 


/* 获取指定范围的列表 */ 
$len = count($files); 
for ($i = min($end, $len) - 1, $list = array(); $i < $len && $i >= 0 && $i >= $start; $i--){ 
    $list[] = $files[$i]; 

//倒序 
//for ($i = $end, $list = array(); $i < $len && $i < $end; $i++){ 
//    $list[] = $files[$i]; 
//} 

/* 返回数据 */ 
$result = json_encode(array( 
    "state" => "SUCCESS", 
    "list" => $list, 
    "start" => $start, 
    "total" => count($files) 
)); 

return $result; 


/** 
* 遍历获取目录下的指定类型的文件 
* @param $path 
* @param array $files 
* @return array 
*/ 
function getfiles($path, $allowFiles, &$files = array()) 

    if (!is_dir($path)) return null; 
    if(substr($path, strlen($path) - 1) != '/') $path .= '/'; 
    $handle = opendir($path); 
    while (false !== ($file = readdir($handle))) { 
        if ($file != '.' && $file != '..') { 
            $path2 = $path . $file; 
            if (is_dir($path2)) { 
                getfiles($path2, $allowFiles, $files); 
            } else { 
                if (preg_match("/\.(".$allowFiles.")$/i", $file)) { 
                    $files[] = array( 
                        'url'=> substr($path2, strlen($_SERVER['DOCUMENT_ROOT'])), 
                        'mtime'=> filemtime($path2) 
                    ); 
                } 
            } 
        } 
    } 
    return $files; 


3、上传附件和上传视频 

<?php 
/** 
* 上传附件和上传视频 
*/ 
include "Uploader.class.php"; 

/* 上传配置 */ 
$base64 = "upload"; 
switch (htmlspecialchars($_GET['action'])) { 
    case 'uploadimage': 
        $config = array( 
            "pathFormat" => $CONFIG['imagePathFormat'], 
            "maxSize" => $CONFIG['imageMaxSize'], 
            "allowFiles" => $CONFIG['imageAllowFiles'] 
        ); 
        $fieldName = $CONFIG['imageFieldName']; 
        break; 
    case 'uploadscrawl': 
        $config = array( 
            "pathFormat" => $CONFIG['scrawlPathFormat'], 
            "maxSize" => $CONFIG['scrawlMaxSize'], 
            "allowFiles" => $CONFIG['scrawlAllowFiles'], 
            "oriName" => "scrawl.png" 
        ); 
        $fieldName = $CONFIG['scrawlFieldName']; 
        $base64 = "base64"; 
        break; 
    case 'uploadvideo': 
        $config = array( 
            "pathFormat" => $CONFIG['videoPathFormat'], 
            "maxSize" => $CONFIG['videoMaxSize'], 
            "allowFiles" => $CONFIG['videoAllowFiles'] 
        ); 
        $fieldName = $CONFIG['videoFieldName']; 
        break; 
    case 'uploadfile': 
    default: 
        $config = array( 
            "pathFormat" => $CONFIG['filePathFormat'], 
            "maxSize" => $CONFIG['fileMaxSize'], 
            "allowFiles" => $CONFIG['fileAllowFiles'] 
        ); 
        $fieldName = $CONFIG['fileFieldName']; 
        break; 


/* 生成上传实例对象并完成上传 */ 
$up = new Uploader($fieldName, $config, $base64); 

/** 
* 得到上传文件所对应的各个参数,数组结构 
* array( 
*     "state" => "",          //上传状态,上传成功时必须返回"SUCCESS" 
*     "url" => "",            //返回的地址 
*     "title" => "",          //新文件名 
*     "original" => "",       //原始文件名 
*     "type" => ""            //文件类型 
*     "size" => "",           //文件大小 
* ) 
*/ 

/* 返回数据 */ 
return json_encode($up->getFileInfo()); 

下载地址:http://www.koahub.com/home/product/40 
演示地址:http://1.inuoer.com/wxedit/ 

KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架 

官网:http://js.koahub.com 








  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA