input('code'); if (empty($code)) { return ToolsServices::error('code'); } $appid = 'wxfb03a1f6f60d6471'; $appsecret = 'd4dbcb5db48fdb2a09727518f68a6cb1'; $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$appsecret&js_code=$code&grant_type=authorization_code"; $result = file_get_contents($url); $result = json_decode($result, true); Log::info('sss', ['result' => $result]); if (isset($result['errcode']) && $result['errcode'] != 0) { return ToolsServices::error($result['errmsg']); } if (!isset($result['session_key'])){ return ToolsServices::error('登录失败'); } $openid = $result['openid']; $session_key = $result['session_key']; $info = \App\Models\User::getInfoByOpenid($openid); if ($info) { if ($info['session_key'] != $session_key) { \App\Models\User::updateByOpenid($openid,['session_key'=>$session_key]); $request->session()->forget(md5($info['session_key'])); } unset($info['session_key']); }else{ $data = [ 'nickname' => 'XL'.time().mt_rand(1000,9999), 'openid' => $openid, 'session_key' => $session_key, 'avater' => 'https://ocr.lfwhzb.com/image/avater.jpeg', ]; $id = \App\Models\User::insert($data); $info = \App\Models\User::getInfoById($id); } $token = md5($session_key); $info['token'] = $token; Cache::put($token,$info['id'],86400); return ToolsServices::returnAdmin(0,$info); } public static function modifyUserInfo(Request $request){ $save = []; $nickname = $request->input('nickname'); if (!empty($nickname)){ $save['nickname'] = $nickname; } $avatar = $request->file('avater'); Log::info('sss', ['avatar' => $avatar]); if (!empty($avatar)){ $avatar = $avatar->store('image'); $save['avater'] = 'https://ocr.lfwhzb.com/'.$avatar; }else{ $avatar = $request->input('avater'); if (!empty($avatar)){ $save['avater'] = $avatar; } } $desc = $request->input('desc'); if (!empty($desc)){ $save['desc'] = $desc; } $id = Cache::get($request->header('token')); if (!empty($save)){ \App\Models\User::updateById($id,$save); } $info = \App\Models\User::getInfoById($id); return ToolsServices::returnAdmin(0,$info); } public static function getUserInfo(Request $request){ $id = $request->post('id',Cache::get($request->header('token'))); $info = UserService::getUserInfoByUserId($id); return ToolsServices::returnAdmin(0,$info); } public static function focus(Request $request){ $id = $request->post('id',Cache::get($request->header('token'))); $user_id = $request->input('user_id'); UserService::focus($id,$user_id); return ToolsServices::returnAdmin(0,[]); } public static function delFocus(Request $request){ $id = $request->post('id',Cache::get($request->header('token'))); $user_id = $request->input('user_id'); UserService::delFocus($id,$user_id); return ToolsServices::returnAdmin(0,[]); } public static function switchIdentity(Request $request){ $id = $request->post('id',Cache::get($request->header('token'))); $identity = $request->input('identity',0); if ($identity == 1){ $info = Consultants::checkConsultants($id); if (empty($info)){ return ToolsServices::returnAdmin(0,['result'=>false]); } } if ($identity == 2) { $info = Institution::checkInstitution($id); if (empty($info)){ return ToolsServices::returnAdmin(0,['result'=>false]); } } \App\Models\User::updateById($id,['identity'=>$identity]); return ToolsServices::returnAdmin(0,['result'=>true]); } public function pay(Request $request) { $id = $request->post('id',Cache::get($request->header('token'))); $order_id = $request->input('order_id'); $orderInfo = Order::getOrderInfoByOutTradeNo($order_id); if (empty($orderInfo)){ return ToolsServices::returnAdmin(0,['result'=>false]); } $info = UserService::getUserInfoByUserId($id); $order = [ 'openid' => $info["openid"], 'out_trade_no' => $orderInfo["out_trade_no"], 'total_fee' => $orderInfo["total_fee"], // **单位:分** 'body' => "订阅", ]; $result = Pay::wechat()->miniapp($order)->toArray(); return ToolsServices::returnAdmin(0, $result); } public static function reviewLog(Request $request) { $id = $request->post('id',Cache::get($request->header('token'))); $page = $request->input('page', 1); $limit = $request->input('limit', 10); $los = Review::getList($id,$page,$limit); return ToolsServices::returnAdmin(0,$los); } public static function review(Request $request) { $id = $request->post('id',Cache::get($request->header('token'))); $file = $request->file('file'); $file = $file->store('review'); $data = [ 'user_id' => $id, 'file_name' => $file ]; $pay_id = $request->input('pay_id'); $priceList = array_column(self::$price,null,'id'); if (Review::insertData($data)){ $price = $priceList[$pay_id]['total_fee']; $orderId = 'XL-'.time().'-'.mt_rand(1000,9999); $orderInfo = [ 'user_id' => $id, 'out_trade_no' => $orderId, 'total_fee' => $price, ]; Order::insertData($orderInfo); return ToolsServices::returnAdmin(0,['result'=>true,'order_id'=>$orderId]); }else{ return ToolsServices::returnAdmin(0,['result'=>false,'order_id' => '']); } } static $price = [ [ 'id' => 1, 'type' => 1, 'price' => 29, 'total_fee' => 2900, 'original_price' => 39, 'title' => '试一下', 'desc' => '近测评本次', ],[ 'id' => 2, 'type' => 2, 'price' => 79, 'total_fee' => 7900, 'original_price' => 156, 'title' => '包年会员', 'desc' => '一年可测评4次', ],[ 'id' => 3, 'type' => 1, 'price' => 59, 'total_fee' => 5900, 'original_price' => 99, 'title' => '人工解读', 'desc' => '仅限本次', ], ]; public static function getPrice(Request $request) { return ToolsServices::returnAdmin(0,['result'=>self::$price]); } public static function getResult(Request $request) { $id = $request->post('id',Cache::get($request->header('token'))); $logId = $request->post('log_id'); $log = Review::getInfoById($logId,$id); $text = $log['result']; if (empty($text)){ $text = '正在处理中。。。'; } return ToolsServices::returnAdmin(0,['text'=>$text]); } }