框架发布

框架发布

最新版本发布信息
提问交流

提问交流

使用问题咨询
经验分享

经验分享

开发经验交流分享
功能建议

功能建议

官方开发功能建议
BUG反馈

BUG反馈

使用BUG反馈
模块&插件&数据包

模块&插件&数据包

模块插件数据包分享

支付宝插件

cklnk 发表了文章 • 2 个评论 • 1294 次浏览 • 2017-06-23 14:57 • 来自相关话题

调用$data = [
'out_trade_no'=>time(),
'price'=>1,
'subject'=>'测试',
'show_url'=>'不能发连接',
'notify_url'=>'不能发连接',
'return_url'=>'不能发连接',
];
plugin_action('Alipay/Alipay/alipay', $data);
 解压到plugins文件夹下即可
  查看全部
QQ截图20170623145542.jpg

调用
$data = [
'out_trade_no'=>time(),
'price'=>1,
'subject'=>'测试',
'show_url'=>'不能发连接',
'notify_url'=>'不能发连接',
'return_url'=>'不能发连接',
];
plugin_action('Alipay/Alipay/alipay', $data);

 解压到plugins文件夹下即可
 

百度合成语音插件,初学初试,请各位指教

july 发表了文章 • 0 个评论 • 733 次浏览 • 2017-06-20 17:52 • 来自相关话题

初学初试,试做了一个语音插件,可以使用,不知道代码是否臃肿,有更好的方法请各位指点迷津






根据百度合成语音的文档把基本能用的参数作为配置
因为是根据api测试的,所以报错直接$this->result();
 
下面是测试方法,请先引入use plugins\BaiduTTS\controller\BaiduTTS;测试方法public function test_tts(Request $request){
$msg = $request->param('msg');
$tts = new BaiduTTS();
$file = $tts->send($msg);
if (empty($file) || $file === false){
$this->result(null,400,'error','json');
}
$this->result(['audio'=>$file],200,'success','json');
}
在浏览器输入中文正常,postman中输入中文pathinfo接收到的参数似乎转码了,以 ? 的get参数能正常
还请各位多指教啦
  查看全部
初学初试,试做了一个语音插件,可以使用,不知道代码是否臃肿,有更好的方法请各位指点迷津

TIM图片20170620174657.png


根据百度合成语音的文档把基本能用的参数作为配置
因为是根据api测试的,所以报错直接$this->result();
 
下面是测试方法,请先引入
use plugins\BaiduTTS\controller\BaiduTTS;
测试方法
public function test_tts(Request $request){
$msg = $request->param('msg');
$tts = new BaiduTTS();
$file = $tts->send($msg);
if (empty($file) || $file === false){
$this->result(null,400,'error','json');
}
$this->result(['audio'=>$file],200,'success','json');
}

在浏览器输入中文正常,postman中输入中文pathinfo接收到的参数似乎转码了,以 ? 的get参数能正常
还请各位多指教啦
 

开发模块

yangweijie 发表了文章 • 5 个评论 • 1296 次浏览 • 2017-05-29 12:06 • 来自相关话题

因为新建模块和插件要手动建很多目录结构,所以按照onethink原来就有的快速创建插件功能,写了dp的 快速创建功能,




同时移植了laravel-admin 的 脚手架里的 database 。目前只支持一个数据库。




 
使用方法,将附件dev 压缩包 解压到dev 目录,然后放入application模块目录里去,将dev目录里的public 覆盖根目录public里去。其实就是用了codemirror插件。
 
装好后,在cmd 切换到应用根目录,里 执行 composer 安装   symfony/console,  symfony/var-dumper  这两个组件,最后在 应用的函数库里 添加以下代码use Symfony\Component\VarDumper\VarDumper;
if (!function_exists('vardump')) {
/**
* @author Nicolas Grekas <p@tchwork.com>
*/
function vardump($var)
{
foreach (func_get_args() as $var) {
VarDumper::dump($var);
}
}
}然后装好模块就可以使用该模块的功能了。如果有使用问题,请论坛@我
  查看全部
