## 公共助手函数 > ThinkPHP6.0安装时默认会在app目录下创建公共助手函数文件`common.php`,公共方法在该文件中创建后即可全局使用。 ## 创建请求返回消息提示公共方法 1. 请求成功返回消息提示: ~~~ if (!function_exists('success')) { /** * 请求成功返回 * @param array $data * @param string $msg * @param int $code * @return \think\response\Json */ function success($data = [], $msg = '', $code = 20000) { $result['code'] = $code; // 状态码 $result['msg'] = $msg; // 提示信息 $result['time'] = time(); // 请求返回时间 $result['data'] = $data; // 请求返回数据 return json($result); } } ~~~ > 默认与`vue-element-admin`请求成功状态码20000保持一致。 2. 请求失败返回消息提示: ~~~ if (!function_exists('error')) { /** * 请求失败返回 * @param string $msg * @param int $code * @return \think\response\Json */ function error($msg = '', $code = 50000) { $result['code'] = $code; $result['msg'] = $msg; $result['time'] = time(); return json($result); } } ~~~ > 默认请求失败时不返回数据,状态码为50000。 3. 树形结构公共方法 ~~~ if (!function_exists('tree')) { /** * 以pid——id对应,生成树形结构 * @param array $array * @return array|bool */ function tree($array) { $tree = []; // 生成树形结构 $newArray = []; // 中转数组,将传入的数组转换 if (is_array($array) && !empty($array)) { foreach ($array as $item) { $newArray[$item['id']] = $item; // 以传入数组的id为主键,生成新的数组 } foreach ($newArray as $k => $val) { if ($val['pid'] > 0) { // 默认pid = 0时为一级 $newArray[$val['pid']]['children'][] = &$newArray[$k]; // 将pid与主键id相等的元素放入children中 } else { $tree[] = &$newArray[$val['id']]; // 生成树形结构 } } return $tree; } else { return false; } } } ~~~ > 以id-pid对应生成树形结构 4. 随机密码盐(默认6个字符) ~~~ if (!function_exists('alnum')) { /** * 随机生成数字+字母组合随机字符串密码盐(包含大小写字母) * @param int $len 生成随机字符串的长度,默认6个字符 * @return false|string */ function alnum($len = 6) { $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; return substr(str_shuffle(str_repeat($pool, ceil($len / strlen($pool)))), 0, $len); } } ~~~ > 管理员登录密码以md5 + 随机密码盐方式进行加密