0%

weiphp扩展的方法列表

整理这部分内容的原因

  1. weiphp的公共函数与微信公众平台接口关系紧密,封装好后基本不需要二次更改。
  2. 随着项目开发增加的,weiphp团队中人员对公共函数不熟悉,导致函数功能重复,导致函数并不是公共的。
  3. 我司新增人员对weiphp不了解
    针对以上几点,整理这份功能函数列表,让大家更快的找到合适的方法适用,并避免产生新增重复功能方法,新增方法无法复用在其他地方的问题。

列表

HOME模块

  1. tongji($addon) > 在橡果客户的版本中已经默认禁用,需要参考的用户可以参考下。这里不作说明

COMMON模块

继承自onethink

  1. is_login() 判断前台用户是否存在,通过判断session中是否存在keyuser_auth的值,如果存在且用户签名和session中存在的签名相同时返回用户的id,否则返回0
  2. is_administrator($uid=null) 判断传入的$uid是否为管理员,当$uidnull时,判断当前登录的用户id,返回值为布尔值 true表示是管理员 false表示非管理员
  3. str2arr($str,$glue=',')explode相似,只是参数位置调换了下,将分隔符放在了第二位,要分隔的字符串放在了第一位。
  4. arr2str($arr,$glue=',')implode相似,只是参数位置调换了下,将分隔符放在了第二位,要转换的数组放在了第一位。
  5. msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true) 截取字符串方法,默认显示...无论是否截取。
  6. think_encrypt($data, $key = '', $expire = 0) thinkphp系统加密方法 注意第一个参数$data的值必须为string
  7. think_decrypt($data, $key = '') 解密由think_encrypt生成的加密字符串 注意第一个参数$data的值必须为string
  8. data_auth_sign($data) 对数组数据进行签名 请确保传入参数为数组,以避免产生非预期数据。
  9. list_sort_by($list, $field, $sortby = 'asc') 根据数组的key$field的值进行asc正向/desc逆向/nat自然排序(natcasesort())
  10. list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0) 将一个数组根据 $pid$pk对应的字段的值生成一个树. 返回值为树
  11. tree_to_list($tree, $child = '_child', $order = 'id', &$list = array()) 讲一个树根据$child$order字段 恢复成一个正向排序的数组。返回值是数组,由于参数$list使用了&,所以在使用了这个方法之后,如果传递了空数组$list在他之后可以使用$list
  12. format_bytes($size, $delimiter = '') 格式化传入的字节数 将数字转为B KB MB GB TB PB
  13. set_redirect_url($url) 通过记录下要跳转的URL
  14. get_redirect_url() 获取要跳转的URL
  15. hook($hook, $params = array()) 钩子方法 $hook是钩子名称 $param是要传入的参数,这个方法其实就是执行Hook类的listen方法,说白了就通过另一种方式读取提前定义好的钩子名称所绑定的类,然后执行这个类的$hook的值对应的方法
  16. addons_url($url, $param = array()) weiphp对此方法作了修改,可以实现user_center://user_center/add这样的类名 按照命名规定此种命名是不允许在类名和方法命中存在的,所以请不要使用这种方式。默认插件的生成调用url语法糖是这样子的插件名://控制器名/方法名
  17. time_format($time = NULL, $format = 'Y-m-d H:i') 格式化时间
  18. get_username($uid = 0) 得到用户名
  19. get_nickname($uid = 0) 得到昵称
  20. get_category($id, $field = null) 获取分类信息
  21. get_category_name($id) 获取分类信息标识
  22. get_category_title($id) 获取分类信息名称
  23. get_top_model($model_id = null) 获取顶级模型
  24. action_log($action = null, $model = null, $record_id = null, $user_id = null) 记录行为日志
  25. parse_action($action = null, $self) 返回规则数组 具体参见 方法doc
  26. execute_action($rules = false, $action_id = null, $user_id = null) 执行操作,$ruleparse_action($action = null, $self)生成的规格数组
  27. create_dir_or_files($files) 基于数组创建目录和文件
  28. array_column(array $input, $columnKey, $indexKey = null) 获取指定数组中的字段的值返回数组 可以将数组生成 以indexKey的值为key cloumnkey的值为值的数组
  29. get_table_name($model_id = null) 根据模型id获取表名
  30. get_model_attribute($model_id, $field_sort = false) 根据模型id获取表的属性名
  31. api($name, $vars = array()) 调用系统api方法
  32. get_table_field($value = null, $condition = 'id', $field = null, $table = null) 根据条件字段获取指定表的数据
  33. get_cover($cover_id, $field = null) 根据图片的id获取图片完整数据
  34. get_cover_url($cover_id, $width = '', $height = '') 根据图片的id获取图片的url。35. check_document_position($pos = 0, $contain = 0) 检查推荐位置$pos 是否包含指定推荐位。返回布尔值36. get_stemma($pids, Model &$model, $field = 'id') 获取指定数据素有子孙的值
  35. check_category($id) 检查分类是否允许发布内容
  36. check_category_model($info) 检查分类是否绑定了模型 $info=['id'=>1,'model_id'=>1]
  37. check_verify($code, $id = 1) 验证图片验证码
  38. checkRule($rule = '', $uid = '') 检查权限

weiphp新增

  1. msubstr_local($str, $start = 0, $length, $charset = "utf-8") 截取字符串方法,同msubstr 自动判断截取前后字符串是否增加...

  2. list_tree($list, &$res_list, $pid = 0, $level = 0) 将数组根据pid字段的值生成一个左侧是制表符的列表结构,仍为数组,没有返回值,数据的结果被放在$res_list数组内

  3. get_addon_class($name) 获取插件名称 返回的是插件的类名。插件的备注名称需要通过另一个方法get_addon_config($name)来获取

  4. get_addon_config($name) 获取插件累的配置文件数组。位置 插件根目录下 {插件名}Addon.class.php中的$info

  5. day_format($time = NULL) 格式化为日期格式。Y-m-d

  6. hour_format($time = NULL) 格式化为时间格式 H:i

  7. time_offset($time = NULL) 格式化时间为多少分多少秒

  8. getUserInfo($uid, $field = '') 得到用户信息,指定field时,返回字段所对应的值

  9. get_userface($uid = 0) 得到用户头像

  10. get_truename($uid) 得到真实姓名

  11. get_userinfo($uid, $field = '') 得到用户信息 getUserInfo($uid, $field = '')的别名

  12. get_followinfo($id, $field = '') 得到某个粉丝的信息

  13. get_mult_userinfo($uid) 批量获取用户信息

  14. get_mult_username($uids) 批量获取用户名

  15. get_picture_url($cover_id) 根据图片id获取图片地址 get_cover_url($cover_id, $width = '', $height = '') 简单写法

  16. get_img_html($cover_id) 根据图片id 获取图片的html标签文本

  17. url_img_html($url) 根据图片的url生成的html标签文本

  18. get_file_url($id) 根据文件id获取文件的url

  19. keyword_unique($keyword) 判断关键词是否唯一

  20. parse_config_attr($string) 解析枚举/单选/多选等配置字符串为数组 提取自admin模块funciton.php

  21. clean_hide_attr($str) 清理隐藏属性

  22. get_hide_attr($str) 获取隐藏属性

  23. parse_field_attr($string) 另一种形式的parse_config_attr($string),建议不要使用本函数函数 官方备注可能会调整此方法

  24. get_list_field($data, $grid, $model) 得到列表字段,并对字段进行解析自定义规则

  25. get_name_by_status($val, $name, $model_id) 获取状态值对应的标题。一般是枚举类型的使用此方法。

  26. addWeixinLog($data, $data_post = '', $wechat = false) 增加微信记录,并直接在微信中回复调试信息

  27. getSubByKey($pArray, $pKey = "", $pCondition = "") 根据条件将数组指定key对应的value放入到返回的数组中

  28. isWeixinBrowser($from = 0) 判断是否时微信浏览器

  29. GetCurUrl() 得到当前的访问地址

  30. get_openid($openid = NULL) 得到当前用户的openid 只能在微信浏览器中使用,该方法有极大可能执行OAuthWeixin($callback, $token = '', $is_return = false)方法,导致请求地址自动跳转到微信服务器, 在ajax请求的方法中请务必不要使用此方法。31. getOpenidByUid($uid, $token = '') 根据用户id获取用户的openid 适合已经读取到用户openid信息并存储到数据表public_follow中的数据.

  31. getPaymentOpenid($appId = "", $serect = "") 获取支付的appid对应的openid, 此方法必定会执行OAuthWeixin($callback, $token = '', $is_return = false)方法会跳转到微信服务器,所以ajax提交数据时要慎重

  32. get_token($token = NULL) 获取当前用户的token 其实就是公众号

  33. get_mid() 返回当前用户的uid

  34. getWeixinUserInfo($openid) 认证通过的微信公众后通过此方法获取当前微信用户的基本信息,此方法会跳转,请确保不是在ajax请求中使用。

  35. get_token_appinfo($token = '', $field = '') 获取公众号信息

  36. get_service_info($field = '') 获取当前公众号信息

  37. get_token_type($token = '') 判断公众号是服务好还是订阅号

  38. getWeixinUserInfoByPower($openid = NULL, $mid = NULL) 授权之后获取用户信息 当不存在code值时会跳转到微信服务器进行授权。 ajax中禁止使用

  39. get_access_token($token = '', $update = false) 获取微信access_token 该方法有较大概率跳转到微信服务器 ajax中慎用

  40. get_authorizer_access_token($appid, $refresh_token, $update) 获取认证的微信access_token

  41. get_access_token_by_apppid($appid, $secret, $update = false) 通过appid获取access_token

  42. OAuthWeixin($callback, $token = '', $is_return = false) 微信认证类,又跳转,ajax时慎用。

  43. execute_sql_file($sql_path) 执行指定的sql文件

  44. set_user_status($addon, $keywordArr = array()) 设置微信关联聊天中用到的用户状态

  45. get_public_group_name($group_id) 获取公众号等级名称

  46. getShort($str, $length = 40, $ext = '') 截取字符串内容

  47. filter_line_tab($text) 过滤字符串中的非法html标签和换行符

  48. real_strip_tags($str, $allowable_tags = "") 过滤字符串中的html标签

  49. wp_file_get_contents($url) 防止file_get_contents()超时的替代方法

  50. safe($text, $type = 'html') 全局安全过滤标签

  51. mkdirs($dir) 递归方式创建多级目录53. getCommonCategoryTitle($ids) 获取通用的分类级联菜单标题

  52. getCascadeTitle($ids, $extra) 获取级联菜单标题

  53. StringToArray($str)将字符串转换成数组,只支持utf8字符

  54. add_credit($name, $lock_time = 5, $credit = array(), $admin_uid = 0) 增加用户积分

  55. add_money($uid, $money, $log = array()) 增加用户金钱

  56. getPublicMax($uid) 判断用户可创建公众号的最大数量

  57. diyPage($keyword) 插件diy的自定义页面

  58. event_url($addon_title, $id = '0') 橡果已废弃 原作用是获取刮刮卡的抽奖活动地址

  59. addon_condition_check($addon_condition) 抽奖或者优惠券领取的插件条件判断

  60. condition_tips($addon_condition) 抽奖或者优惠券领取的插件条件提示

  61. lastsql() 打印最后执行的sql语句

  62. code_decode($text) 商业代码解密

  63. outExcel($dataArr, $fileName = '', $sheet = false) 导出excel

  64. category_title($cate_id) 获取通用分类表的分类标题

  65. get_lecturer_name($lecturer_id) 未知作用。数据库无此表

  66. check_token_purview($table, $id, $field = 'token') 未知作用 未发现此方法被其他文件调用

  67. wp_explode($string, $delimiter = "\s,;\r\n") weiphp专用分割函数

  68. get_code_img($qr_code) 生成二维码的html标签宽度高度均为50

  69. get_file_title($attach_ids) 获取文件名称

  70. num2cn($number) 阿拉伯数字转中文

  71. week_name($number = null) 得到星期几

  72. daytoweek($day = null) 日期转换成星期几

  73. int_to_string(&$data, $map = array('status' => array(1 => '正常', -1 => '删除', 0 => '禁用', 2 => '未审核', 3 => '草稿'))) 数组状态字段由数字替换为字符串

  74. importFormExcel($attach_id, $column, $dateColumn = array()) excel导入信息

  75. showNewIcon($time, $day = 3) 几天内显示新图标

  76. replace_url($content) 替换$content中的指定字符串'[follow]','[website]','[token]','[openid]'addons_url('UserCenter://UserCenter/bind', $param),addons_url('WeiSite://WeiSite/index', $param), $param ['token'], $param ['openid'],

  77. get_rand_char($length = 6) 生成 token EncodingAESkey等所需要盐值

  78. getDistance($lat1, $lng1, $lat2, $lng2) 根据两点的经纬度计算之间的距离 lat纬度 lng经度

  79. getMyDistance($shopGPS) 返回指定的GPS地址距离用户当前GPS地址的距离

  80. GPS2Address($location) 通过百度地图接口获取GPS坐标对应的现实地址信息

  81. xml_to_array($xml) 解析xml字符串为数组

  82. xmltoarray($xml) xml转数组不包括根

  83. arrayRecursive(&$array, $function, $apply_to_keys_also = false) 对数组的值使用自定义函数进行处理,如果$apply_to_keys_alsotrue那么也会对key进行相应处理

  84. JSON($array)转换字符串 兼容中文,

  85. short_url($long_url) 返回长链接对应的短链接。 此方法会调用微信接口,所以在ajax请求中慎用避免超时。此请求会调用curl进行请求,不会产生跳转。

  86. makeKeyVal($list, $val = 'title', $key = 'id') 数组进行处理 返回字段key的值为key 字段val的值为value的一维数组

  87. isMobile() 判断是否为手机浏览器进入

  88. isiPhone() 是否为苹果手机91. isiPad() 是否为ipad

  89. isAndroid() 是否为安卓

  90. get_uid_by_openid($init = true, $openid = '') 服务号获取用户uid

  91. getSHA1($array) 用SHA1算法生成安全签名

  92. getModelByName($name) 获取模型信息。注意返回的数据为model表中的一条数据时一个数组,不是model

  93. copydir($strSrcDir, $strDstDir) 复制目录

  94. getAddonConfig($name, $token = '') 获取微信插件的配置数组

  95. getPluginConfig($name, $token = '') 获取系统插件的配置数组

  96. rmdirr($dirname) 删除目录及目录下所有文件

  97. wp_money_format($number, $decimals = '2') 格式化金钱

  98. post_data($url, $param, $is_file = false, $return_array = true) post方式提交数据

  99. make_sign($paraMap = array(), $partner_key = '') 生成签名

  100. get_sucai_template_info($template = "default", $addons) 从目录获取素材信息

  101. get_lottery1($prizeArr, $start_time, $end_time, $event_id = 0, $uid = 0, $update = false, $token = '') 分时分段的抽奖算法 prizeArr 奖品数据,结构是:

    1
    array(array(prize_id=>1,prize_num=>2),array(prize_id=>2,prize_num=>4),...);

start_time 开始的时间戳 end_time 结束的时间戳 event_id 抽奖的活动ID,以确保每个抽奖不冲突

  1. del_lottery1($index, $event_id = 0, $uid = 0, $token = '') 删除奖励
  2. get_lottery($prizeArr, $start_time, $end_time, $event_id = 0, $update = false) 请看源码确认 get_lottery()get_lottery1()的区别
  3. get_jifen_lottery($proArr) 根据概率抽取积分奖品
  4. del_lottery($index, $event_id = 0, $delkeyname = 'shiwu') 请看源码确认 del_lottery()del_lottery1()的区别
  5. lists_msubstr($str)返回字符串的前30个字符110. parseComment($comment, $file = 'lzwg', $width = '40')$comment中匹配到的表情字符串批量替换为表情图片
  6. think_weiphp_md5($str, $key = '') weiphp自定义加密方法
  7. error_msg($return, $more_tips = '') 微信端错误代码转换为中文
  8. createNonceStr($length=16) 获取随机字符串,此方法重复,请使用 get_rand_char($length=6)
  9. checkAllow_nums() 废弃方法
  10. randorderno($length = 10, $type = 0) 生成随机码 type=1 全数字 2 全英文字母大写
  11. chang_domain($url, $domain) 泛域名情况下进行域名替换
  12. top_domain() 废弃方法
  13. deal_emoji($msg, $type = 1) 处理 emoji数据
  14. down_media($media_id) 从微信服务器下载媒体文件
  15. outputCurl($url) 返回curl请求$url的结果
  16. upload_media($path, $type = 'image') 上传媒体文件到微信服务器
  17. smsLock($tel, $time = 60) 短信锁
  18. do_down_image($media_id, $picUrl = '')下载非临时素材
  19. down_file_media($media_id, $type = 'voice') 下载临时语音/视频素材
  20. array_sort($arr, $keys, $type = 'desc') 二维数组排序。建议使用list_sort_by
  21. test_mem_cache() 测试缓存时间
  22. parseHtmlemoji($text) 转换含emoji表情的代码,需要另外引入css文件
  23. utf8_bytes($cp) 转换utf8字符串味比特码
  24. curl_post($url, $data = null) 封装的curl post请求,返回请求数据结果
  25. matchImages($content = '') 匹配content中的img标签
  26. getEditorImages($content) 编辑器中的图片地址。因以来的方法(getImageUrl())缺失 已经无法使用
  27. matchReplaceImages($content = '') 匹配替换的图片地址
  28. matchReplaceImagesOnce($matches) 处理 preg_replace_callback()匹配到的回调方法
  29. get_str_length($str, $filter = false) 获取字符串长度 汉字或全角字符占1个长度, 英文字符占0.5个长度
  30. isSubmitLocked() 检查表单是否锁定
  31. lockSubmit($life_time = null) 锁定表单
  32. unlockSubmit()解锁表单
  33. addAutoCheckLog($na = '', $msg = '', $token = '') 记录自动检测数据
  34. get_prize_detail($prizeValue) 通用奖品选择器
  35. getThumbImage($filename, $width = 100, $height = 'auto', $cut = false, $replace = false, $redirect = false) 获取图片缩略图
  36. is_install($addon_name) 判断插件是否安装
  37. createImg($bgpic, $value, $fileDir, $mid, $type, $name='') 生成海报图片
  38. ImageMark($qrcode_bg, $img, $hshift, $vshift, $fileDir, $output) 给图片打图片水印
  39. Textmark($qrcode_bg, $text, $hshift, $vshift, $fileDir, $output) 给图片打文字水印

update log

20170114 create
20170115 update total functions
20170115 fixed parse_config_attr mem