guolei19850528/laravel-chanjet
最新稳定版本:v1.0.0
Composer 安装命令:
composer require guolei19850528/laravel-chanjet
包简介
Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。
README 文档
README
扩展介绍
Laravel Chanjet 是一个专为 Laravel 框架设计的畅捷通智慧房管系统 API 服务扩展,提供便捷的接口与畅捷通智慧房管系统进行交互。
功能特性
- 支持畅捷通智慧房管系统 SOAP Web 服务调用
- 自动处理 XML 与数组之间的转换
- 支持多应用配置
- 灵活的响应处理机制
- 简洁易用的 API 接口
- 内置请求超时与错误处理
安装方法
使用 Composer 安装扩展:
composer require guolei19850528/laravel-chanjet
配置说明
发布配置文件
将扩展的配置文件发布到项目中:
php artisan vendor:publish --provider="Guolei19850528\LaravelChanjet\ChanjetServiceProvider"
发布后,配置文件将位于 config/guolei19850528-laravel-chanjet-config.php。
配置参数说明
编辑配置文件,设置畅捷通智慧房管系统的连接参数:
<?php
return [
'zkhb' => [
'your app' => [
'base_url' => env('ZKHB_BASE_URL', 'http://your-zkhb-server.com'),
],
],
];
主要配置项说明
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| base_url | string | http://your-zkhb-server.com | 畅捷通智慧房管系统 API 基础地址 |
环境变量配置
建议在 .env 文件中设置敏感配置信息:
ZKHB_BASE_URL=http://your-zkhb-server.com
使用方法
基本使用
在控制器或服务中使用畅捷通智慧房管 API:
<?php
namespace App\Http\Controllers;
use Guolei19850528\Laravel\Chanjet\Zkhb\Api;
class ZkhbController extends Controller
{
public function getChargeBillList()
{
// 创建 API 实例
$api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
// 调用 API 获取实际收费账单项目列表
$response = $api->queryActualChargeBillItemList(
topColumn: 'top 10', // 获取前10条记录
condition: ' and cml.ActualPayMoney > 0', // 查询条件
orderBy: ' order by cml.ChargeTime desc' // 排序条件
);
// 处理响应
return response()->json($response);
}
}
自定义响应处理
<?php
namespace App\Http\Controllers;
use Guolei19850528\Laravel\Chanjet\Zkhb\Api;
class ZkhbController extends Controller
{
public function getChargeBillList()
{
$api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
try {
$response = $api->queryActualChargeBillItemList(
topColumn: 'top 10',
condition: ' and cml.ActualPayMoney > 0',
responseHandler: function ($response) {
// 自定义响应处理
if ($response->ok()) {
return json_decode(json_encode($response->json()), true);
}
throw new \Exception('API 请求失败: ' . $response->status());
}
);
return response()->json([
'success' => true,
'data' => $response
]);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => $e->getMessage()
], 500);
}
}
}
直接调用 GetDataSet 方法
<?php
namespace App\Http\Controllers;
use Guolei19850528\Laravel\Chanjet\Zkhb\Api;
class ZkhbController extends Controller
{
public function customQuery()
{
$api = new Api(config('guolei19850528-laravel-chanjet-config.zkhb.default.base_url'));
// 构建自定义 SQL 查询
$sql = "select * from EstateDetail where EstateID = '123'";
// 直接调用 opGetDataSet 方法
$response = $api->opGetDataSet(
data: ['sql' => $sql],
filterKey: 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.EstateDetail'
);
return response()->json($response);
}
}
API 文档
Api 类
构造函数
public function __construct(string $baseUrl = '')
$baseUrl: API 基础 URL(可选)
setBaseUrl 方法
public function setBaseUrl(string $baseUrl): Api
$baseUrl: API 基础 URL- 返回值: 当前实例(支持链式调用)
getBaseUrl 方法
public function getBaseUrl(): string
- 返回值: 格式化后的 API 基础 URL(自动去除末尾斜杠)
opGetDataSet 方法
public function opGetDataSet(
array|null $data = [],
string|null $filterKey = 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.Table',
string|null $url = '/estate/webService/ForcelandEstateService.asmx?op={op}',
array|null $urlParameters = [],
array|null $options = [],
\Closure|null $responseHandler = null
): array|Collection|null
$data: 请求数据(可选)$filterKey: 响应数据过滤键(可选)$url: API 路径(可选)$urlParameters: URL 参数(可选)$options: HTTP 请求选项(可选)$responseHandler: 响应处理回调(可选)- 返回值: 处理后的响应数据
queryActualChargeBillItemList 方法
public function queryActualChargeBillItemList(
string|null $topColumn = null,
string|null $condition = null,
string|null $orderBy = ' order by cfi.ChargeFeeItemID desc',
string $filterKey = 'soap:Body.GetDataSetResponse.GetDataSetResult.diffgr:diffgram.NewDataSet.Table',
string|null $url = '/estate/webService/ForcelandEstateService.asmx?op={op}',
array|null $urlParameters = [],
array|null $options = [],
\Closure|null $responseHandler = null
): array|null
$topColumn: 查询结果数量限制(可选)$condition: 查询条件(可选)$orderBy: 排序条件(可选,默认为按 ChargeFeeItemID 降序)$filterKey: 响应数据过滤键(可选)$url: API 路径(可选)$urlParameters: URL 参数(可选)$options: HTTP 请求选项(可选)$responseHandler: 响应处理回调(可选)- 返回值: 查询结果数组
许可证
本扩展采用 MIT 许可证开源。
作者信息
- 作者: 郭磊
- 联系邮箱: 174000902@qq.com
- GitHub: https://gitee.com/guolei19850528/laravel-chanjet
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-05