Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliches Tutorial zur Verwendung des YII2-Frameworks zur Entwicklung und Implementierung der Formularübermittlungsfunktion in öffentlichen WeChat-Konten

Ausführliches Tutorial zur Verwendung des YII2-Frameworks zur Entwicklung und Implementierung der Formularübermittlungsfunktion in öffentlichen WeChat-Konten

巴扎黑
巴扎黑Original
2017-09-07 13:53:381649Durchsuche

Als ich zum ersten Mal mit WeChat in Kontakt kam, musste ich eine Funktion zum Senden von Formularen erstellen. Die Anforderung war, dass das Formular nur für die in der Datenbank vorhandene Mobiltelefonnummer sichtbar sein sollte. In diesem Artikel werde ich mit Ihnen teilen, wie Sie das YII2-Framework verwenden, um die Formularübermittlungsfunktion in öffentlichen WeChat-Konten zu implementieren. Interessierte Freunde sollten einen Blick darauf werfen

Ich bin neu bei WeChat und möchte es machen eine Funktion zum Senden von Formularen auf Mobiltelefonen.

Die Anforderungen lauten wie folgt:

  1. Das Formular ist nur auf Mobiltelefonnummern sichtbar, die in der Datenbank vorhanden sind.

  2. Das Formular kann wiederholt eingereicht werden.

  3. Bei der erstmaligen Eingabe des Formulars ist eine Verifizierung erforderlich

  4. Von anderen geteilte Seiten müssen nach der Eingabe ebenfalls verifiziert werden.

Weil die Eröffnungs-ID jedes Mobiltelefons im selben offiziellen Konto einzigartig ist. Wenn Sie diese Formularseite auf einem Mobiltelefon anzeigen, wird die OpenID daher in der Datenbank gespeichert, damit sie beim nächsten Absenden überprüft werden kann.

Unten ist mein Code. Es wird das YII2-Framework verwendet.

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]);
    }
  }`

Ansichtsebene

Sehr einfache Weiterleitungsseite


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');

Der zurückgegebene Pfad ist der Pfad zur Eingabe des Controllers.

Auf der Formularseite habe ich zunächst eine einfache Authentifizierung durchgeführt


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

Um festzustellen, ob es von der freigegebenen Seite kommt, wenn es von der kommt Geteilte Seite Wenn Sie auf die Seite gelangen, müssen Sie erneut überprüfen, ob die OpenID dieses Mobiltelefons in der Datenbank vorhanden ist. Wenn nicht, überprüfen Sie die Mobiltelefonnummer.

Das ist es, mein erstes einfaches öffentliches WeChat-Kontoprojekt.

Das obige ist der detaillierte Inhalt vonAusführliches Tutorial zur Verwendung des YII2-Frameworks zur Entwicklung und Implementierung der Formularübermittlungsfunktion in öffentlichen WeChat-Konten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn