| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566 |
- <?php
- /**
- * Here is your custom functions.
- */
- use Firebase\JWT\JWT;
- use Firebase\JWT\Key;
- /* @登录失效码*/
- define('USER_INVALID', 4008);
- /* @无权限码*/
- define('USER_AUTH', 4009);
- /* @错误码*/
- define('ERROR', 400);
- /* @成功码*/
- define('SUCCESS', 0);
- function error($msg = '请求成功', $data = [], $code = ERROR)
- {
- $result = [
- 'code' => $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' => '大使收益钱包',
- ]
- ];
- 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');
- 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',
- ]
- ];
- 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);
- 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' => '兑换',
- ]
- ];
- 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');
- // 正则表达式匹配所有<img>标签
- $pattern = '/<img[^>]+/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])) {
- // 构造新的<img>标签
- if (strpos($src_matches[1], 'http') !== false) {
- } else {
- return str_replace($src_matches[1], imageToBase64($src_matches[1]), $matches[0]);
- }
- }
- // 如果没有找到src属性,直接返回原始<img>标签
- 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]; // 比较校验码
- }
|