123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <?php
- namespace app\client\controller;
- use app\logics\UserLogic;
- use app\model\Customer;
- use app\model\CustomerClue;
- use app\model\Employee;
- use Firebase\JWT\JWT;
- use openssl\Aes;
- use wx\miniprogram\User as MiniprogramUser;
- class User extends Base
- {
- // /**
- // * 授权获取用户信息(客户小程序调用)
- // */
- // public function setUserInfo($encryptedData, $iv, $signature, $rawData)
- // {
- // $request = request();
- // $token = $request->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();
- // }
- // }
- }
|