PHPackages                             szjcomo/utils - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. szjcomo/utils

ActiveProject

szjcomo/utils
=============

思智捷管理系统工具库

v1.8.7(6y ago)1100PHP

Since Feb 23Pushed 6y ago1 watchersCompare

[ Source](https://github.com/luo200619/utils)[ Packagist](https://packagist.org/packages/szjcomo/utils)[ RSS](/packages/szjcomo-utils/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)DependenciesVersions (25)Used By (0)

思智捷管理系统工具类
==========

[](#思智捷管理系统工具类)

##### 思智捷管理系统文章模块(版本要求2.3+)

[](#思智捷管理系统文章模块版本要求23)

### Arcitle类(szj\\utils\\Arcitle)

[](#arcitle类szjutilsarcitle)

```
文章搜索
seachArcitle($keywords = '',$options = [])

```

参数名称类型默认值描述keywordsstring''文章标题关键字optionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段 pint1当前页 pagelistint15每页显示条数```
默认分页样式搜索
seachDefaultArcitle($keywords = '',$options = [])

```

参数名称类型默认值描述keywordsstring''文章标题关键字optionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段 pagelistint15每页显示条数```
获取分类下的所有文章列表
getCateArcitleList($cid = 0,$options = [])

```

参数名称类型默认值描述cidint0文章分类cidoptionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段 pint1当前页 pagelistint15每页显示条件```
获取分类下的所有文章列表(自带思智捷管理系统分页功能)
getDefaultCateArcitleList($cid = 0,$options = [])

```

参数名称类型默认值描述cidint0文章分类cidoptionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段 pagelistint15每页显示条件```
获取文章分类的是单页的文章详情
getSingleCidArcitle($cid = 0,$options = [])

```

参数名称类型默认值描述cidint0文章分类cidoptionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段```
获取文章详情
getArcitleInfo($id = 0,$options = [])

```

参数名称类型默认值描述idint0文章idoptionsarray空其它参数 fieldstringtrue需要的字段，默认所有字段```
获取所有需要首页显示的文章
getHomeAllArcitle($options = [])

```

参数名称类型默认值描述optionsarray空其它参数 wherearray空其它条件 orderstringsort\_order,id desc排序 fieldstringtrue需要的字段，默认所有字段 limitmixed\[0,10\]获取条数```
获取当前文章的一篇和下一篇
getArcitleNextPrev($id = 0,$options = [])

```

参数名称类型默认值描述idint0文章idoptionsarray空其它参数 wherearray空其它条件 fieldstringtrue需要的字段，默认所有字段### ArcitleCategory类(szj\\utils\\ArcitleCategory)

[](#arcitlecategory类szjutilsarcitlecategory)

```
获取当前文章分类的所有父节点列表
getRecursionParentCategory($cid = 0,$options = [])

```

参数名称类型默认值描述cidint0文章分类cidoptionsarray空其它参数 fieldstringtrue需要的字段，默认所有字段```
递归获取所有的文章分类下的某分类下所有子节点
getRecursionChildCategory($pid = 0,$options = [])

```

参数名称类型默认值描述pidint0父级分类IDoptionsarray空其它参数 fieldstringtrue需要的字段，默认所有字段```
获取文章分类单个分类的详情
getCategoryInfo($cid = 0,$options = [])

```

参数名称类型默认值描述cidint0文章分类cidoptionsarray空其它参数 fieldstringtrue需要的字段，默认所有字段```
获取文章所有分类列表
getCategory($options = [])

```

参数名称类型默认值描述optionsarray空其它参数 wherearray空其它条件 fieldstringtrue需要的字段，默认所有字段 limitmixed\[0,15\]获取条数 orderstringsort\_order排序```
获取所有导航文章分类
getNavCategory($options = [])

```

参数名称类型默认值描述optionsarray空其它参数 wherearray\['is\_nav'=&gt;1,'is\_show'=&gt;1\]其它条件 fieldstringtrue需要的字段，默认所有字段 limitmixed\[0,15\]获取条数 orderstringsort\_order排序```
获取文章分类是单页的分类列表
getSingleCategory($options = [])

```

参数名称类型默认值描述optionsarray空其它参数 wherearray\['cate\_type'=&gt;1\]其它条件 fieldstringtrue需要的字段，默认所有字段 limitmixed\[0,15\]获取条数 orderstringsort\_order排序```
获取文章分类是列表的分类列表
getListCategory($options = [])

```

参数名称类型默认值描述optionsarray空其它参数 wherearray\['cate\_type'=&gt;0\]其它条件 fieldstringtrue需要的字段，默认所有字段 limitmixed\[0,15\]获取条数 orderstringsort\_order排序### Baidu类（szj\\utils\\Baidu）

[](#baidu类szjutilsbaidu)

```
构造函数
construct($config = array())

```

参数名称类型默认值说明$configarray空传入配置 set\_userimg\_namestring时间戳.jpg用户头像保存名称 set\_userimg\_pathstring./用户头像保存路径 appidstring''百度appid secretstring''百度secret```
获取身份证识别后的结果
IdCard($imgurl = '',$userimg = false,$detect = true,$isside = true)

```

参数名称类型默认值说明$imgurlstring空身份证图片路径$userimgboolfalse是否需要用户头像$detectbooltrue是否判断身份证真伪$issidebooltrue正面true 反面false```
通用文字识别器
CommonOrc($imgurl = '')

```

参数名称类型默认值说明$imgurlstring空图片路径```
户口本个人页识别器
HouseReg($imgurl = '',$options = [])

```

参数名称类型默认值说明$imgurlstring空户口本个人页图片路径$optionsarray空其它参数 tidstring232a744776294938469b3c442dcecac0无 cidint1无```
户口本首页信息识别
HouseIndex($imgurl = '',$options = [])

```

参数名称类型默认值说明$imgurlstring空户口本首页图片路径$optionsarray空其它参数 tidstring1bc64f846180ac6d768a8a6dfca1151c无 cidint0无```
广东省居住证信息识别
gdResideCard($imgurl = '',$options = [])

```

参数名称类型默认值说明$imgurlstring空居住证图片路径$optionsarray空其它参数 tidstringe678de49ef660977cd536cfd4522cc43无 cidint0无```
广东省河源市社保卡识别
hyEnsure($imgurl = '',$options = [])

```

参数名称类型默认值说明$imgurlstring空社保卡图片路径$optionsarray空其它参数 tidstring168e2d1e1f28528ae550e40191324de8无 cidint0无### Excel类（szj\\utils\\Excel）

[](#excel类szjutilsexcel)

```
构造函数
construct($conf = array())

```

参数名称类型默认值说明$confarray空传入配置 horizontalint\\PHPExcel\_Style\_Alignment::HORIZONTAL\_CENTER默认水平居中 verticalint\\PHPExcel\_Style\_Alignment::VERTICAL\_CENTER默认垂直居中 fontNamestring宋体字体名称 fontSizeint12字体大小 beforeExportfunctionnull导出前回调函数 defaultSheetTitlestringdemo默认导出excel表名称```
导出excel数据
export($data = [],$dataTitle = [],$save = '',$type = 'Excel5')

```

参数名称类型默认值说明$dataarray空需要导出的数据$dataTitlearray空表头数组$savestring空保存的文件(如果只是浏览器导出,无需设置)$typestringExcel5导出格式设置```
从excel中导入数据
import($fileName = '',$defaultIndex = 0)

```

参数名称类型默认值说明$fileNamestring空需要导入的excel文件名称$defaultIndexint0默认导入是第一张表### Mailer类 （szj\\utils\\Mailer）

[](#mailer类-szjutilsmailer)

### 一、简单示例

[](#一简单示例)

```
$Mailer = new \szj\utils\Mailer;
$title    = '测试发送';
$content  = '这是一封测试邮件';
$username = 'xxxxxx';//邮箱账号
$password = 'xxxxxx';//邮箱密码
$tomail = 'xxxxxxxx';//收件人账号 可以是数组或字符串(,)号分割
$result = $Mailer->send($title,$content,$username,$password,$tomail);
var_dump($result);
```

### 二、链式调用

[](#二链式调用)

```
$Mailer = new \szj\utils\Mailer;
$title    = '测试发送';
$content  = '这是一封测试邮件';
$username = 'xxxxxx';//邮箱账号
$password = 'xxxxxx';//邮箱密码```php
$tomail   = 'xxxxxxxx';//收件人账号 可以是数组或字符串(,)号分割
$result = $Mailer->setTitle($title)->setContent($content)->setAccount($username,$password)->setAddress($tomail)->send();
var_dump($result);
```

### 三、构造函数传参调用

[](#三构造函数传参调用)

```
$title    = '测试发送';
$content  = '这是一封测试邮件';
$username = 'xxxxxx';//邮箱账号
$password = 'xxxxxx';//邮箱密码
$tomail   = 'xxxxxxxx';//收件人账号 可以是数组或字符串(,)号分割
$config = [
	'Subject'=>$title,
	'Body'=>$content,
	'Username'=>$username,
	'Password'=>$password,
	'addAddress'=>$tomail,
	'FromName'=>'como'//发件人昵称
];
$Mailer = new \szj\utils\Mailer($config);
$result = $Mailer->send();
var_dump($result);
```

### Map类 （szj\\utils\\Map）

[](#map类-szjutilsmap)

### 构造函数

[](#构造函数)

#### 1、无参的构造函数

[](#1无参的构造函数)

```
$map = new \szj\utils\Map;
```

#### 2、有参数的构造函数

[](#2有参数的构造函数)

```
$config = ['ak'=>'xxxxxxxxxxx'];
$map = new \szj\utils\Map($config);
```

### 一、地址转换成坐标点

[](#一地址转换成坐标点)

```
$result = $map->GetLngLat('广东省河源市源城区永福农贸中心市场');
print_r($result);
```

##### GetLngLat($address,$city = '',$ak = '')

[](#getlnglataddresscity--ak--)

参数类型是否必须说明$addressstring是需要转换的地址$citystring否地址所在的城市$akstring否百度地图的ak值,如果构造函数传了ak参数，这里可以不传### 二、判断一个坐标点是否在一个区域内

[](#二判断一个坐标点是否在一个区域内)

```
$data = ['lng'=>114.686561,'lat'=>23.767418];
$points = [
	['lng'=>114.686561,'lat'=>23.767418],
	['lng'=>114.686561,'lat'=>23.767418],
	['lng'=>114.686561,'lat'=>23.767418],
	['lng'=>114.686561,'lat'=>23.767418]
];
$bool = $map->IsPoint($data,$points);
var_dump($bool);//如何在区域内 true/false
```

##### IsPoint($point, $pts)

[](#ispointpoint-pts)

参数类型是否必须说明$pointarray是待查询的坐标点$ptsarray是区域坐标点### 二、计算两点或多点之间的距离（可以是一对多或多对多）

[](#二计算两点或多点之间的距离可以是一对多或多对多)

```
$orgStr = '23.766225,114.69726|23.743624,114.69854';
$destStr = '23.765124,114.690214|23.650109,114.666172|23.743624,114.69854';
$result = $map->Distance($orgStr,$destStr);
print_r($result);
```

##### Distance($org,$dest,$ak = '')

[](#distanceorgdestak--)

参数类型是否必须说明$orgstring/array是起始坐标点（建议用string）$deststring/array是结束坐标点(建议用string)$akstring否百度地图的ak值,如果构造函数传了ak参数，这里可以不传### 微信功能类

[](#微信功能类)

#### 一、微信公众号接口类（szj\\utils\\wxSdk\\WechatSignal）

[](#一微信公众号接口类szjutilswxsdkwechatsignal)

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | checkSignature | 1 | 微信开发者接口通信验证 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $token | string | 是 | 微信验证的token |

#### 二、微信支付接口类(szj\\utils\\wxSdk\\WechatPay)

[](#二微信支付接口类szjutilswxsdkwechatpay)

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | UnifiedOrder | 1 | 支付统一下单接口 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | body| string | 是 | 商品信息描述 | | mch\_id| string | 是 | 商户ID号 | | openid| string | 是 | 微信用户openid | | out\_trade\_no| string | 是 | 订单号 | | total\_fee| int | 是 | 订单金额（分） | | trade\_type| string | 是 | 选值(JSAPI/NATIVE) | | key| string | 是 | 支付密钥 | | scene\_info| array | 否 | 支付场景说明(自定义数组) | | notify\_url| string | 否 | 默认值 (域名+index.php/index/Wechat/wxcallback | | time\_start| string | 否 | 当前时间 | | time\_expire| string | 否 | 当前时间 + 2小时 |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | CloseOrder | 1 | 关闭订单接口 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | mch\_id| string | 是 | 商户ID号 | | out\_trade\_no| string | 是 | 订单号 |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | QueryOrder | 1 | 订单查询接口 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | mch\_id| string | 是 | 商户ID号 | | out\_trade\_no| string | 是 | 订单号 |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | BillOrder | 1 | 下载对账单(该功能不稳定 微信有时有 有时无的) |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | mch\_id| string | 是 | 商户ID号 | | bill\_date| string | 是 | 具体日期(20xx-xx-xx) |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | RefundOrder | 3 | 申请退款 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | mch\_id| string | 是 | 商户ID号 | | out\_trade\_no| string | 是 | 订单号 | | total\_fee| int | 是 | 订单金额(分) | | refund\_fee| int | 是 | 退款金额(分) | | notify\_url| string | 否 | 默认不接收回调 | | out\_refund\_no| string | 否 | 退款单号 | | $cert | string | 是 | 商户api证书 | | $key | string | 是 | 商户api证书 |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | RefundQuery | 1 | 退款信息查询 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | mch\_id| string | 是 | 商户ID号 | | out\_trade\_no| string | 是 | 订单号 |

---

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | JsPayOptions | 1 | 微信前端JS支付参数获取 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $data | array | 是 | 参数，具体信息查看下方 | | appid| string | 是 | appid | | return\_code| string | 是 | 下单时返回的内容 | | return\_msg| string | 是 | 下单时返回的内容 | | result\_code| string | 是 | 下单时返回的内容 | | prepay\_id| string | 是 | 下单时返回的内容 | | key| string | 是 | 支付密钥 |

---

#### 一、微信公众号接口类（szj\\utils\\wxSdk\\WechatMsg）

[](#一微信公众号接口类szjutilswxsdkwechatmsg)

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | sendMsgCustom | 3 | 微信发送消息(48小时内有效) |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $openid | string | 是 | 用户的wxid | | $type | string | 是 | 消息类型选值为(text/image/voice/mpnews/video/music/news/msgmenu) | | $content | string/array | 是 | 消息内容（数组请参考微信官方参数） |

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | QrcodeTemp | 1 | 生成临时二维码 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $content | string/int/array | 是 | 二维码内容 | | $defaultTime | string | 否 | 默认1天后过期 |

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | QrcodeLong | 1 | 生成二维码 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $content | string/int/array | 是 | 二维码内容 |

---

#### 一、微信公众号接口类（szj\\utils\\wxSdk\\WechatJssdk）

[](#一微信公众号接口类szjutilswxsdkwechatjssdk)

> | 方法名称 | 参数个数 | 功能描述 | | ------------ | ------------ | ------------ | | getSign | 1 | 生成二维码 |

> | 参数 | 类型 | 是否必须 | 说明 | | ------------ | ------------ | ------------ | ------------ | | $config | array | 是 | 参数配置 | | appid | string | 是 | 公众号appid | | url | string | 否 | 调用地址 |

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Recently: every ~11 days

Total

24

Last Release

2515d ago

Major Versions

v0.9 → v1.02019-03-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ef6302d78be1eee555959fb1e9eb43578ad83603c266b0be073ada7fe015528?d=identicon)[szjcomo](/maintainers/szjcomo)

---

Top Contributors

[![luo200619](https://avatars.githubusercontent.com/u/20290887?v=4)](https://github.com/luo200619 "luo200619 (26 commits)")

### Embed Badge

![Health badge](/badges/szjcomo-utils/health.svg)

```
[![Health](https://phpackages.com/badges/szjcomo-utils/health.svg)](https://phpackages.com/packages/szjcomo-utils)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
