verify(request()->input()); } /** * 验证登录状态 * @return bool * @throws ShopException */ public function checkLogged() { return $this->verify(request()->input()); } /** * @param $data * @return bool * @throws ShopException */ public function verify($data) { $this->getAppData(); if ($this->error) { return false; } $hfSign = new FreeLoginSign(); $hfSign->setKey($this->appSecret); $hfSign->setUniqueCode($this->uniqueCode ? : ''); $yzMember = MemberShopInfo::getMemberShopInfo($data['mob_user']); if (!$yzMember) { $bind_member = SynchronizedBinder::uniacid()->where('old_uid', $data['mob_user'])->first(); if (!$bind_member) { return false; } $yzMember = MemberShopInfo::getMemberShopInfo($bind_member->new_uid); if (!$yzMember) { return false; } } if (!$data['app_token'] || $data['app_token'] != $yzMember->access_token_2) { return false; } $uid = $yzMember->member_id; Session::set('member_id', $uid); return true; } private function getAppData() { $appData = \Setting::get('plugin.aggregation-cps'); if (is_null($appData) || !app('plugins')->isEnabled('aggregation-cps')) { $this->error = true; throw new ShopException('应用未启用'); } if (!empty($appData['plat_unique_code']) && $appData['unique_mode']) { $appData['app_key'] = SettingManageService::getDefaultKey(); $appData['app_secret'] = SettingManageService::getDefaultSecret(); $this->uniqueCode = trim($appData['plat_unique_code']) ?: ''; } elseif (empty($appData['app_key']) || empty($appData['app_secret'])) { $this->error = true; throw new ShopException('应用未启用'); } if ($appData['app_key'] != request()->input('appid')) { $this->error = true; throw new ShopException('访问身份异常'); } $this->appId = $appData['app_key']; $this->appSecret = $appData['app_secret']; } public function addMcMember($data) { $member_model = new MemberModel(); $member_model->uniacid = $data['i']; $member_model->email = ''; $member_model->mobile = $data['mob_user']; $member_model->groupid = 0; $member_model->createtime = time(); $member_model->nickname = stripslashes($data['nickname']); $member_model->avatar = isset($data['headimgurl']) ? $data['headimgurl'] : Url::shopUrl('static/images/photo-mr.jpg');; $member_model->gender = isset($data['sex']) ? $data['sex'] : -1; $member_model->nationality = isset($data['country']) ? $data['country'] : ''; $member_model->resideprovince = isset($data['province']) ? $data['province'] : '' . '省'; $member_model->residecity = isset($data['city']) ? $data['city'] : '' . '市'; $member_model->credit1 = isset($data['credit1']) ? $data['credit1'] : 0; $member_model->credit2 = isset($data['credit2']) ? $data['credit2'] : 0; $member_model->salt = Str::random(8); $member_model->password = md5(mt_rand()); if ($member_model->save()) { return $member_model->uid; } else { return 0; } } public function addYzMember($member_id, $uniacid) { SubMemberModel::insertData(array( 'member_id' => $member_id, 'uniacid' => $uniacid, 'group_id' => 0, 'level_id' => 0, 'pay_password' => '', 'salt' => '', 'yz_openid' => '', )); } }