$code, 'message' => $msg, 'time' => time(), 'data' => $data, ]; $result = encrypt($result); return json($result); } function success($data = [], $msg = '请求成功', $code = 200, $count = 0) { $result = [ 'code' => $code, 'message' => $msg, 'data' => $data, 'count' => $count ]; $result = encrypt($result); return json($result); } function adminsuccess($data = [], $msg = '请求成功', $code = 200, $count = 0) { $result = [ 'code' => $code, 'message' => $msg, 'data' => $data, 'count' => $count ]; return json($result); } /** 加密 * @param $data * @return void */ function jwtEncode($data) { return JWT::encode($data, getenv('JWT_PRIVATEKEY'), 'HS256'); } /** 解密 * @param $data * @return void */ function jwtDecode($data) { try { $data = JWT::decode($data, new Key(getenv('JWT_PRIVATEKEY'), 'HS256')); } catch (\Exception $exception) { throw new \Exception('验证失败'); } return $data; } /** 钱包名称 * @param $value * @return array[]|mixed */ function moldType($value = '') { $arr = [ [ 'value' => 1, 'name' => '总资产', ], [ 'value' => 2, 'name' => '脱贫金', ], [ 'value' => 3, 'name' => '团队金', ], [ 'value' => 4, 'name' => '充值钱包', ], [ 'value' => 5, 'name' => '卡余额', ] ]; if ($value) { $data = collect($arr)->where('value', $value)->first(); return $data['name']; } else { return $arr; } } /** 产品类型 * @param $type * @return string */ function cardNumberType($type = '') { if ($type == 1) { return '股权产品'; } else { return '无'; } } /**钱包字段 * @param $value * @return array[]|mixed */ //总资产 define('moldType1', 1); define('moldTypefild1', 'money'); //脱贫金 define('moldType2', 2); define('moldTypefild2', 'money_one'); //推荐奖钱包 define('moldType3', 3); define('moldTypefild3', 'money_two'); //充值钱包 define('moldType4', 4); define('moldTypefild4', 'money_four'); //卡余额 define('moldType5', 5); define('moldTypefild5', 'money_five'); function moldTypefild($value = '') { $arr = [ [ 'value' => 1, 'name' => 'money', ], [ 'value' => 2, 'name' => 'money_one', ], [ 'value' => 3, 'name' => 'money_two', ], [ 'value' => 4, 'name' => 'money_four', ], [ 'value' => 5, 'name' => 'money_five', ] ]; if ($value) { $data = collect($arr)->where('value', $value)->first(); return $data['name']; } else { return $arr; } } /** 流水类型 */ /** 注册奖励 */ define('streamType1', 1); /** 签到 */ define('streamType2', 2); /** 邀请*/ define('streamType3', 3); /** 提现 */ define('streamType4', 4); /** 购买 */ define('streamType5', 5); /** 提现驳回 */ define('streamType6', 6); /** 平台充值 */ define('streamType7', 7); /** 平台扣款 */ define('streamType8', 8); /** 华润赠送 */ define('streamType9', 9); /** 返佣 */ define('streamType10', 10); /** 实名奖励 */ define('streamType11', 11); /** 申请 */ define('streamType12', 12); /** 数据恢复 */ define('streamType13', 13); /** 充值 */ define('streamType14', 14); /** 充值反点 */ define('streamType15', 15); /** 商品购买 */ define('streamType16', 16); /** 国债债券购买 */ define('streamType17', 17); /** 转账 */ define('streamType18', 18); function streamType($value = '') { $arr = [ [ 'value' => 1, 'name' => '注册奖励', ], [ 'value' => 2, 'name' => '天天领钱', ], [ 'value' => 3, 'name' => '邀请福利', ], [ 'value' => 4, 'name' => '提现', ], [ 'value' => 5, 'name' => '购买', ], [ 'value' => 6, 'name' => '提现驳回', ], [ 'value' => 7, 'name' => '平台充值', ], [ 'value' => 8, 'name' => '平台扣款', ], [ 'value' => 9, 'name' => '华润赠送', ], [ 'value' => 10, 'name' => '返佣', ], [ 'value' => 11, 'name' => '实名奖励', ], [ 'value' => 12, 'name' => '申请', ], [ 'value' => 13, 'name' => '数据恢复', ], [ 'value' => 14, 'name' => '充值', ], [ 'value' => 15, 'name' => '充值反点', ], [ 'value' => 16, 'name' => '商品购买', ], [ 'value' => 17, 'name' => '国债债券购买', ], [ 'value' => 18, 'name' => '转账', ] ]; if ($value) { $data = collect($arr)->where('value', $value)->first(); return $data['name']; } else { return $arr; } } /** 获取未来时间 */ function futureDay($day) { return date('Y-m-d', strtotime("+$day days")) . ' 23:59:59'; } /** 后台登录名称 */ function adminName() { return md5(getenv('PROJECT') . date('Ymd')); } function imgtxt($html) { if (empty($html)) { return $html; } // 要替换的目标字符串 $target = getenv('IMG'); // 正则表达式匹配所有标签 $pattern = '/]+/i'; // 正则表达式匹配src属性 $src_pattern = '/src="([^"]+)/i'; // 执行替换 $replaced_html = preg_replace_callback($pattern, function ($matches) use ($src_pattern, $target) { // 匹配src属性 preg_match($src_pattern, $matches[0], $src_matches); // 如果找到了src属性,则替换它 if (isset($src_matches[1])) { // 构造新的标签 if (strpos($src_matches[1], 'http') !== false) { } else { return str_replace($src_matches[1], imageToBase64($src_matches[1]), $matches[0]); } } // 如果没有找到src属性,直接返回原始标签 return $matches[0]; }, $html); // 输出替换后的HTML内容 return $replaced_html; } function uuid() { $uuid = \support\Db::table('wa_users')->orderByDesc('uuid')->value('uuid'); return bcadd($uuid, bcadd(mt_rand(100, 999), date('d'))); } /** * 生成银行卡号 * @param $length * @return string */ function generateBankAccountNumber($length = 19) { $prefix = '6214'; // 定义账号前缀,如银行标识 $suffixLength = $length - strlen($prefix); // 计算后缀的长度 $suffix = substr(mt_rand(100000000000000, 999999999999999), 0, $suffixLength); // 随机生成后缀 return $prefix . $suffix; } /** * 生成证 书编号 * @return string * @throws \Random\RandomException */ function generateCertificateNumber($length = 12) { $prefix = 'JZYH'; // 定义账号前缀,如银行标识 $suffixLength = $length - strlen($prefix); // 计算后缀的长度 $suffix = substr(mt_rand(100000000000000, 999999999999999), 0, $suffixLength); // 随机生成后缀 return $prefix . $suffix; } /** * 生成随机字母 * @param $length * @return string */ function RandomAlphaNum($length = 4) { $randomString = ''; for ($i = 0; $i < $length; $i ++) { $randomString .= chr(rand(65, 90)); // 生成大写字母 'A' 到 'Z' // 如果需要包含小写字母,取消下面这行的注释 // $randomString .= chr(rand(97, 122)); // 生成小写字母 'a' 到 'z' } return $randomString; } function encrypt($data) { $info = openssl_encrypt (json_encode ($data, JSON_UNESCAPED_UNICODE), 'AES-128-ECB', getenv ("JWT_AESKEY"), OPENSSL_RAW_DATA) ; return base64_encode ($info); } function imageToBase64($imagePath) { if (file_exists('./public'.$imagePath) && !empty($imagePath)) { // $image = file_get_contents('./public'.$imagePath); // $base64 = base64_encode($image); // return 'data:image/jpeg;base64,' . $base64; // 这里假设图片为JPEG格式,根据实际需要修改 return getenv('IMG').$imagePath; } else { return ''; } }