|
@@ -2,9 +2,14 @@
|
|
|
|
|
|
namespace App\Http\Controllers\Api\Auth;
|
|
|
|
|
|
+use App\Models\Company;
|
|
|
+use App\Models\Member;
|
|
|
+use App\Models\MemberInfo;
|
|
|
+use App\Models\ThirdToken;
|
|
|
use App\Models\WechatAuth;
|
|
|
use Illuminate\Http\Request;
|
|
|
use App\Http\Controllers\Api\ApiBaseController;
|
|
|
+use Illuminate\Support\Facades\Storage;
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
use App\Services\Auth\AuthService;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
@@ -84,7 +89,7 @@ class AuthController extends ApiBaseController
|
|
|
$state = $request->input('state', '');
|
|
|
|
|
|
//存参数
|
|
|
- $auth = WechatAuth::create(['url'=>$url,'state'=>$state]);
|
|
|
+ $auth = WechatAuth::create(['url' => $url, 'state' => $state]);
|
|
|
|
|
|
//微信授权
|
|
|
$wechat_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$app_id}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_userinfo&state={$auth['id']}#wechat_redirect";
|
|
@@ -101,19 +106,19 @@ class AuthController extends ApiBaseController
|
|
|
$wechatUser = $officialAccount->oauth->user()->getOriginal();
|
|
|
|
|
|
//回调
|
|
|
- $id = $request->input('state');
|
|
|
- $auth = WechatAuth::where('id',$id)->first();
|
|
|
+ $id = $request->input('state');
|
|
|
+ $auth = WechatAuth::where('id', $id)->first();
|
|
|
$wechatUser['state'] = $auth['state'];
|
|
|
unset($wechatUser['privilege']);
|
|
|
|
|
|
//循环拼接表单项
|
|
|
- $formItemString = '' ;
|
|
|
- foreach ( $wechatUser as $key => $value ){
|
|
|
- $formItemString .= "<input name='{$key}' type='text' value='{$value}'/>" ;
|
|
|
+ $formItemString = '';
|
|
|
+ foreach ($wechatUser as $key => $value) {
|
|
|
+ $formItemString .= "<input name='{$key}' type='text' value='{$value}'/>";
|
|
|
}
|
|
|
|
|
|
//构造表单并跳转
|
|
|
- $content =<<<EOF
|
|
|
+ $content = <<<EOF
|
|
|
<form style= 'display:none' name= 'submit_form' id= 'submit_form' action= '{$auth["url"]}' method= 'post' >
|
|
|
{ $formItemString }
|
|
|
</form>
|
|
@@ -122,7 +127,7 @@ document.submit_form.submit();
|
|
|
</script>
|
|
|
EOF;
|
|
|
|
|
|
- exit ( $content );
|
|
|
+ exit ($content);
|
|
|
}
|
|
|
|
|
|
public function test(Request $request)
|
|
@@ -130,4 +135,66 @@ EOF;
|
|
|
dd($request->post());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据token获取信息
|
|
|
+ */
|
|
|
+ public function getInfoByToken(Request $request)
|
|
|
+ {
|
|
|
+ $token = $request->post('token');
|
|
|
+ if (empty($token)) {
|
|
|
+ return response()->json([
|
|
|
+ 'code' => 2,
|
|
|
+ 'message' => '请输入token',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $token_info = ThirdToken::where('token', $token)->first();
|
|
|
+ if (empty($token_info)) {
|
|
|
+ return response()->json([
|
|
|
+ 'code' => 2,
|
|
|
+ 'message' => 'token错误',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $expire = strtotime($token_info['expire_at']);
|
|
|
+ if ($expire < time()) {
|
|
|
+ return response()->json([
|
|
|
+ 'code' => 2,
|
|
|
+ 'message' => 'token已过期',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ $token_info->expire_at = date('Y-m-d H:i:s', time() + 7200);
|
|
|
+ $token_info->save();
|
|
|
+
|
|
|
+ if ($token_info['type'] == 1) {
|
|
|
+ $member = Member::where('id', $token_info['type_id'])->first();
|
|
|
+ $member_info = MemberInfo::where('uid', $token_info['type_id'])->first();
|
|
|
+ $info = [
|
|
|
+ 'type' => 1,
|
|
|
+ 'realname' => $member_info['realname'],
|
|
|
+ 'avatar' => $member['avatars'] ? upload_asset($member['avatars']) : '',
|
|
|
+ 'sex' => $member_info['sex'],
|
|
|
+ 'mobile' => $member['mobile'],
|
|
|
+ 'email' => $member['email'],
|
|
|
+ ];
|
|
|
+ } elseif ($token_info['type'] == 2) {
|
|
|
+ $company = Company::where('id', $token_info['type_id'])->first();
|
|
|
+ $info = [
|
|
|
+ 'type' => 2,
|
|
|
+ 'companyname' => $company['companyname'],
|
|
|
+ 'logo' => $company['logo'] ? upload_asset($company['logo']) : '',
|
|
|
+ 'mobile' => $company['mobile'],
|
|
|
+ 'email' => $company['email'],
|
|
|
+ 'address' => $company['address'],
|
|
|
+ 'contact' => $company['contact'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ return response()->json([
|
|
|
+ 'code' => 1,
|
|
|
+ 'data' => $info,
|
|
|
+ 'message' => '成功',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|