因为新建模块和插件要手动建很多目录结构,所以按照onethink原来就有的快速创建插件功能,写了dp的 快速创建功能,
TIM截图20170529104719.png

同时移植了laravel-admin 的 脚手架里的 database 。目前只支持一个数据库。
TIM截图20170529104806.png

 
使用方法,将附件dev 压缩包 解压到dev 目录,然后放入application模块目录里去,将dev目录里的public 覆盖根目录public里去。其实就是用了codemirror插件。
 
装好后,在cmd 切换到应用根目录,里 执行 composer 安装   symfony/console,  symfony/var-dumper  这两个组件,最后在 应用的函数库里 添加以下代码
use Symfony\Component\VarDumper\VarDumper;
if (!function_exists('vardump')) {
/**
* @author Nicolas Grekas <p@tchwork.com>
*/
function vardump($var)
{
foreach (func_get_args() as $var) {
VarDumper::dump($var);
}
}
}
然后装好模块就可以使用该模块的功能了。如果有使用问题,请论坛@我
 

轻量级Dolphin微信插件

herd21 发表了文章 • 3 个评论 • 2452 次浏览 • 2017-05-24 05:47 • 来自相关话题

拒绝庞然大物 我只要又轻又快! - Dolphin WeChatSDK 1.0.0

        作为一名Composer重度患者,我当然承认Composer是时下最快最爽的包管理方式,但是有时候Composer会为我们带来大量的依赖链,仅仅因为使用了其他包内极少数的几个功能,无奈之下必须加载长长一串甚至有时多达3-5M的依赖包,然而我只是想弄一个微信登录,我真的有必要安装这么多我连看都看不懂的包么?
 
        答案当然是No,这次为大家带来了一款又快又爽的轻量级WeChatSDK,整个插件包大小不到250k,仅20个文件,完整的实现了微信SDK的封装,麻雀虽小五脏俱全,使用方便友好,超乎你的想象!
 
        介绍一下使用条件:
PHP Version > 5.4Curl支持拥有一个微信公众号           还有安装方法:[list=1]下载末尾附带的WeChatSDK.zip将压缩包解压到项目的plugins目录进入后台配置AppKey/AppSecret/Token等参数开始享受潇洒的微信开发之旅         还有一个简单的例子:// 引入插件包类库use plugins\WeChatSDK\controller\WeChat;// 发起微信授权WeChat::instance()->Oauth_Redirect('yourCallbackUrl',true);// 在Callback内获取用户信息WeChat::instance()->Oauth_UserInfo();        是的没错,仅此三步,就获得了微信用户授权后的用户信息         另外还有一些事情:在插件的Wechat文件夹下,按微信开发平台的模块封装了类库例如:WechatUser 类封装了用户管理相关的操作方法操作方法的类库都可以通过插件提供的load_wechat方法实现单例加载
// 以单例模式取得了WechatUser类的实例化对象
$UserObj = WeChat::instance()->load_wechat('User');

// 批量获取关注公众号的粉丝列表
$UserList = $UserObj->getUserList();
        更多的操作请查看类文件,注释是最好的帮助手册!特别感谢开源微信SDK类库 zoujingli/wechat-php-sdk 开源不只是口号,更是一种态度!
 
        下载地址: 查看全部


