| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <?php
- /**
- * 通用函数库
- */
- use Hashids\Hashids;
- /**
- * json响应成功
- * @param mixed $data 数据
- * @param string $message 消息
- * @return mixed
- */
- function json_success($data, $message = '操作成功')
- {
- $handshake = '';
- $data = [
- 'code' => 200,
- 'message' => $message,
- 'data' => $data,
- 'handshake' => $handshake,
- ];
- return response()->json($data);
- }
- /**
- * json响应失败
- * @param string $message 消息
- * @param int $code 代码
- * @return \Illuminate\Http\JsonResponse
- */
- function json_fail($message, $code = 500, $data = [])
- {
- $handshake = '';
- $data = [
- 'code' => $code,
- 'message' => $message,
- 'data' => $data,
- 'handshake' => $handshake,
- ];
- return response()->json($data);
- }
- /**
- * 生成密码.
- * @param string $plain 明文密码.
- * @param string $salt 盐.
- * @return string
- */
- function generatePassword($plain, $salt)
- {
- return md5(md5($plain) . $salt);
- }
- /**
- * 随机生成字符串
- * @param int $length 长度
- * @param int $numeric 纯数字
- * @return string
- */
- function random($length, $numeric = 0) : string
- {
- if (version_compare(PHP_VERSION, '4.2.0', '<')) {
- mt_srand((double)microtime() * 1000000);
- } else {
- mt_srand();
- }
- $seed = base_convert(md5(print_r($_SERVER, 1) . microtime()), 16, $numeric ? 10 : 35);
- $seed = $numeric ? (str_replace('0', '', $seed) . '012340567890') : ($seed . 'zZ' . strtoupper($seed));
- $hash = '';
- $max = strlen($seed) - 1;
- for ($i = 0; $i < $length; $i++) {
- $hash .= $seed[mt_rand(0, $max)];
- }
- return $hash;
- }
- /**
- * 格式化页码入参
- * @param $page
- * @return int
- */
- function format_page($page)
- {
- $page = intval($page);
- if ($page <= 0) {
- $page = 1;
- }
- if ($page > PHP_INT_MAX) {
- $page = PHP_INT_MAX;
- }
- return $page;
- }
- /**
- * 加密ID.
- * @param $id
- * @param int $length 长度
- * @return string
- */
- function hashEncodeId($id, $length = 6)
- {
- $hashids = new Hashids(config('hashids.salt', ''), 6);
- return $hashids->encode($id);
- }
- /**
- * 解密ID.
- * @param $str
- * @return string
- */
- function hashDecodeId($str)
- {
- $hashids = new Hashids(config('hashids.salt', ''), 6);
- $arr = $hashids->decode($str);
- return implode('', $arr);
- }
- /**
- * 生成订单流水号、可指定前缀
- * @param string $prefix
- * @return string
- */
- function createOrderSn($prefix = '', $mark = '')
- {
- if (strlen($mark) <= 2 && !empty($mark)) {
- $prefix .= '0' . $mark;
- } else {
- $prefix .= $mark;
- }
- return $prefix . date('YmdHis') . mt_rand(1111, 9999);
- }
- /**
- * 检测支付链接协议
- *
- * @param $payUrl
- * @return mixed|string
- */
- function checkPayUrl($payUrl) {
- if (strpos($payUrl, 'alipays://') !== false) {
- $payUrl = 'https://r.tool.py163.xyz/dk.html?_r_=' . urlencode($payUrl);
- }
- return $payUrl;
- }
- /**
- * 生成key
- *
- * @return string
- */
- function createKey()
- {
- $pwd = '';
- for ($i = 0; $i < 10; $i++) {
- $pwd .= chr(mt_rand(33, 126));
- }
- return md5($pwd . time());
- }
- /**
- * 签名
- *
- * @param $data
- * @param $publicKey
- * @return string
- */
- function build_sign($data, $publicKey)
- {
- ksort($data);
- $md5str = "";
- foreach ($data as $key => $val) {
- $md5str = $md5str . $key . "=" . $val . "&";
- }
- $md5str = strtoupper(md5($md5str . 'key=' . $publicKey));
- return $md5str;
- }
|