AUTHORITY_TYPE_READ
AUTHORITY_TYPE_READ = "application_type_read"
get_pay_config(array $data, array $order_json, array $config)
获取支付配置 $config = array( "money_fen" 支付或提现的钱 "subject" 商品的标题/交易标题/订单标题/订单关键字等。 "body" 商品描述。商品简单描述,该字段须严格按照规范传递 "attach" 附加数据。附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 "order_id" 订单ID "standby_order_id" 备用订单ID。当由业务订单ID和资金订单ID的时候,这里填资金订单ID )
array | $data | 数据 |
array | $order_json | 订单配置 |
array | $config | 配置信息 |
api_self_qiniu_uptoken(\eapie\source\request\application\[arr] $input = array()) : \eapie\source\request\application\{
获取图片上传的token
api: APPLICATIONSELFIMAGEQINIUUPTOKEN req: { image_name [str] [必填] [文件的原名字] image_size [int] [必填] [文件的大小] image_type [str] [必填] [文件的类型] image_format [str] [必填] [文件的后缀] }
\eapie\source\request\application\[arr] | $input | [请求参数] |
qiniu_uptoken [str] [七牛的上传token] image_id [str] [图片ID] }
<?php
/** ---- eapie ----
* 优狐积木框架,让开发就像组装积木一样简单!
* 解放千千万万程序员!这只是1.0版本,后续版本势如破竹!
*
* QQ群:523668865
* 开源地址 https://gitee.com/lxh888/openshop
* 官网 http://eonfox.com/
* 后端框架文档 http://cao.php.eonfox.com
*
* 作者:绵阳市优狐网络科技有限公司
* 电话/微信:18981181942
* QQ:294520544
*/
namespace eapie\source\request\application;
use eapie\main;
use eapie\error;
class image extends \eapie\source\request\application
{
/**
* 获取图片上传的token
*
* api: APPLICATIONSELFIMAGEQINIUUPTOKEN
* req: {
* image_name [str] [必填] [文件的原名字]
* image_size [int] [必填] [文件的大小]
* image_type [str] [必填] [文件的类型]
* image_format [str] [必填] [文件的后缀]
* }
*
* @param [arr] $input [请求参数]
* @return {
* qiniu_uptoken [str] [七牛的上传token]
* image_id [str] [图片ID]
* }
*/
public function api_self_qiniu_uptoken($input = array())
{
//判断是否登录
object(parent::REQUEST_USER)->check();
//校验数据
object(parent::ERROR)->check($input, 'image_name', parent::TABLE_IMAGE, array('format', 'length'));
object(parent::ERROR)->check($input, 'image_type', parent::TABLE_IMAGE, array('args', 'mime_limit'));
object(parent::ERROR)->check($input, 'image_size', parent::TABLE_IMAGE, array('args'));
object(parent::ERROR)->check($input, 'image_format', parent::TABLE_IMAGE, array('args'));
//获取配置
$qiniu_config = object(parent::TABLE_CONFIG)->data(object(parent::TABLE_CONFIG)->find('qiniu_access'), true);
if (empty($qiniu_config))
throw new error('配置异常');
//白名单
$whitelist = array(
'image_name',
'image_type',
'image_size',
'image_format',
);
$insert_data = cmd(array($input, $whitelist), 'arr whitelist');
//格式化数据
$insert_data['image_id'] = cmd(array(22), 'random autoincrement');
$insert_data['user_id'] = $_SESSION['user_id'];
$insert_data['image_path'] = $qiniu_config['bucket'];
$insert_data['image_state'] = 0;
$insert_data['image_insert_time'] = time();
$insert_data['image_update_time'] = time();
//生成一个图片表数据
if (!object(parent::TABLE_IMAGE)->insert($insert_data))
throw new error('图片登记失败');
//根据文件大小,设置有效时间
$qiniu_config['expires'] = 3600; //一个小时
$qiniu_config['policy'] = array(
'returnBody' => '{"key":"$(key)","hash":"$(etag)","type":$(mimeType),"size":$(fsize),"name":$(fname),"bucket":"$(bucket)","width":"$(imageInfo.width)","height":"$(imageInfo.height)","format":"$(imageInfo.format)"}',
//限定用户上传的文件类型。
//'mimeLimit' =>'image/*'
);
//获取上传token
$qiniu_uptoken = object(parent::PLUGIN_QINIU)->uptoken($qiniu_config);
if( !empty($qiniu_uptoken["errno"]) ){
//删除文件
object(parent::TABLE_IMAGE)->remove($insert_data['image_id']);
throw new error($qiniu_uptoken['error']);
}
return array(
'qiniu_uptoken' => $qiniu_uptoken["data"],
'image_id' => $insert_data['image_id']
);
}
/**
* 上传图片到七牛云
* api: APPLICATIONIMAGEUPLOADQINIU
* 默认入口:{"class":"application/image","method":"api_upload_qiniu"}
*/
public function api_upload_qiniu( $data=array() )
{
//获取七牛云上传配置
$qiniu_config = object(parent::TABLE_CONFIG)->data(object(parent::TABLE_CONFIG)->find('qiniu_access'), true);
if(empty($qiniu_config['id']) || empty($qiniu_config['secret']) || empty($qiniu_config['bucket'])){
throw new error('七牛云配置异常');
}
if(!empty($data['image_id'])){
object(parent::REQUEST_APPLICATION)->qiniu_image_remove($data);
}
$response = object(parent::REQUEST_APPLICATION)->qiniu_image_upload();
return $response;
}
}