applicationcommon.php

Classes

Tree

Functions

diffArrayValue()

diffArrayValue(array  $arr1 = array(), array  $arr2 = array()) : array

比较两个数组,合并且返回相应值

Parameters

array $arr1
array $arr2

Returns

array

isLogin()

isLogin() 

判断后台登录

getWechatObj()

getWechatObj(  $options = array(),   $mid = '') 

获取微信 SDK 调起被动接口对象

Parameters

$options

array

$mid

getWechatActiveObj()

getWechatActiveObj(  $mid = '') 

获取微信 SDK 调起主动对象

Parameters

$mid

uploadMedia()

uploadMedia(  $filePath = '',   $type = '') 

上传临时素材 上传临时素材,有效期为3天(认证后的订阅号可用) $author geeson 314835050@qq.com

Parameters

$filePath
$type

uploadForeverMedia()

uploadForeverMedia(  $filePath = '',   $type, boolean  $is_video = false, array  $video_info = array()) : boolean|array

上传永久素材(认证后的订阅号可用) 新增的永久素材也可以在公众平台官网素材管理模块中看到 $param string filePath 注意是物理路径

Parameters

$filePath
$type
boolean $is_video

是否为视频文件,默认为否

array $video_info

视频信息数组,非视频素材不需要提供 array('title'=>'视频标题','introduction'=>'描述')

Returns

boolean|array

replyText()

replyText(  $text = null) 

回复文本

Parameters

$text

string

replyImage()

replyImage(string  $media_id = '') 

回复图片

Parameters

string $media_id

replyMusic()

replyMusic(string  $title, string  $desc, string  $musicurl, string  $hgmusicurl = '', string  $thumbmediaid = '') 

设置回复音乐

Parameters

string $title
string $desc
string $musicurl
string $hgmusicurl
string $thumbmediaid

音乐图片缩略图的媒体id,非必须

replyVoice()

replyVoice(  $media_id = '') 

回复语音消息

Parameters

$media_id

replyVideo()

replyVideo(  $mediaid = '',   $title = '',   $description = '') 

Parameters

$mediaid
$title
$description

replyNews()

replyNews(  $new = array()) 

回复图文

Parameters

$new

loadAdApi()

loadAdApi(  $name = null,   $msg = array(),   $param = array()) 

与插件API通信

Parameters

$name

string 插件名称

$msg

array 微信发来消息数组

$param

sendGroupMassMessage()

sendGroupMassMessage(array  $data) : boolean|array

高级群发消息, 根据群组id群发图文消息(认证后的订阅号可用) 注意:视频需要在调用uploadMedia()方法后,再使用 uploadMpVideo() 方法生成, 然后获得的 mediaid 才能用于群发,且消息类型为 mpvideo 类型。

Parameters

array $data

