$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' => 'USD', ], [ 'value' => 2, 'name' => '基金分红钱包', ], [ 'value' => 3, 'name' => '银行卡余额', ], [ 'value' => 4, 'name' => '银行卡基础额度', ], [ 'value' => 5, 'name' => 'wroldcion币', ], [ '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' => '每日交易USD额度', ], [ 'value' => 55, 'name' => 'wroldcion币', ], [ 'value' => 15, 'name' => '分红钱包', ], [ 'value' => 16, 'name' => '团队致富佣金', ], [ 'value' => 17, 'name' => '收益钱包', ], [ 'value' => 18, 'name' => '卡内余额', ], [ 'value' => 19, 'name' => '退还钱包', ], [ 'value' => 20, 'name' => '定向补贴', ], [ 'value' => 21, 'name' => '佣金钱包', ], [ 'value' => 22, 'name' => '新春现金红包', ], [ 'value' => 23, 'name' => '总资产', ], [ 'value' => 24, 'name' => '分红钱包', ], [ 'value' => 25, '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 */ //USD 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'); //wroldcion币 define('moldType5', 5); define('moldTypefild5', 'money_five'); //矿机分红钱包--消费体验金 define('moldType6', 6); define('moldTypefild6', 'money_six'); //理财每日利息 define('moldType7', 7); define('moldTypefild7', 'money_seven'); //团队佣金 define('moldType8', 8); define('moldTypefild8', 'money_eight'); //团队补贴 define('moldType9', 9); define('moldTypefild9', 'money_nine'); //全球通金卡余额 define('moldType10', 10); define('moldTypefild10', 'money_ten'); //大使收益钱包 define('moldType11', 11); define('moldTypefild11', 'money_eleven'); //减贫财富钱包 define('moldType12', 12); define('moldTypefild12', 'money_twelve'); //每日交易世界币额度 define('moldType13', 13); define('moldTypefild13', 'money_thirteen'); //每日交易USD额度 define('moldType14', 14); define('moldTypefild14', 'money_fourteen'); // define('moldType55', 55); define('moldTypefild55', 'money_five'); //分红钱包 define('moldType15', 15); define('moldTypefild15', 'money_fifteen'); //团队致富佣金 define('moldType16', 16); define('moldTypefild16', 'money_sixteen'); //收益钱包 define('moldType17', 17); define('moldTypefild17', 'money_seventeen'); //卡内余额 define('moldType18', 18); define('moldTypefild18', 'money_eighteen'); //退还钱包 define('moldType19', 19); define('moldTypefild19', 'money_nineteen'); //定向补贴 define('moldType20', 20); define('moldTypefild20', 'money_twenty'); //佣金钱包 define('moldType21', 21); define('moldTypefild21', 'money_twenty_one'); //新春现金红包 define('moldType22', 22); define('moldTypefild22', 'money_twenty_two'); //总资产 define('moldType23', 23); define('moldTypefild23', 'money_twenty_three'); //分红钱包 define('moldType24', 24); define('moldTypefild24', 'money_twenty_four'); //共富基金钱包 define('moldType25', 25); define('moldTypefild25', 'money_twenty_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', ], [ 'value' => 6, 'name' => 'money_six', ], [ 'value' => 7, 'name' => 'money_seven', ], [ 'value' => 8, 'name' => 'money_eight', ], [ 'value' => 9, 'name' => 'money_nine', ], [ 'value' => 10, 'name' => 'money_ten', ], [ 'value' => 11, 'name' => 'money_eleven', ], [ 'value' => 12, 'name' => 'money_twelve', ], [ 'value' => 13, 'name' => 'money_thirteen', ], [ 'value' => 14, 'name' => 'money_fourteen', ], [ 'value' => 55, 'name' => 'money_five', ], [ 'value' => 15, 'name' => 'money_fifteen', ], [ 'value' => 16, 'name' => 'money_sixteen', ], [ 'value' => 17, 'name' => 'money_seventeen', ], [ 'value' => 18, 'name' => 'money_eighteen', ], [ 'value' => 19, 'name' => 'money_nineteen', ], [ 'value' => 20, 'name' => 'money_twenty', ], [ 'value' => 21, 'name' => 'money_twenty_one', ], [ 'value' => 22, 'name' => 'money_twenty_two', ], [ 'value' => 23, 'name' => 'money_twenty_three', ], [ 'value' => 24, 'name' => 'money_twenty_four', ], [ 'value' => 25, 'name' => 'money_twenty_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); /** 矿机产生 */ define('streamType19', 19); /** 参与矿机每日获赠 */ define('streamType20', 20); /** 理财抵扣 */ define('streamType21', 21); /** 手续费 */ define('streamType22', 22); /** 解冻 */ define('streamType23', 23); /** 兑换 */ define('streamType24', 24); /** 理财解冻 */ define('streamType25', 25); /** 减贫收益 */ define('streamType26', 26); /** 减贫解冻 */ define('streamType27', 27); /** 减贫支付 */ define('streamType28', 28); /** 赠送 */ define('streamType29', 29); /** 减贫解冻 */ define('streamType30', 30); /** 平台赠送 */ define('streamType31', 31); /** 兑换 */ define('streamType32', 32); /** 平台赠送 */ define('streamType33', 33); /** 平台赠送 */ define('streamType34', 34); /** 平台赠送 */ define('streamType35', 35); /** 减贫财富 */ define('streamType36', 36); /** 减贫财富每日分红 */ define('streamType37', 37); /** 平台赠送 */ define('streamType38', 38); /** 平台赠送 */ define('streamType39', 39); /** 平台兑换 */ define('streamType40', 40); /** 平台赠送 */ define('streamType41', 41); /** 购买脱贫致富 */ define('streamType42', 42); /** 脱贫致富-日收益 */ define('streamType43', 43); /** 平台赠送*/ define('streamType44', 44); /** 支付返还*/ define('streamType45', 45); define('streamType46', 46); define('streamType47', 47); define('streamType48', 48); define('streamType49', 49); define('streamType50', 50); define('streamType51', 51); define('streamType52', 52); 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' => '矿机购买', ], [ 'value' => 19, 'name' => '矿机产生', ], [ 'value' => 20, 'name' => '参与矿机每日获赠', ], [ 'value' => 21, 'name' => '理财抵扣', ], [ 'value' => 22, 'name' => '手续费', ], [ 'value' => 23, 'name' => '提现', ], [ 'value' => 24, 'name' => '兑换', ], [ 'value' => 25, 'name' => '理财解冻', ], [ 'value' => 26, 'name' => '减贫收益', ], [ 'value' => 27, 'name' => '减贫解冻', ], [ 'value' => 28, 'name' => '减贫支付', ], [ 'value' => 29, 'name' => '赠送', ], [ 'value' => 30, 'name' => '减贫解冻', ], [ 'value' => 31, 'name' => '平台赠送', ], [ 'value' => 32, 'name' => '兑换', ], [ 'value' => 33, 'name' => '平台赠送', ], [ 'value' => 34, 'name' => '平台赠送', ], [ 'value' => 35, 'name' => '平台赠送', ], [ 'value' => 36, 'name' => '减贫财富', ], [ 'value' => 37, 'name' => '减贫财富每日分红', ], [ 'value' => 38, 'name' => '平台赠送', ], [ 'value' => 39, 'name' => '平台赠送', ], [ 'value' => 40, 'name' => '平台兑换', ], [ 'value' => 41, 'name' => '平台赠送', ], [ 'value' => 42, 'name' => '购买脱贫致富', ], [ 'value' => 43, 'name' => '脱贫致富-日收益', ], [ 'value' => 44, 'name' => '平台赠送', ], [ 'value' => 45, 'name' => '支付返还', ], [ 'value' => 46, 'name' => '平台赠送', ], [ 'value' => 47, 'name' => '兑换', ], [ 'value' => 48, 'name' => '转账', ], [ 'value' => 49, 'name' => '平台赠送', ], [ 'value' => 50, 'name' => '平台赠送', ], [ 'value' => 51, 'name' => '认证', ], [ 'value' => 52, '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 = '51'; // 定义账号前缀,如银行标识 $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 ''; } } /** * 身份证校验 * @param $id * @return bool */ function isValidChineseIDCard18($id) { if (!preg_match('/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))((0[1-9])|([1-2][0-9])|30|31)\d{3}[\dXx]$/i', $id)) { return false; // 格式不正确 } // 校验码计算 $id = str_split($id); $factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; $checksum = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; $sum = 0; foreach ($factor as $key => $value) { $sum += $id[$key] * $value; } $mod = $sum % 11; return strtoupper($id[17]) === $checksum[$mod]; // 比较校验码 }