token; // // 计算签名是否正确 // $sign = sha1($rawData . $token['session_key']); // if ($sign != $signature) { // return json(['code' => self::error_debug_msg, 'msg' => '签名验证失败']); // } // $appid = config("app.$token[client_type].mini_appid"); // // 解析获取用户数据 // $user = new MiniprogramUser(); // $data = $user->getInfo($appid, $token['session_key'], $encryptedData, $iv); // $saveData = [ // 'unionid' => $token['unionid'], // 'city' => $data['city'], // 'province' => $data['province'], // 'country' => $data['country'], // 'sex' => $data['gender'], // 'nickname' => $data['nickName'], // 'headimgurl' => $data['avatarUrl'], // ]; // // 保存用户信息 // $logic = new UserLogic(); // $info = $logic->saveMiniInfo($saveData); // // 更新token // if (empty($token['uid'])) { // $token['uid'] = $info['id']; // $binded = Employee::where([['uid', '=', $info['id']], ['grant_id', '<>', 0]])->count(); // $token['isEmployee'] = $binded ? true : false; // // 添加客户线索 // if ($token['uid'] && !$token['isEmployee']) { // $this->addClue([ // 'uid' => $token['uid'], // 'employee_id' => $token['share_employee'] ?? 0, // 'org_id' => $token['share_org'] ?? $token['root_org'] // ]); // } // } // $data = http_build_query($token); // $aes = new Aes(config('app.jwt_key')); // $key = $aes->encrypt($data); // $payload = array( // "iss" => "https://" . $this->request->domain(), // "iat" => time(), // "nbf" => time(), // "data" => $key // ); // // 自定义登陆状态 // $token = JWT::encode($payload, config('app.jwt_key')); // return json(['code' => self::success, 'msg' => '信息保存成功', 'token' => $token]); // } // /** // * 授权获取并保存用户手机号 // */ // public function setUserMobile($encryptedData, $iv) // { // $request = request(); // $appid = config('app.client_appid'); // $user = new MiniprogramUser(); // $data = $user->getInfo($appid, $request->token['session_key'], $encryptedData, $iv); // $saveData = [ // 'unionid' => $request->token['unionid'], // 'phone' => $data['phoneNumber'] // ]; // // 保存用户信息 // $logic = new UserLogic(); // $info = $logic->saveMiniInfo($saveData); // // 将手机号为此号码的客户uid进行更新 // Customer::where([['phone', '=', $data['phoneNumber']], ['uid', '=', 'is NULL']])->update(['uid' => $info->id]); // // 线索更新手机号 // if (!empty($request->token['share_employee'])) { // CustomerClue::where([ // 'uid' => $request->token['uid'], // 'employee_id' => $request->token['share_employee'] // ])->update(['phone' => $data['phoneNumber']]); // } // return json(['code' => self::success, 'msg' => '信息保存成功', 'mobile' => $data['phoneNumber']]); // } // private function addClue($data) // { // $had = CustomerClue::where($data)->find(); // if (!$had) { // CustomerClue::create($data); // } else { // $had->updatetime = date('Y-m-d H:i:s'); // $had->save(); // } // } }