消息结构 { "filter"=>array( "is_to_all"=>False, //是否群发给所有用户.True不用分组id,False需填写分组id "group_id"=>"2" //群发的分组id ), "msgtype"=>"mpvideo", // 在下面5种类型中选择对应的参数内容 // mpnews | voice | image | mpvideo => array( "media_id"=>"MediaId") // text => array ( "content" => "hello") }

Returns

boolean|array

get_qrcode()

get_qrcode(integer|string  $scene_id, integer  $type, integer  $expire = 604800) : \array('ticket'=>'qrcode字串','expire_seconds'=>604800,'url'=>'二维码图片解析后的地址')

创建二维码ticket

Parameters

integer|string $scene_id

自定义追踪id,临时二维码只能用数值型

integer $type

0:临时二维码;1:永久二维码(此时expire参数无效);2:永久二维码(此时expire参数无效)

integer $expire

临时二维码有效期,最大为604800秒

Returns

\array('ticket'=>'qrcode字串','expire_seconds'=>604800,'url'=>'二维码图片解析后的地址')

getQrRUL()

getQrRUL(string  $ticket) : string

获取二维码图片

Parameters

string $ticket

传入由get_qrcode方法生成的ticket参数

Returns

string —

url 返回http地址

getQrshortUrl()

getQrshortUrl(string  $long_url) : boolean|string

长链接转短链接接口

Parameters

string $long_url

传入要转换的长url

Returns

boolean|string —

url 成功则返回转换后的短url

getMpInfo()

getMpInfo(string  $mid = '', string  $type = 'mp', integer  $expier = 1800) : mixed

Parameters

string $mid

获取公众号|小程序信息

string $type

公众号为mp,小程序为miniapp,默认获取公众号信息

integer $expier

缓存有效期 默认1800S

Throws

\think\db\exception\DataNotFoundException
\think\db\exception\ModelNotFoundException
\think\exception\DbException

Returns

mixed

getMpMenu()

getMpMenu() : array

获取公众号菜单

Returns

array

deleteMpMenu()

deleteMpMenu() : boolean

删除公众号菜单

Returns

boolean

createMpMenu()

createMpMenu(array  $data = array()) 

创建菜单(认证后的订阅号可用)

Parameters

array $data

菜单数组数据 type可以选择为以下几种,其中5-8除了收到菜单事件以外,还会单独收到对应类型的信息。 1、click:点击推事件 2、view:跳转URL 3、scancode_push:扫码推事件 4、scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框 5、pic_sysphoto:弹出系统拍照发图 6、pic_photo_or_album:弹出拍照或者相册发图 7、pic_weixin:弹出微信相册发图器 8、location_select:弹出地理位置选择器

getMpType()

getMpType(  $type = '') : string

设置、获取公众号类型

Parameters

$type

Returns

string

getAddonInfo()

getAddonInfo(  $addonName = '',   $mid = '') : array|boolean|mixed

获取应用配置信息

Parameters

$addonName
$mid

Returns

array|boolean|mixed

getAddonLogo()

getAddonLogo(string  $name = '',   $type = 'mp') 

Parameters

string $name

应用标识

$type

pr()

pr(  $data) 

Parameters

$data

getAddonConfigByFile()

getAddonConfigByFile(string  $name = '', string  $key = '') : boolean|string

获取应用配置信息

Parameters

string $name

应用标识

string $key

需获取配置项的键

Returns

boolean|string

getAdmin()

getAdmin() 

addonUrl()

addonUrl(  $url = '',   $vars = '',   $suffix = true,   $domain = false) 

扩展应用 URL 生成

Parameters

$url

string 应用url/应用名称/控制器/方法

$vars
$suffix
$domain

hook()

hook(  $name = '',   $params = array()) 

Parameters

$name
$params

getOrSetOpenid()

getOrSetOpenid(  $openid = '') 

Parameters

$openid

getMemberInfo()

getMemberInfo(string  $openid = '',   $field = array()) : array|false|\PDOStatement|string|\think\Model

Parameters

string $openid
$field

Returns

array|false|\PDOStatement|string|\think\Model

getFriendInfoForApi()

getFriendInfoForApi(  $openid = '') 

获取粉丝信息(通过 OPENID 获取)

Parameters

$openid

srting return array

getHostDomain()

getHostDomain() : string

获取当前域名

Returns

string

getForeverMaterial()

getForeverMaterial(string  $type, integer  $offset, integer  $count) : boolean|array

获取永久素材列表(认证后的订阅号可用)

Parameters

string $type

素材的类型,图片(image)、视频(video)、语音 (voice)、图文(news)

integer $offset

全部素材的偏移位置,0表示从第一个素材

integer $count

返回素材的数量

Returns

boolean|array —

返回数组格式: array( 'total_count'=>0, //该类型的素材的总数 'item_count'=>0, //本次调用获取的素材的数量 'item'=>array() //素材列表数组,内容定义请参考官方文档 )

getRandChar()

getRandChar(  $length) : \$str

生成随机字符串

Parameters

$length

int 字符串长度

Returns

\$str —

string 随机字符串

array_key_case()

array_key_case(  $array, \[type]  $case = CASE_LOWER) : \[type]

把多维数组的键值改为小写或大写 改变原数组

Parameters

$array
\[type] $case

小写 CASE_LOWER 大写 CASE_UPPER

Returns

\[type] —

没有返回值

formatTime()

formatTime(  $the_time) 

Parameters

$the_time

isMobileNumber()

isMobileNumber(INT  $mobile) 

验证手机号是否正确

Parameters

INT $mobile

validateEmail()

validateEmail(  $email) 

Parameters

$email

strExplode()

strExplode(  $str) 

Parameters

$str

getDistance()

getDistance(  $lat1,   $lon1,   $lat2,   $lon2,   $radius = 6378.137) : float

求两个已知经纬度之间的距离,单位为千米

Parameters

$lat1
$lon1
$lat2
$lon2
$radius

Returns

float —

距离,单位千米

randomFloat()

randomFloat(  $min,   $max = 10) 

Parameters

$min
$max

httpGet()

httpGet(  $url) 

Parameters

$url

httpPost()

httpPost(  $url,   $data,   $curlFile = false) 

Parameters

$url
$data
$curlFile

encrypt()

encrypt(  $string,   $operation,   $key = '') 

Parameters

$string
$operation
$key

ajaxReturn()

ajaxReturn(  $data = array(),   $status = 1,   $msg = '') 

Parameters

$data
$status
$msg

ajaxMsg()

ajaxMsg(  $status = 1,   $msg = '') 

Parameters

$status
$msg

object_array()

object_array(  $array) 

Parameters

$array

jsonToArray()

jsonToArray(  $json) 

Parameters

$json

tree_to_list()

tree_to_list(array  $tree, string  $child = 'child', string  $order = 'id', array  $list = array()) : array

将list_to_tree的树还原成列表

Parameters

array $tree

原来的树

string $child

孩子节点的键

string $order

排序显示的键,一般是主键 升序排列

array $list

过渡用的中间数组,

Returns

array —

返回排过序的列表数组

list_sort_by()

list_sort_by(array  $list, string  $field, array  $sortby = 'asc') : array

对查询结果集进行排序

Parameters

array $list

查询结果

string $field

排序的字段名

array $sortby

排序类型 asc正向排序 desc逆向排序 nat自然排序

Returns

array

xml_to_array()

xml_to_array(  $xml) : array

xml转换 array

Parameters

$xml

Returns

array

array_to_xml()

array_to_xml(  $array) : string

数组转XML

Parameters

$array

Throws

\think\Exception

Returns

string

list_search()

list_search(array  $list, mixed  $condition) : array

在数据列表中搜索

Parameters

array $list

数据列表

mixed $condition

查询条件 支持 array('name'=>$value) 或者 name=$value

Returns

array

GetRreeByMpMenu()

GetRreeByMpMenu(  $list,   $id = 'id',   $pid = 'pid',   $son = 'sub') 

Parameters

$list
$id
$pid
$son

moreArrayUnique()

moreArrayUnique(  $arr = array()) 

Parameters

$arr

isMobile()

isMobile() 

my_nohtml_mbsubstr()

my_nohtml_mbsubstr(  $str,   $start,   $end = 50,   $coded = 'utf-8') 

Parameters

$str
$start
$end
$coded

_trim()

_trim(  $str) 

Parameters

$str

executeSql()

executeSql(  $sqlPath) 

sql执行

Parameters

$sqlPath

SQL文件

get_server_ip()

get_server_ip() 

createQrcode()

createQrcode(string  $data = '', boolean  $file = false, string  $level = 'L', integer  $size = 4) 

Parameters

string $data
boolean $file
string $level
integer $size

rand_string()

rand_string(string  $len = 6, string  $type = '', string  $addChars = '') : string

+---------------------------------------------------------- 产生随机字串,可用来自动生成密码 默认长度6位 字母和数字混合 +----------------------------------------------------------

Parameters

string $len

长度

string $type

字串类型 0 字母 1 数字 其它 混合

string $addChars

额外字符 +----------------------------------------------------------

Returns

string —

+----------------------------------------------------------

getStrings()

getStrings(  $array = array()) 

Parameters

$array

getHttpType()

getHttpType() : string

获取 HTTPS协议类型

Returns

string

getSetting()

getSetting(integer  $mid, string  $name = '',   $cate = '') : array|false

//

Parameters

integer $mid

公众号标识|小程序

string $name

配置项名称

$cate

Returns

array|false

getMember()

getMember(  $member_id = '') : boolean|mixed

Parameters

$member_id

Returns

boolean|mixed

wxPayByJsApi()

wxPayByJsApi(  $parment_id = '', string  $goods_tag = '', string  $trade_type = 'JSAPI') : boolean|\json数据,可直接填入js函数作为参数

微信支付函数

Parameters

$parment_id

定单id

string $goods_tag

订单优惠标记

string $trade_type

交易类型

Returns

boolean|\json数据,可直接填入js函数作为参数

wxPayRefund()

wxPayRefund(  $parment_id, null  $total_fee = null, null  $refund_fee = null) : array|\成功时返回,其他抛异常

微信支付-退款

Parameters

$parment_id
null $total_fee

不能有小数点

null $refund_fee

不能有小数点

Throws

\WxPayException

Returns

array|\成功时返回,其他抛异常

WxPayRefundQuery()

WxPayRefundQuery(  $parment_id) : array|\成功时返回,其他抛异常

微信支付-退款查询

Parameters

$parment_id

Throws

\WxPayException

Returns

array|\成功时返回,其他抛异常

queryOrder()

queryOrder(string  $order_number = '') : array

Parameters

string $order_number

订单号

Returns

array —

errCode ok: 成功 -1:失败

wxpayNotify()

wxpayNotify() : boolean|\xml

微信支付回调

Throws

\think\Exception

Returns

boolean|\xml

unClient()

unClient(  $mid = '') 

Parameters

$mid

sendRedpack()

sendRedpack(string  $mid = '', array  $param = array(),   $addon = '') : array

现金红包 微信规定红包最小金额为1元 本函数输参数金额为元

Parameters

string $mid
array $param
$addon

Returns

array

setWxpayConfig()

setWxpayConfig(  $mid) : boolean

设置微信支付配置

Parameters

$mid

公众号标识

Returns

boolean

url()

url(string  $url = '', string|array  $vars = '', boolean|string  $suffix = true, boolean|string  $domain = false) : string

重写Url生成

Parameters

string $url

路由地址

string|array $vars

变量

boolean|string $suffix

生成的URL后缀

boolean|string $domain

域名

Returns

string

singleSmsByTx()

singleSmsByTx(  $mid = '', string  $phoneNumber = '', string  $msg = '', integer  $type = '0', string  $nationCode = '86', string  $extend = "", string  $ext = "") : string

普通单发,明确指定内容,如果有多个签名,请在内容中以【】的方式添加到信息内容中,否则系统将使用默认签名

Parameters

$mid
string $phoneNumber

不带国家码的手机号

string $msg

信息内容,必须与申请的模板格式一致,否则将返回错误

integer $type

短信类型,0 为普通短信,1 营销短信

string $nationCode

国家码,如 86 为中国

string $extend

扩展码,可填空串

string $ext

服务端原样返回的参数,可填空串

Returns

string —

json string { "result": xxxxx, "errmsg": "xxxxxx" ... },被省略的内容参见协议文档

singleSmsByAli()

singleSmsByAli(  $mid,   $PhoneNumbers,   $SignName,   $TemplateCode, array  $TemplateParam = array(), string  $OutId = '', string  $SmsUpExtendCode = '') : boolean|mixed|\stdClass|string

Parameters

$mid
$PhoneNumbers

必填: 短信接收号码

$SignName

必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign

$TemplateCode

必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template

array $TemplateParam

必填: 设置模板参数, 假如模板中存在变量需要替换则为必填项

string $OutId

可选: 设置发送短信流水号

string $SmsUpExtendCode

可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段

Returns

boolean|mixed|\stdClass|string

qiniuUpload()

qiniuUpload(string  $mid = '', string  $file = '', string  $key = '') : array

Geeson 314835050@qq.com

Parameters

string $mid

公众号标识

string $file

上传文件物理路径

string $key

保护七牛中的文件名

Returns

array

dowloadImage()

dowloadImage(  $url,   $save_dir = './',   $filename = '',   $type) 

Parameters

$url
$save_dir
$filename
$type

getAppAndWindvaneByApi()

getAppAndWindvaneByApi() : boolean|mixed

向官方获取最新上线应用与风向标

Returns

boolean|mixed

sendCustomMessage()

sendCustomMessage(array  $data = array()) : boolean|array

Parameters

array $data

消息结构{"touser":"OPENID","msgtype":"news","news":{...}}

Returns

boolean|array

getMedia()

getMedia(string  $media_id, boolean  $is_video = false) : \raw

获取临时素材(认证后的订阅号可用)

Parameters

string $media_id

媒体文件id

boolean $is_video

是否为视频文件,默认为否

Returns

\raw —

data

getWxPayUrl()

getWxPayUrl(array  $mid = '', array  $param = array()) : string

获取微信支付页面跳转(授权目录)

Parameters

array $mid

公众号 ID 不能为空

array $param

url 携带参数

Returns

string

setMpKeywordByNews()

setMpKeywordByNews(  $keyword = '',   $title = '',   $picurl = '',   $desc = '',   $link = '') 

Parameters

$keyword
$title
$picurl
$desc
$link

delKeywordReply()

delKeywordReply(string  $reply_id = '') : boolean

【删除关键词回复内容】

Parameters

string $reply_id

Throws

\think\db\exception\DataNotFoundException
\think\db\exception\ModelNotFoundException
\think\exception\DbException

Returns

boolean

wxApiResultErrorCode()

wxApiResultErrorCode(  $code) : boolean|mixed

通过API状态码返回相应信息

Parameters

$code

Returns

boolean|mixed

getMimiappInfo()

getMimiappInfo(string  $mid = '', integer  $expier = 1800) : array|mixed|null|\PDOStatement|string|\think\Model

//获取小程序信息也可以使用 getMpInfo 这个函数

Parameters

string $mid

小程序标识

integer $expier

缓存时间

Throws

\think\db\exception\DataNotFoundException
\think\db\exception\ModelNotFoundException
\think\exception\DbException

Returns

array|mixed|null|\PDOStatement|string|\think\Model

getMiniProgramObj()

getMiniProgramObj(array  $options = array()) : \miniprogram\MiniProgram

Parameters

array $options

Throws

\think\db\exception\DataNotFoundException
\think\db\exception\ModelNotFoundException
\think\exception\DbException

Returns

\miniprogram\MiniProgram

createDir()

createDir(  $path) : boolean

Parameters

$path

Returns

boolean

getThumb()

getThumb(  $file_path, integer  $type = 1) : mixed|null|string

Parameters

$file_path
integer $type

1:返回缩略图,2:缩小正方图,3:原图

Throws

\think\db\exception\DataNotFoundException
\think\db\exception\ModelNotFoundException
\think\exception\DbException

Returns

mixed|null|string

sendTemplateMessage()

sendTemplateMessage(array  $data = array()) : boolean|array

发送模板消息

Parameters

array $data

消息结构 { "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url":"http://weixin.qq.com/download", "topcolor":"#FF0000", "data":{ "参数名1": { "value":"参数", "color":"#173177" //参数颜色 }, "Date":{ "value":"06月07日 19时24分", "color":"#173177" }, "CardNumber":{ "value":"0426", "color":"#173177" }, "Type":{ "value":"消费", "color":"#173177" } } }

Returns

boolean|array

getRuleTypeName()

getRuleTypeName(  $type) 

Parameters

$type