拒绝庞然大物 我只要又轻又快! - Dolphin WeChatSDK 1.0.0


        作为一名Composer重度患者,我当然承认Composer是时下最快最爽的包管理方式,但是有时候Composer会为我们带来大量的依赖链,仅仅因为使用了其他包内极少数的几个功能,无奈之下必须加载长长一串甚至有时多达3-5M的依赖包,然而我只是想弄一个微信登录,我真的有必要安装这么多我连看都看不懂的包么?
 
        答案当然是No,这次为大家带来了一款又快又爽的轻量级WeChatSDK,整个插件包大小不到250k,仅20个文件,完整的实现了微信SDK的封装,麻雀虽小五脏俱全,使用方便友好,超乎你的想象!
 
        介绍一下使用条件:
  • PHP Version > 5.4
  • Curl支持
  • 拥有一个微信公众号
           还有安装方法:[list=1]
  • 下载末尾附带的WeChatSDK.zip
  • 将压缩包解压到项目的plugins目录
  • 进入后台配置AppKey/AppSecret/Token等参数
  • 开始享受潇洒的微信开发之旅
  •          还有一个简单的例子:
    // 引入插件包类库use plugins\WeChatSDK\controller\WeChat;// 发起微信授权WeChat::instance()->Oauth_Redirect('yourCallbackUrl',true);// 在Callback内获取用户信息WeChat::instance()->Oauth_UserInfo();
            是的没错,仅此三步,就获得了微信用户授权后的用户信息         另外还有一些事情:
    • 在插件的Wechat文件夹下,按微信开发平台的模块封装了类库
    • 例如:WechatUser 类封装了用户管理相关的操作方法
    • 操作方法的类库都可以通过插件提供的load_wechat方法实现单例加载

    // 以单例模式取得了WechatUser类的实例化对象
    $UserObj = WeChat::instance()->load_wechat('User');

    // 批量获取关注公众号的粉丝列表
    $UserList = $UserObj->getUserList();

            更多的操作请查看类文件,注释是最好的帮助手册!特别感谢开源微信SDK类库 zoujingli/wechat-php-sdk 开源不只是口号,更是一种态度!
     
            下载地址:

    高德地图Dolphin插件

    herd21 发表了文章 • 4 个评论 • 1068 次浏览 • 2017-05-21 16:44 • 来自相关话题

    当前版本:v1.0 beta
    封装了高德地图部分常用的API以便在项目中调用,使用方法参考注释,不详之处请参考高德开放平台WebServiceAPI开发者手册,再次感谢您关注本插件,开源是一种态度,享受开源生态,让我们共同为开源项目贡献一份微薄的力量!

     注意事项:
    请自行注册高德地图APIKey,如选择了数字签名加密,请在后台开启数字签名并填写签名密钥调用时可以使用海豚提供的 plugin_action 助手函数,如果需要进行多项操作,建议直接实例化本插件类进行使用,使用了本插件的模块请注意声明插件依赖关系因手头项目开发时间较紧,本插件暂未封装所有的API,仅封装了作者项目中用到的API,如果有您需要使用但是没有封装的,可以在插件基础上自行封装,作者项目完工后会补充封装在使用中遇到Bug请在下方跟帖以便修复 封装进度:(√)地理/逆地理编码(√)行政区域查询(√)IP定位(√)静态地图(√)天气查询路径规划搜索抓路服务批量请求接口坐标转换输入提示交通态势地理围栏更新记录:v1.0.1 将curl的初始化移动到类构造函数加快请求速度,避免重复初始化 
    插件下载:
      查看全部


    当前版本:v1.0 beta
    封装了高德地图部分常用的API以便在项目中调用,使用方法参考注释,不详之处请参考高德开放平台WebServiceAPI开发者手册,再次感谢您关注本插件,开源是一种态度,享受开源生态,让我们共同为开源项目贡献一份微薄的力量!


     注意事项:
    • 请自行注册高德地图APIKey,如选择了数字签名加密,请在后台开启数字签名并填写签名密钥
    • 调用时可以使用海豚提供的 plugin_action 助手函数,如果需要进行多项操作,建议直接实例化本插件类进行使用,使用了本插件的模块请注意声明插件依赖关系
    • 因手头项目开发时间较紧,本插件暂未封装所有的API,仅封装了作者项目中用到的API,如果有您需要使用但是没有封装的,可以在插件基础上自行封装,作者项目完工后会补充封装
    • 在使用中遇到Bug请在下方跟帖以便修复
     封装进度:
    • (√)地理/逆地理编码
    • (√)行政区域查询
    • (√)IP定位
    • (√)静态地图
    • (√)天气查询
    • 路径规划
    • 搜索
    • 抓路服务
    • 批量请求接口
    • 坐标转换
    • 输入提示
    • 交通态势
    • 地理围栏
    更新记录:
    • v1.0.1 将curl的初始化移动到类构造函数加快请求速度,避免重复初始化 

    插件下载:
     

    微信小程序用户信息解密插件

    回复

    jiankian 发起了问题 • 1 人关注 • 0 个回复 • 1383 次浏览 • 2017-04-12 07:20 • 来自相关话题

    微信小程序登录插件,换取session-key和openid

    jiankian 发表了文章 • 0 个评论 • 1179 次浏览 • 2017-04-12 07:14 • 来自相关话题

    微信小程序登录换取openid和session_key插件。。
    微信小程序代码:
    wx.login({
    success: function(res){
    // success
    console.log("wx.login成功")
    console.log(res)
    wx.request({
    url: '服务器地址/index.php/前台控制器地址。。。',
    data: {
    js_code:res.code
    },
    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    // header: {}, // 设置请求的 header
    success: function(res){
    // success
    console.log("服务器返回:")
    console.log(res)
    var login_session = JSON.parse(res.data)
    if (login_session.session_key){
    wx.getUserInfo({
    success: function(res){
    // success
    console.log("获取用户信息成功")
    console.log(res)
    wx.request({
    url: '服务器地址/index.php/customer/index/decrypt前台控制器地址',
    data: {
    sessionKey:login_session.session_key,
    encryptedData:res.encryptedData,
    iv:res.iv
    },
    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    // header: {}, // 设置请求的 header
    success: function(res){
    // success
    console.log("服务器解密成功")
    console.log(res)
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    }

    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })因为,系统自动返回的是  html数据头,如果小程序端收到的不是json对象而是json字符串请用配置在服务器端直接配置默认的返回数据为json  HTTP头。或者小程序本地 用  JSON.parse('json字符串')来解析json对象。。
      查看全部
    微信小程序登录换取openid和session_key插件。。
    微信小程序代码:
    wx.login({
    success: function(res){
    // success
    console.log("wx.login成功")
    console.log(res)
    wx.request({
    url: '服务器地址/index.php/前台控制器地址。。。',
    data: {
    js_code:res.code
    },
    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    // header: {}, // 设置请求的 header
    success: function(res){
    // success
    console.log("服务器返回:")
    console.log(res)
    var login_session = JSON.parse(res.data)
    if (login_session.session_key){
    wx.getUserInfo({
    success: function(res){
    // success
    console.log("获取用户信息成功")
    console.log(res)
    wx.request({
    url: '服务器地址/index.php/customer/index/decrypt前台控制器地址',
    data: {
    sessionKey:login_session.session_key,
    encryptedData:res.encryptedData,
    iv:res.iv
    },
    method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
    // header: {}, // 设置请求的 header
    success: function(res){
    // success
    console.log("服务器解密成功")
    console.log(res)
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    }

    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    },
    fail: function(res) {
    // fail
    },
    complete: function(res) {
    // complete
    }
    })
    因为,系统自动返回的是  html数据头,如果小程序端收到的不是json对象而是json字符串请用配置在服务器端直接配置默认的返回数据为json  HTTP头。或者小程序本地 用  JSON.parse('json字符串')来解析json对象。。
     

    阿里大鱼短信验证码发送插件

    ksen 发表了文章 • 3 个评论 • 1545 次浏览 • 2017-02-26 04:02 • 来自相关话题

    给大家一个短信验证码发送插件,功能不复杂,但是好用。




    使用方法:
    $result = plugin_action('AliDayu/AliDayu/send', [[
    'param' => ['code'=>'验证码','product'=>''],
    'mobile' => '手机号码',
    ]]); 查看全部
    给大家一个短信验证码发送插件,功能不复杂,但是好用。
    QQ截图20170226035104.png

    使用方法:
    $result = plugin_action('AliDayu/AliDayu/send', [[
    'param' => ['code'=>'验证码','product'=>''],
    'mobile' => '手机号码',
    ]]);

    二维码生成插件

    dolphinphp 发表了文章 • 4 个评论 • 1815 次浏览 • 2017-01-17 00:13 • 来自相关话题

    使用方法:plugin_action('Qrcode/Qrcode/generate', ['123456']);其中,123456是二维码内容。
    如果需要生成图片存放,可以指定存放的路径plugin_action('Qrcode/Qrcode/generate', ['123456', APP_PATH.'test.png']);在模板中调用<img src="{:plugin_url('Qrcode/Qrcode/generate', ['text' => 123])}">也可以自己新建方法,然后调用public function qrcode($text = '')
    {
    plugin_action('Qrcode/Qrcode/generate', [$text]);
    } 查看全部
    QQ截图20170116231747.png

    使用方法:
    plugin_action('Qrcode/Qrcode/generate', ['123456']);
    其中,123456是二维码内容。
    如果需要生成图片存放,可以指定存放的路径
    plugin_action('Qrcode/Qrcode/generate', ['123456', APP_PATH.'test.png']);
    在模板中调用
    <img src="{:plugin_url('Qrcode/Qrcode/generate', ['text' => 123])}">
    也可以自己新建方法,然后调用
    public function qrcode($text = '')
    {
    plugin_action('Qrcode/Qrcode/generate', [$text]);
    }

    条形码生成插件

    dolphinphp 发表了文章 • 2 个评论 • 994 次浏览 • 2017-01-16 23:32 • 来自相关话题

    使用方法:plugin_action('Barcode/Barcode/generate', ['123']);其中,123是你要生成的内容。
     
    除了可以在插件配置中调整参数,还支持直接传参数设置,比如修改字体大小为12:plugin_action('Barcode/Barcode/generate', ['123', ['font_size' => 12]]);支持以下参数:
    file_type - 图片格式dpi - DPIthickness - 厚度scale - 比例rotation - 旋转font_size - 字体大小
     
    一般在模板调用<img src="{:plugin_url('Barcode/Barcode/generate', ['text' => 123])}">如果不能满足需求,也可以自己新建一个方法,然后调用plugin_action,比如:public function barcode($text = '')
    {
    plugin_action('Barcode/Barcode/generate', $text);
    }然后在需要显示的地方,调用barcode方法即可。 查看全部
    QQ截图20170116231727.png

    使用方法:
    plugin_action('Barcode/Barcode/generate', ['123']);
    其中,123是你要生成的内容。
     
    除了可以在插件配置中调整参数,还支持直接传参数设置,比如修改字体大小为12:
    plugin_action('Barcode/Barcode/generate', ['123', ['font_size' => 12]]);
    支持以下参数:
    • file_type - 图片格式
    • dpi - DPI
    • thickness - 厚度
    • scale - 比例
    • rotation - 旋转
    • font_size - 字体大小

     
    一般在模板调用
    <img src="{:plugin_url('Barcode/Barcode/generate', ['text' => 123])}">
    如果不能满足需求,也可以自己新建一个方法,然后调用plugin_action,比如:
    public function barcode($text = '')
    {
    plugin_action('Barcode/Barcode/generate', $text);
    }
    然后在需要显示的地方,调用barcode方法即可。

    关于海豚PHP已经开发好的插件、模块以及下一步计划

    dolphinphp 发表了文章 • 11 个评论 • 2453 次浏览 • 2017-01-10 11:56 • 来自相关话题

    近期很多朋友都在问海豚PHP会开发哪些插件、模块,这里列举一下,没有提到的插件,大家可以自己去做。即使是海豚PHP已经做了的插件或模块,大家也可以去做,毕竟做出来的东西,未必符合所有人的需求。
     
    年后计划会上线应用市场,供大家下载插件、模块,有兴趣的朋友也可以上传免费插件、模块,或者出售。
     
    关于模块,我们不打算做太多,想把这块留给各个开发者,因为不同需求,模块的功能也不一样。
     
    插件
    极验证(√已完成)生成二维码(√已完成)生成条形码(√已完成)Excel导入导出(√已完成)短信插件(√已完成)邮件插件(开发中)支付插件(√已完成)快递查询插件(开发中)IP查询插件(开发中)客服插件(√已完成) 模块微信模块(已完成,测试中)门户模块(框架自带,需自行完善) 数据包微信地区数据包(框架自带)全国地区数据包(制作中)IP地址数据包(制作中) 暂时就这么多,以后如果有计划开发新的东西,会第一时间通知大家。 关于框架的下一步[list=1]修复大家反馈的bug,尽快发布1.0正式版推出商业授权推出应用商店升级TP核心完善开发文档
     
    关于框架后续版本会增加的功能,这里就不列举了,但是大家在群里或者讨论区提出的功能建议,我们都已经记下来了,确定要实现的功能我们会逐一去实现。因为这些功能关系到框架日后的发展,我们也不想我们计划做的特色功能提前泄露给同行,大家也知道,现在社会竞争激烈,希望大家能理解。
     
    不过可以肯定的是,我们会不断的完善海豚PHP,让它更强大,朝着我们定下的:极简、极速、极致的目标前进。
     
    在这,衷心感谢每一位喜欢海豚PHP的朋友,也感谢所有为海豚PHP提出bug、建议、意见的朋友。我们会继续努力,为大家打造一个更称心顺手的开发框架。谢谢!! 查看全部
    近期很多朋友都在问海豚PHP会开发哪些插件、模块,这里列举一下,没有提到的插件,大家可以自己去做。即使是海豚PHP已经做了的插件或模块,大家也可以去做,毕竟做出来的东西,未必符合所有人的需求。
     
    年后计划会上线应用市场,供大家下载插件、模块,有兴趣的朋友也可以上传免费插件、模块,或者出售。
     
    关于模块,我们不打算做太多,想把这块留给各个开发者,因为不同需求,模块的功能也不一样。
     
    插件
    • 极验证(√已完成)
    • 生成二维码(√已完成)
    • 生成条形码(√已完成)
    • Excel导入导出(√已完成)
    • 短信插件(√已完成)
    • 邮件插件(开发中)
    • 支付插件(√已完成)
    • 快递查询插件(开发中)
    • IP查询插件(开发中)
    • 客服插件(√已完成)
     模块
    • 微信模块(已完成,测试中)
    • 门户模块(框架自带,需自行完善)
     数据包
    • 微信地区数据包(框架自带)
    • 全国地区数据包(制作中)
    • IP地址数据包(制作中)
     暂时就这么多,以后如果有计划开发新的东西,会第一时间通知大家。 关于框架的下一步[list=1]
  • 修复大家反馈的bug,尽快发布1.0正式版
  • 推出商业授权
  • 推出应用商店
  • 升级TP核心
  • 完善开发文档

  •  
    关于框架后续版本会增加的功能,这里就不列举了,但是大家在群里或者讨论区提出的功能建议,我们都已经记下来了,确定要实现的功能我们会逐一去实现。因为这些功能关系到框架日后的发展,我们也不想我们计划做的特色功能提前泄露给同行,大家也知道,现在社会竞争激烈,希望大家能理解。
     
    不过可以肯定的是,我们会不断的完善海豚PHP,让它更强大,朝着我们定下的:极简、极速、极致的目标前进。
     
    在这,衷心感谢每一位喜欢海豚PHP的朋友,也感谢所有为海豚PHP提出bug、建议、意见的朋友。我们会继续努力,为大家打造一个更称心顺手的开发框架。谢谢!!