zsw's

form、table页面构建插件

2019-11-30 15:03:44
Form PHP Table

基本功能

surface根据PHP代码配置创建Table、Form页面 

如果使用ThinkPHP的同学使用内置助手类,对tp更友好,可以查看/vender/iszsw/test/ThinkPhp.php中示例

github https://github.com/iszsw/surface

gitee   https://gitee.com/iszsw/surface

演示地址 http://demo.surface.zsw.ink/login/index

(iview主题暂时未兼容正在完善)

 Form组件

  • upload
  • frame
  • text
  • tab
  • hidden
  • select
  • switch
  • number
  • json
  • rate
  • editor
  • tree
  • range
  • slider
  • color
  • datetime
  • date
  • time

 Table组件

  • text
  • textEdit
  • html
  • switchEdit
  • selectEdit
  • in
  • longText

 

环境需求

 PHP >= 7.1.3

安装

composer安装 shell $ composer require iszsw/surface

使用说明

  • 1、因为文件涉及到前端样式 需要复制/src/static 目录到项目入口 

  • 2、注册全局配置

使用了thinkPHP框架可以直接在config目录添加surface.php配置文件

return [         
    'upload' => [             
        'manageShow' => true,    // 图片管理             
        'manageUrl'  => '',    // 文件管理地址             
       'action'     => '',    // 文件上传地址             
       'uploadType' => 'image', // 文件类型 支持image|file             
       'multiple'   => false,            
       'limit'      => 1,        
   ] 
];

// 方式二

Form::global([             
    'upload' => [
                 'manageShow' => true,    // 图片管理
                 'manageUrl'  => '',    // 文件管理地址
                 'action'     => '',    // 文件上传地址
                 'uploadType' => 'image', // 文件类型 支持image|file
                 'multiple'   => false,
                 'limit'      => 1,
             ]
      ]);

 

  • 3、创建控制器 引入测试文件
use surface\test\Test;

$type = $_GET['type'] ?? null;

if ($type) {
     if ($type == 'file') {
         echo Test::table();die;
     }
 }

 echo Test::form();

参考

/test/test.php

/src/README.md

 注意 接口请求参数说明

// 返回格式
// code === 0 成功  code > 0 失败

json_encode(['code' => 0, 'msg'=> '成功', 'data' => []])

// 文件上传
json_encode(['code' => 0, 'msg'=> '成功', 'data' => ['url' => '....']])


// editor 富文本中文件上传
json_encode(['code' => '000', 'message'=> '成功', 'data' => ['url' => '....']])
json_encode(['code' => '001', 'message'=> '失败')


// editor 富文本中文件管理
json_encode(['code' => '000', 'count'=> 100, 'data' => [
[
    'name' => '', // 增加 BUpload.js:578 FManager.js:230 增加item.name参数 显示资源名称
    'oriURL' => '',   // 文件地址
    'thumbURL' => '', //预览地址
    'height' => '',  // 高度
    'width' => '', // 宽度
    'size' => '' // 大小
                                                        ]
])

 

我有话说: