>  기사  >  백엔드 개발  >  YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 개발하고 구현하는 방법에 대한 자세한 튜토리얼

YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 개발하고 구현하는 방법에 대한 자세한 튜토리얼

巴扎黑
巴扎黑원래의
2017-09-07 13:53:381664검색

처음 WeChat을 접했을 때, 양식 제출 기능을 만들어야 했습니다. 요건은 데이터베이스에 존재하는 휴대폰 번호로만 볼 수 있다는 것이었습니다. 이 기사를 통해 YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 구현하는 방법을 공유하겠습니다. 관심 있는 친구는 꼭 살펴보시기 바랍니다.

저는 WeChat을 처음 사용하고 있으며 양식을 만들고 싶습니다. 휴대폰의 제출 기능.

요구사항은 다음과 같습니다.

  1. 양식은 데이터베이스에 존재하는 휴대폰 번호에서만 볼 수 있습니다.

  2. 양식은 반복해서 제출할 수 있습니다.

  3. 양식을 처음 입력할 때는 인증이 필요합니다

  4. 당신이 공유하는 페이지는 다른 사람이 입력한 후에도 인증이 필요합니다.

동일 공식 계정 내 휴대폰의 오픈ID는 각각 다르기 때문이죠. 따라서 휴대폰에서 이 양식 페이지를 볼 때 openid가 데이터베이스에 저장되므로 다음에 제출할 때 확인할 수 있습니다.

아래는 내 코드입니다. YII2 프레임워크가 사용됩니다.

Controller


//获得回调函数
 public function actionCallback($code,$state){
    $model = new tp_tstz_proposal();
    $model1= new tp_tstz_staff();
    // 微信开放平台网站应用的appid和秘钥secret
    $appid = '';
    $secret = '';
    $curl = new curl\Curl();
    //获取access_token
    $wxresponse = $curl->get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid
      . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code');
    $wxresult = json_decode($wxresponse);
    if(isset($wxresult->errcode) && $wxresult->errcode > 0){
      //分享出去,重新认证
     return $this->render('login');
      // 向微信请求授权时出错,打印错误码
      // echo json_encode($wxresult);
      // exit;
    }
    $openid=$wxresult->openid;
    $result=$model1::find()->where(['openid'=>$openid])->one();
    //如果OPENID存在就去表单
    if(count($result)>0){
      $key=123456;
      return $this->render('view',['model'=>$model,'key'=>$key]);
    }else{
      return $this->render('tel',['model'=>$model1,'openid'=> $openid]);
    }
  }`

view layer

매우 간단한 리디렉션 페이지


header('Location:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8ba95fc51672e844&redirect_uri=http%3a%2f%2fjifen.wendu.cn%2fts%2fweb%2findex.php%3fr%3dproposal%2fcallback&response_type=code&scope=snsapi_base&state=123asd#wechat_redirect');

반환된 경로는 컨트롤러에 대한 경로입니다.

양식 페이지에서는 공유 페이지에서 오는지 확인하기 위해 먼저 간단한 인증을 했습니다


if(!isset($key)){
  header('Location:http://jifen.wendu.cn/ts/web/index.php?r=say/login');
}

공유 페이지에서 오는 경우 휴대폰 여부를 다시 확인해야 합니다. openid에 있습니다. 그렇지 않은 경우 휴대폰 번호를 확인하세요.

이제 저의 첫 번째 간단한 WeChat 공개 계정 프로젝트입니다.

위 내용은 YII2 프레임워크를 사용하여 WeChat 공개 계정에서 양식 제출 기능을 개발하고 구현하는 방법에 대한 자세한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.