이 기사의 내용은 WeChat 공개 계정 개발에 대한 전체 튜토리얼입니다. 이제는 모든 사람과 공유합니다.
업무상 필요에 따라 참조할 수 있습니다. 지난 2년 동안 WeChat 공개 계정은 계정과 소규모 프로그램이 되어 더 많은 프로젝트가 생산되었습니다. 그래서 저는 포괄적인 제작 튜토리얼을 작성하려고 합니다. 물론 최고의 튜토리얼은 WeChat 작업 플랫폼의 문서입니다. 여기서는 제 작품의 제작 과정에 대해서만 이야기하겠습니다. 나는 내 자신의 github에 모든 관련 기사의 소스 코드를 호스팅합니다. 팔로우를 환영합니다: 주소링크를 열려면 클릭하세요. 튜토리얼을 시작하겠습니다. 이 섹션에서는 웹페이지 인증 생성에 대해 설명합니다. 이번에는 WeChat 공개 계정 테스트 계정을 사용하여 이 기능을 완료합니다.
WeChat 문서:
콜백 도메인 설정:
_Snsapi_base
Oopenid 만 인식 없이 자동 인증 사용자에게 속합니다. Snsapi_userinfo
를 획득하여 사용자의 기본 정보를 획득할 수 있지만, 사용자가 수동으로 인증해야 합니다.1.2:
정보전체 웹페이지 인증에 사용되는
access_token은 웹페이지 인증 프로세스 중에만 사용할 수 있습니다. 다른 인터페이스에서 사용하는 access_token의 경우 기본 인터페이스에서 얻은 값을 사용해야 합니다.
1.3
1
코드를 인증하고 획득하는 데 동의합니다(사용자에게 인증 인터페이스를 열도록 안내해야 합니다). 2
2단계: 웹페이지 인증access_token 대신 code 사용 access_token (필요한 경우) 4 Jump 주소의 기능은 다음과 같습니다.
2.2부트 점프를 구현하는 첫 번째 단계
코드는 다음과 같습니다.
// 引导跳转的方式 public function auth($action_name, $controller_name) { // var_dump($action_name, $controller_name); $bak = urlencode("http://www.xiaoziheng.club/home/".$controller_name."/".$action_name); $redirecr_uri =urlencode('http://www.xiaoziheng.club/home/demo/getcode?bak='.$bak); $url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$this->appid."&redirect_uri=" .$redirecr_uri."&response_type=code&scope=snsapi_userinfo&state=".time()."#wechat_redirect"; header('Location:'.$url); }
두 매개변수는 다음과 같습니다: 점프 주소의 컨트롤러와 메소드:
public function __construct(Request $request) { parent::__construct(); $this->accessToken = get_access_token(); //获得方法 $action_name =$request->action(); //获得控制器 $controller_name = $request->controller(); if(!cookie('user')){ if($action_name !='getcode'){ $this->auth($action_name, $controller_name); } } }
부트 메소드에서 getcode의 값을 얻습니다. 함수는 다음과 같습니다. : 두 번째, 세 번째, 네 번째 단계의 구현 방법이 포함됩니다.
public function getcode(Request $request) { $code = $_GET['code']; if(!$code){ echo '微信服务器故障'; exit; } // 第二步:通过code换取网页授权中的access_token $url ="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->appsecret ."&code=".$code."&grant_type=authorization_code"; $result =file_get_contents($url); $result = json_decode($result,true); if(!$result){ echo '微信服务器故障'; exit; } // 第三步:获取用户的基本信息,此操作仅限scope为snspai_userinfo $url ="https://api.weixin.qq.com/sns/userinfo?access_token=".$result['access_token']."&openid=" .$result['openid']."&lang=zh_CN"; $result =file_get_contents($url); $result = json_decode($result,true); $userInfo = db('user')->where("openid","=",$result['openid'])->find(); if(!$userInfo){ echo '操作数据可以'; $data = [ 'nickname' =>$result['nickname'] , 'openid'=>$result['openid'], 'headimgurl'=>$result['headimgurl'] ]; db('user')->insert($data); $userInfo = $result; } // 第四步骤:跳转回跳转地址 $bak = $_GET['bak']; cookie('user',$userInfo); header('Location:'.$bak); }
구현 과정에서 요청한 사용자 정보를 데이터베이스에 저장합니다. 데이터베이스에 값이 있는지 판단됩니다.
Alibaba Cloud에 서버를 설정하고 얻은 데이터는 다음과 같습니다.
웹 페이지 인증 결과는 그림과 같습니다. :
주의 사항 및 요점:
이것이 위의 테스트 결과에서 확인 프롬프트 상자가 표시되지 않는 이유이며, 각 매개 변수에 대한 충분한 이해가 필요합니다. 인터페이스에서 학습합니다. 각 매개변수의 의미 및 WeChat의 OAuth2.0 프로토콜에 대한 이해: 이 프로토콜에 대한 좋은 기사는 다음과 같습니다. 링크를 열려면 클릭하세요.
사실 WeChat의 문서를 주의 깊게 읽고 개발할 때 주의하시기 바랍니다. , 당신은 기본적으로 WeChat 공개 계정을 개발할 수 있습니다. 다음 섹션에서는 리소스 파일 업로드에 대한 지식 포인트에 대해 이야기하겠습니다...
관련 권장 사항:
위 내용은 WeChat 공개 계정 개발에 대한 튜토리얼 4를 완료하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!