'成功', 'data'=>$data]); } // app配置 public function appConfig(Request $request){ $data = []; $modelarticle = new SystemArticleModel(); $data['privateInfo'] = getWebUrl().'/api/privateInfo'; $data['userAgreementInfo'] = getWebUrl().'/api/userAgreementInfo'; // 客服 // $data['kefu'] = ['qq'=>env('app.KEFU_QQ'), 'wechat'=>env('app.KEFU_WECHAT')]; // 帮助中心 $data['helpCenter'] = getWebUrl().'/api/helpCenter'; $data['aboutUs'] = getWebUrl().'/api/aboutUs'; $data['chat_url'] = env('APP.CHAT_URL_CONFIG'); // 一个星钻可以兑换多少优先勋章 // $data['xingzuanScale'] = '1'; $data['widthdraw'] = [ 'scale'=>env('WITHDRAW.APP_WITHDRAW_SCALE'), 'begin'=>env('WITHDRAW.APP_WITHDRAW_BEGIN'), 'desc'=>[ '本次提现将收取通证'.env('WITHDRAW.APP_WITHDRAW_SCALE').'%+'.env('WITHDRAW.APP_WITHDRAW_BEGIN').'元手续费', '提现到账时间T+1', '提现申请金额必须是10的整数倍', '提现金额单笔不能超过30000,提现大于5千只能使用银行卡', // '提现到USDT暂未开放,敬请期待', '个人原因导致的提现失败不退还通证', ] ]; // $info =Db::name('jh_sellplan')->where('status', 1)->find(); $data['jh_buy'] = [ 'scale'=> Db::name('system_config')->where('group', 'jhmoney')->where('name', 'jh_money')->value('value'), // sysconfig('jhmoney', 'jh_money'), 'begin'=>env('WITHDRAW.APP_WITHDRAW_BEGIN'), 'desc'=>[ '通证平台定时定量发放', '用户通过余额来兑换通证,通证费用单价由平台设定', '通证可用于提现燃料使用,按照提现金额的百分之10扣除', '用户通过余额来兑换通证' ] ]; $data['jh_excharge'] = [ 'desc'=>[ '转赠不收取任何手续费', '请确定对方信息后在输入安全密码,由于用户自己原因导致错误转赠,平台概不负责' ] ]; $data['balance_excharge'] = [ 'desc'=>[ '本次收取5%对应通证手续费', '余额只能上下转赠', '请确定对方信息后在输入安全密码,由于用户自己原因导致错误转赠,平台概不负责' ] ]; $data['level_desc'] = [ '业绩:团队业绩总和(包含自己业绩),购买商品所送积分,算作业绩;', // '小区:除开最大一条线,其它所有线的总和;', '释放占比:下级购买按照级差释放相应释放的百分比。' ]; $data['usdt_price'] = Db::name('system_config')->where('name', 'usdt_price')->where('group', 'usdt_price')->value('value'); $data['usdt_guide'] = Db::name('system_article')->where('type', 10)->value('banner_desc'); $data['usdt_address'] = env('USDT.SELL_ADDRESS'); $data['about_us'] = env('APP.ABOUT_US'); $data['newhand_url'] = getWebUrl().'/api/newhandurl'; $data['newguide_url'] = getWebUrl().'/api/newguideurl'; $data['aboutbox_url'] = getWebUrl().'/api/aboutboxurl'; $data['one_box_price']=env('boxsetting.ONE_BOX_PRICE'); $data['box_musicurl'] = getWebUrl().'/static/resources/'.'box_open.mp3'; // $data['newhand_url'] = getWebUrl().'/api/privateInfo'; // $data['medal_excharge'] = [ // 'desc'=>[ // '转赠之后无法找回,请务必确认对方身份。', // '优先勋章转赠不退回,请谨慎操作' // ] // ]; // // $data['excharge'] = [ // 'desc'=>[ // '星钻大于10才能进行转赠且,转赠之后账号必须有10个星钻空余。', // '每天最多给好友转赠三次,转赠手续费将扣除转赠方星钻。', // '转赠之后无法找回,请务必确认对方身份。', // '收取到星钻必须要参加任务包复投才能再次转赠给另外好友。' // ] // ]; // // $data['score_charge'] = [ // 'desc'=>[ // '1:1兑换', // '兑换到余额 即刻到账' // ] // ]; // $data['money_charge'] = [ // 'desc'=>[ // '1:1兑换', // '兑换到积分 即刻到账' // ] // ]; // $data['medal_charge'] = [ // 'desc'=>[ // '5个积分兑换一个优先勋章', //// '一个星钻v兑换一个优先勋章', // '兑换到勋章 即刻到账' // ] // ]; // $data['open_name'] = 2; // $data['need_check_url'] = env('APP.NEED_CHECK_URL', 2); // $data['app_new_url'] = env('APP.APP_NEW_URL'); // $data['huafei_excharge'] = [ // '1、兑换成功后,因各个充值服务商原因会在72小时左右到账,介意慎拍!', //// '2、每日限充一次。', // '2、兑换话费之后,账户星钻必须有十个空余。', //// '4、本次兑换充值将支付服务费。', // '3、请仔细核对运营商跟手机号是否匹配,如用户原因导致充值失败,服务费一概不退!', // '4、目前电信号码199号段暂不支持兑换,广东、辽宁、福建、北京、重庆五个省暂不支持兑换,上海联通暂时无法兑换。', //// '7、每天兑换时间为早上8点到晚上6点,每个美康账号每个月只能兑换一次。每个手机号一个月只能兑换一次。' // '5、每天兑换时间为早上8点到晚上6点。', // '6、50元话费需5个抢购值,100元话费需10个抢购值,200元话费需20个抢购值。' // // ]; // $data['dianfei_excharge'] = [ // '1、每天兑换时间为早上八点到晚上六点,兑换成功后,因各个充值服务商原因会在72小时左右到账,介意慎拍!', // '2、兑换电费之后,账户星钻必须有十个空余。', // '3、仅限充值国家电网户号的电费,家用电、工业电,商业电充值。', // '4、户号一般为10位数字,江苏地区为320开头的13位数字,浙江地区为330开头的13位数字,安徽区地区为340开头的13位数字。请确保户号正确以及输入地址是否与户号一致,如用户原因导致充值失败,服务费一概不退!', // '5、50元电费需5个抢购值,100元电费需10个抢购值,200元电费需20个抢购值', // '6、如出现特殊问题请联系客服。' // // ]; $data['adsetting'] = [ 'android'=>[ 'appkey'=>env('LINGYE.ANDROID_APPKEY'), 'jiliid'=>env('LINGYE.ANDROID_JILIID'), 'kaipinid'=>env('LINGYE.ANDROID_KAIPINGID'), 'chapinid'=>env('LINGYE.ANDROID_CHAPINID'), ], 'ios'=>[ 'appkey'=>env('LINGYE.IOS_APPKEY'), 'jiliid'=>env('LINGYE.IOS_JILIID'), 'kaipinid'=>env('LINGYE.IOS_KAIPINGID'), 'chapinid'=>env('LINGYE.IOS_CHAPINID') ] ]; $data['jh_conf'] = [ 'jh_min_money'=>sysconfig('jhconfig', 'jh_min_money'), 'jh_max_money'=>sysconfig('jhconfig', 'jh_max_money') ]; $time = time(); $data['agent'] = [ 'privince_agent'=>[ 'http://downyjh.meikangjw.com/mlh/agent/p_agent1.png?time='.$time, 'http://downyjh.meikangjw.com/mlh/agent/p_agent2.png?time='.$time, 'http://downyjh.meikangjw.com/mlh/agent/p_agent3.png?time='.$time ], 'city_agent'=>[ 'http://downyjh.meikangjw.com/mlh/agent/c_agent1.png?time='.$time, 'http://downyjh.meikangjw.com/mlh/agent/c_agent2.png?time='.$time, 'http://downyjh.meikangjw.com/mlh/agent/c_agent3.png?time='.$time ], 'p_agent_price'=>'175000|25000', 'c_agent_price'=>'56000|8000', ]; $data['tz']=[ 'total'=>'300万', 'destroy_num'=>Db::name('tz_log')->where('type','in', [3,4])->sum('score'), 'desc'=>'通证就是赋能商城未来发展的燃料,采用区块链技术赋能于实体企业发展,集团通证总发行量1300万枚,只能拿出300万枚赋能于美乐惠电商发展,打造一个完整的商业闭环,同时也是未来链接行业上下游企业的核心通证!' ]; // $data['yg_descimg'] = getWebUrl().'/static/img/desc/yg_desc.png'; // $data['yg_oncejp_add'] = env('app.YG_ONCE_ADD', 0.1); // $data['scoreExchange'] = env('api.EXCHANGETOMONEY_BEGIN'); // $data['scoreExchange_scale'] = env('api.EXCHANGETOMONEY_SCALE'); $data['bbox_desc']=[ [ 'title'=>'一袋豪物', 'count'=>1 ], [ 'title'=>'幸运5连', 'count'=>5 ], [ 'title'=>'豪气10连', 'count'=>10 ], [ 'title'=>'超凡二十联', 'count'=>20 ] ]; $data['box_desc'] = [ ['title'=>'普通','pic'=>getWebUrl().'/'.'static/img/box/box_pic10.png', 's_pic'=>getWebUrl().'/'.'static/img/box/box_pic10_small.png', 'prob'=>'3.8%', 'box_type'=>10], ['title'=>'稀有','pic'=>getWebUrl().'/'.'static/img/box/box_pic20.png', 's_pic'=>getWebUrl().'/'.'static/img/box/box_pic20_small.png','prob'=>'30%', 'box_type'=>20], ['title'=>'史诗','pic'=>getWebUrl().'/'.'static/img/box/box_pic30.png', 's_pic'=>getWebUrl().'/'.'static/img/box/box_pic30_small.png','prob'=>'0.15%', 'box_type'=>30], ['title'=>'传说','pic'=>getWebUrl().'/'.'static/img/box/box_pic40.png', 's_pic'=>getWebUrl().'/'.'static/img/box/box_pic40_small.png','prob'=>'0.05%', 'box_type'=>40], ]; // $data['every_day_recycle_count'] = 20; $data['services_desc'] = [ '购买一次服务商有效期30天,到期后需再次手动续费。' ]; return api_succ_return(['msg'=>'成功', 'data'=>$data]); } // 获取图形验证码 public function getVerifyCode() { $captch = new CaptchaBuilder(); $captch->initialize([ 'width' => 100, // 宽度 'height' => 40, // 高度 'line' => true, // 直线 'curve' => false, // 曲线 'fontSize'=>25, // 验证码字体 'noise' => 0, // 噪点背景 'fonts' => [] // 字体 ]); $captch->create(); $uuid = uniqid(); //生成并返回图片流base64编码 ob_start (); $captch->output(1); $captchaCode = $captch->getText(); $image_data = ob_get_contents (); ob_end_clean (); $captchaDataUrl = AESjiami(base64_encode ($image_data)); $array = ['captchaDataUrl' => $captchaDataUrl, 'captcha_uuid' => $uuid]; CacheServices::set('catch'.$uuid, $captchaCode, 900); return api_succ_return(['msg'=>'成功', 'data'=>$array]); } // 发送短信验证码 public function sendSmsCode(Request $request) { $type = $request->param('type'); $mobile = $request->param('mobile'); // $code_uuid = $request->param('code_uuid'); $app_sources = $request->param('app_sources'); // $ver_code = $request->param('ver_code'); // if (empty($code_uuid)){ // return api_error_return('参数错误'); // } // if (!$ver_code || !sr_captcha_check($ver_code, $code_uuid)) { // return api_error_return(['msg'=>'图形码错误或过期', 'code'=>709]); // } // sr_log('发送短信:'.json_encode($request->post())); if (!is_numeric($mobile) || strlen($mobile)!=11){ return api_error_return('手机号码错误'); } if (!$type || !in_array($type, ['register', 'editpass', 'securitypass', 'loingcheck'])){ return api_error_return('类型错误'); } $send_user = UserModel::where(['mobile'=>$mobile])->find(); if (in_array($type, ['editpass', 'securitypass', 'loingcheck']) && !$send_user){ return api_error_return('该手机号码未注册'); } if ($type == 'register' && $send_user){ return api_error_return('该手机号码已注册,请直接登录'); } // if ($type == 'editpass' && (in_array($mobile, ['17793381135','17774155508','15530049869','18933875070','13333691688','13874407016','18833670305','15092638520','17732222351','13192786517','15966347085','15312455510','18773426559','18692059531','18216019609','13469930398','13077327370','15914077352','18818668418','13188051777']) || in_array($mobile, ['18689100091','15692611180','15608999871','13298911185','15692611136','18689111290','18689111673','18689111932','18689111591','18689111639']))){ // return api_error_return('发送失败,请联系客服'); // } $m = new NumRecordModel(); $count = $m->whereDay('create_time', 'today')->where('ip', $request->ip())->count(); // if ($count > 15){ // return api_error_return('发送失败,超过同一IP 最大发送短信数量'); // } if ($send_user){ $user_count = $m->whereDay('create_time', 'today')->where('uid', $send_user['id'])->count(); if ($user_count > 5){ return api_error_return('发送失败,超过单日用户单日最大发送短信'); } } Db::startTrans(); try { $code = ''; for ($i=0; $i < 6; $i++) { $code .= rand(1, 9); } $ser_request = new RequestUtilService(); $result = $ser_request->reqeustSmsCode($mobile, $code); // $result = 0; // sr_log($result); if ($result == 0){ $data = [ 'type'=>$type, 'content'=>$code, 'isfrom'=>$app_sources, 'phone'=>$mobile, 'uid'=>$send_user?$send_user['id']:0, 'create_time'=>sr_getcurtime(time()), 'ip'=>$request->ip() ]; $m->insert($data); }else{ throw new Exception(''); } Db::commit(); return api_succ_return('发送成功'); }catch (\Exception $e){ Db::rollback(); return api_error_return('发送失败'.$e->getMessage()); } } // 获取banner图片 public function getAppBanner(Request $request){ $post = $request->post(); if (!in_array($post['type'], [1,2,3,4,5,6])){ return api_succ_return('成功'); } // $redis = new Redis(); // $has = false; // $apikey = 'getAppBanner'.$post['type']; // if ($redis->has($apikey)){ // $list = $redis->get($apikey); // return api_succ_return(['msg'=>'成功', 'data'=>$list]); // } $modelbanner = new SystemBannerModel(); $list = $modelbanner->where('id', 'not in', [55])->where('type', $post['type'])->withAttr('img_pic', function ($val, $data){ return __HTTPIMG($val); })->select()->toArray(); if ($post['type'] == 4){ $list = [ ['id'=>1234,'create_time'=>sr_getcurtime(time()),'type'=>4, 'img_pic'=>getWebUrl().'/static/img/inviteuser/invite18.jpg'.'?time='.time(),'banner_desc'=>'', 'title'=>'邀请好友1','delete_time'=>''], ]; } // $redis->set($apikey, $list); return api_succ_return(['msg'=>'成功', 'data'=>$list]); } // 文章列表 public function articleList(Request $request){ $post = $request->post(); $modelarticle = new SystemArticleModel(); $list = $modelarticle->where('type', $post['type'])->where('id', 'not in', '6,7')->order('create_time desc') // $list = $modelarticle->where('type', $post['type'])->order('create_time desc') ->select()->toArray(); return api_succ_return(['msg'=>'成功', 'data'=>$list]); } /** * 上传文件 */ public function uploadImg(Request $request) { $file = request() -> file('file'); $type = $request->post('type'); if ($file == null) { return api_error_return('未上传图片'); } $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if(!in_array($extension, array("jpeg","jpg","png"))){ return api_error_return('图片格式错误'); } if (!in_array($type, ['avatar', 'message'])){ return api_error_return('参数错误'); } $user_info = Db::name('user')->where('id', $request->uid)->find(); if ($type == 'message'){ if ($user_info['user_type'] != 99){ return api_error_return('没有权限'); } } $saveName = Filesystem::disk('avatar') -> putFile($type, $file, 'md5'); return api_succ_return(['msg'=>'成功', 'data'=>['url'=>__HTTPIMG(str_replace('\\', '', 'uploadimg/' . $saveName)), 'base_url'=>str_replace('\\', '', 'uploadimg/' . $saveName) ]]); } // 版本更新 public function appVersionCheck(Request $request) { $curandroid = env('app.CUR_ANDROID_VERSION', ''); $curios = env('app.CUR_IOS_VERSION', ''); $curAndroidVersion = str_replace('.', '', $curandroid); $curAndroidVersion = dispRepair($curAndroidVersion, 4, '0', '0'); $curIosVersion = str_replace('.', '', $curios); $curIosVersion = dispRepair($curIosVersion, 4, '0', '0'); $app_sources = $request->param('app_sources'); $app_version = $request->param('app_version'); $app_version = str_replace('.', '', $app_version); $app_version = dispRepair($app_version, 4, '0', '0'); $new_udpate = explode('|', env('app.CUR_ANDROID_VERSION_INFO')); $new_udpate_ios = explode('|', env('app.CUR_IOS_VERSION_INFO')); // $androidupdateurl = env('app.DOWN_ANDROID_URL', ''); // $iosupdateurl = env('app.DOWN_IOS_URL', '');; $androidupdateurl = env('app.API_WEB_URL').'/api/downapp'; $iosupdateurl = env('app.API_WEB_URL').'/api/downapp'; $isandroid_force = 1; $isios_force = 1; if ($app_sources == 'ios'){ if ($curIosVersion > $app_version){ return api_succ_return(['msg'=>'成功', 'data'=>['has_update'=>1, 'cur_version'=>$curios, 'update_msg'=>$new_udpate_ios, 'update_url'=>$iosupdateurl, 'is_force'=>$isios_force, 'type'=>env('APP.DOWN_ANDROID_TYPE')]]); }else{ return api_succ_return(['msg'=>'成功', 'data'=>['has_update'=>0, 'cur_version'=>$curios, 'update_msg'=>[], 'update_url'=>'', 'is_force'=>1, 'type'=>env('APP.DOWN_ANDROID_TYPE')]]); } } if ($app_sources == 'android'){ if ($curAndroidVersion > $app_version){ return api_succ_return(['msg'=>'成功', 'data'=>['has_update'=>1, 'cur_version'=>$curandroid, 'update_msg'=>$new_udpate, 'update_url'=>$androidupdateurl, 'is_force'=>$isandroid_force, 'type'=>env('APP.DOWN_ANDROID_TYPE')]]); }else{ return api_succ_return(['msg'=>'成功', 'data'=>['has_update'=>0, 'cur_version'=>$curandroid, 'update_msg'=>[], 'update_url'=>'', 'is_force'=>1, 'type'=>env('APP.DOWN_ANDROID_TYPE')]]); } } return api_error_return('错误'); } public function userLevelDesc(Request $request){ return api_succ_return(['msg'=>"成功", 'data'=>Db::name('level_setting')->select()->toArray()]); } }