Heim Web-Frontend js-Tutorial Beispielmethode zum Abrufen von Benutzerinformationen im WeChat-Applet

Beispielmethode zum Abrufen von Benutzerinformationen im WeChat-Applet

May 12, 2018 pm 05:04 PM
信息 实例 小程序

Dieser Artikel stellt hauptsächlich vor, wie das WeChat-Applet Benutzerinformationen erhält. Ich hoffe, dass es jedem helfen kann.

Zum Beispiel können wir in einem Browser das DOM-Objekt der Seite über document.getElementById abrufen. Das DOM-Objekt kann jedoch nicht im WeChat-Applet abgerufen werden. document.getElementById() meldet direkt einen Fehler, getElementById funktioniert nicht. Ich bin auch betrunken. Ohne diese Unterstützung sind viele interessante Features nicht umsetzbar.
Um zum Geschäftlichen zurückzukehren, lassen Sie mich über meine Gedanken zum Erhalt von Benutzerinformationen sprechen.

Es gibt zwei Möglichkeiten, Benutzerinformationen zu erhalten.
1. Ein JSON-Objekt, das keine vertraulichen Informationen openId enthält (einschließlich grundlegender Informationen wie Spitzname, Avatar-Url usw.)
2. Enthält grundlegende Informationen wie vertrauliche Informationen openId.

Die erste Erfassungslösung

1. Rufen Sie zuerst die wx.login()-Schnittstelle auf, um die Überprüfung der Benutzerberechtigung zu ermöglichen, was wir beim Nackten beobachten Auge. Ob diese Art von Informationen für xxxxx autorisiert werden soll.
2. Rufen Sie nach erfolgreicher Autorisierung des Benutzers die Schnittstelle wx.getUserInfo() auf, um Benutzerinformationen abzurufen.

Der vollständige Code lautet wie folgt

wx.login({
 success:function(){
 wx.getUserInfo({
  success:function(res){
  var simpleUser = res.userInfo;
  console.log(simpleUser.nickName);
  }
 });
 }
});
Nach dem Login kopieren

Der zweite Typ ist komplizierter und erfordert eine Interaktion mit dem Hintergrund, um Benutzerinformationen zu erhalten, aber die erhaltenen Daten Damit ist die Lösung vollständig (enthält openId).

1. Rufen Sie die Schnittstelle wx.login() auf, um Code zu autorisieren und in die Parameter der Erfolgsfunktion aufzunehmen.
2. Rufen Sie die Erfolgsfunktion wx.getUserInfo() auf, die verschlüsselte Daten und iv enthält.
3. Übergeben Sie die oben genannten Parameter zur Analyse an den Hintergrund und generieren Sie userInfo.

Der Code lautet wie folgt
js

var request = require("../../utils/request.js");

wx.login({
 success:function(res_login){
  if(res_login.code)
  {
  wx.getUserInfo({
   withCredentials:true,
   success:function(res_user){
   var requestUrl = "/getUserApi/xxx.php";
   var jsonData = {
    code:res_login.code,
    encryptedData:res_user.encryptedData,
    iv:res_user.iv
    };
   request.httpsPostRequest(requestUrl,jsonData,function(res){
   console.log(res.openId);
   });
   }
  })
  }
 }
 })
Nach dem Login kopieren

Hintergrundanalyse

/**
 * 获取粉丝信息
 * 其中的参数就是前端传递过来的
 */
public function wxUserInfo($code,$encryptedData,$iv)
{
 $apiUrl = "https://api.weixin.qq.com/sns/jscode2session?appid={$this->wxConfig['appid']}&secret={$this->wxConfig['appsecret']}&js_code={$code}&grant_type=authorization_code";

 $apiData = json_decode(curlHttp($apiUrl,true),true);

 if(!isset($apiData['session_key']))
 {
 echoJson(array(
  "code" => 102,
  "msg" => "curl error"
 ),true);
 }

 $userInfo = getUserInfo($this->wxConfig['appid'],$apiData['session_key'],$encryptedData,$iv);

 if(!$userInfo)
 {
 echoJson(array(
  "code" => 105,
  "msg" => "userInfo not"
 ));
 }

 //$userInfo = json_decode($userInfo,true);

 //载入用户服务
 //$userService = load_service("User");

 //$userService->checkUser($this->projectId,$userInfo);

 echo $userInfo; //微信响应的就是一个json数据
}
Nach dem Login kopieren

getUserInfo-Funktion, wobei wxBizDataCrypt.php das offiziell von WeChat bereitgestellte Materialpaket ist

curlHttp-Funktion ist a Benutzerdefinierte Funktion. Sehen Sie sich den Quellcode dieser Funktion an

//获取粉丝信息
function getUserInfo($appid,$sessionKey,$encryptedData,$iv){
 require_once ROOTPATH . "/extends/wxUser/wxBizDataCrypt.php";
 $data = array();
 $pc = new WXBizDataCrypt($appid, $sessionKey);
 $errCode = $pc->decryptData($encryptedData, $iv, $data );

 if ($errCode == 0) {
 return $data;
 } else {
 return false;
 }
}
Nach dem Login kopieren

ein kleines Tool request.js geschrieben von mir

var app = getApp();

//远程请求
var __httpsRequest = {

 //http 请求
 https_request : function(obj){
 wx.request(obj);
 },

 //文件上传
 upload_request : function(dataSource){
 wx.uploadFile(dataSource);
 }
};

module.exports = {
 //执行异步请求get
 httpsRequest:function(obj){
 var jsonUrl = {};
 jsonUrl.url = obj.url;
 if(obj.header)jsonUrl.header=obj.header;
 if(obj.type)
  jsonUrl.method = obj.type;
 else
  jsonUrl.method="GET";
 if(obj.data)jsonUrl.data = obj.data;
 obj.dataType?(jsonUrl.dataType=obj.dataType):(jsonUrl.dataType="json");

 jsonUrl.success = obj.success;

 jsonUrl.data.projectId = app.globalData.projectId;

 __httpsRequest.https_request(jsonUrl);
 },

 //get 请求
 httpsGetRequest:function(req_url,req_obj,res_func)
 {
 var jsonUrl = {
  url:app.globalData.host + req_url,
  header:{"Content-Type":"application/json"},
  dataType:"json",
  method:"get",
  success:function(res)
  {
  typeof res_func == "function" && res_func(res.data);
  }
 }

 if(req_obj)
 {
  jsonUrl.data = req_obj;
 }

 jsonUrl.data.projectId = app.globalData.projectId;

  __httpRequest.https_request(jsonUrl);
 },

 //post 请求
 httpsPostRequest:function(req_url,req_obj,res_func)
 {
 var jsonUrl = {
  url:app.globalData.host + req_url,
  header:{"Content-Type":"application/x-www-form-urlencoded"},
  dataType:"json",
  method:"post",
  success:function(res)
  {
  typeof res_func == "function" && res_func(res.data);
  }
 }

 if(req_obj)
 {
  jsonUrl.data = req_obj;
 }

 jsonUrl.data.projectId = app.globalData.projectId;

  __httpsRequest.https_request(jsonUrl);
 },

 //文件上传
 httpsUpload:function(uid,fileDataSource,res_func)
 {
 dataSource = {
  url:app.globalData.host + req_url,
  header:{
  "Content-Type":"multipart/form-data"
  },
  dataType:"json",
  formData : {
  "uid" : uid
  },
  filePath : fileDataSource,
  name : "fileObj",
  success:function(res){
  typeof res_func == "function" && res_func(res);
  }
 }

 __httpsRequest.upload_request(dataSource);
 }
};
Nach dem Login kopieren

app.globalData.host ist der Domainname Adresse wie https://xxxxx. com;

Verwandte Empfehlungen:

So implementieren Sie das WeChat-Applet, um Benutzerinformationen zu erhalten

So implementieren Sie WeChat in Thinkphp5. Fallstudie der Schnittstelle eines Miniprogramms zum Erhalten von Benutzerinformationen.

10 empfohlene Artikel zum Erhalten von Benutzerinformationen.

Das obige ist der detaillierte Inhalt vonBeispielmethode zum Abrufen von Benutzerinformationen im WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Implementieren Sie Kartenumdreheffekte in WeChat-Miniprogrammen Implementieren Sie Kartenumdreheffekte in WeChat-Miniprogrammen Nov 21, 2023 am 10:55 AM

Implementieren von Kartenumdreheffekten in WeChat-Miniprogrammen In WeChat-Miniprogrammen ist die Implementierung von Kartenumdreheffekten ein häufiger Animationseffekt, der die Benutzererfahrung und die Attraktivität von Schnittstelleninteraktionen verbessern kann. Im Folgenden wird detailliert beschrieben, wie der Kartenumdrehungseffekt im WeChat-Applet implementiert wird, und relevante Codebeispiele bereitgestellt. Zunächst müssen Sie in der Seitenlayoutdatei des Miniprogramms zwei Kartenelemente definieren, eines für die Anzeige des vorderen Inhalts und eines für die Anzeige des hinteren Inhalts. Der spezifische Beispielcode lautet wie folgt: <!--index.wxml-. ->&l

So erhalten Sie die GPU in Windows 11 und überprüfen die Grafikkartendetails So erhalten Sie die GPU in Windows 11 und überprüfen die Grafikkartendetails Nov 07, 2023 am 11:21 AM

Systeminformationen verwenden Klicken Sie auf Start und geben Sie Systeminformationen ein. Klicken Sie einfach auf das Programm, wie im Bild unten gezeigt. Hier finden Sie die meisten Systeminformationen und unter anderem Informationen zur Grafikkarte. Erweitern Sie im Systeminformationsprogramm Komponenten und klicken Sie dann auf Anzeigen. Lassen Sie das Programm alle notwendigen Informationen sammeln und sobald es fertig ist, können Sie den grafikkartenspezifischen Namen und andere Informationen auf Ihrem System finden. Auch wenn Sie über mehrere Grafikkarten verfügen, finden Sie hier die meisten Inhalte zu dedizierten und integrierten Grafikkarten, die an Ihren Computer angeschlossen sind. Verwenden des Geräte-Managers von Windows 11 Wie bei den meisten anderen Windows-Versionen können Sie auch die Grafikkarte auf Ihrem Computer über den Geräte-Manager finden. Klicken Sie auf Start und dann

Alipay hat das Miniprogramm „Chinese Character Picking-Rare Characters' gestartet, um die Bibliothek seltener Charaktere zu sammeln und zu ergänzen Alipay hat das Miniprogramm „Chinese Character Picking-Rare Characters' gestartet, um die Bibliothek seltener Charaktere zu sammeln und zu ergänzen Oct 31, 2023 pm 09:25 PM

Laut Nachrichten dieser Website vom 31. Oktober und 27. Mai dieses Jahres kündigte die Ant Group den Start des „Chinese Character Picking Project“ an und leitete kürzlich neue Fortschritte ein: Alipay startete das Miniprogramm „Chinese Character Picking – Uncommon Characters“. um Sammlungen der Gesellschaft zu sammeln. Seltene Charaktere ergänzen die Bibliothek seltener Charaktere und bieten unterschiedliche Eingabeerlebnisse für seltene Charaktere, um die Eingabemethode für seltene Charaktere in Alipay zu verbessern. Derzeit können Benutzer das Applet „Ungewöhnliche Zeichen“ aufrufen, indem sie nach Schlüsselwörtern wie „Aufnehmen chinesischer Zeichen“ und „Seltene Zeichen“ suchen. Im Miniprogramm können Benutzer Bilder von seltenen Zeichen einreichen, die vom System nicht erkannt und eingegeben wurden. Nach der Bestätigung nehmen Alipay-Ingenieure zusätzliche Einträge in die Schriftartenbibliothek vor. Auf dieser Website wurde festgestellt, dass Benutzer im Miniprogramm auch die neueste Eingabemethode zur Wortteilung nutzen können. Diese Eingabemethode ist für seltene Wörter mit unklarer Aussprache konzipiert. Demontage durch den Benutzer

So teilen Sie Kontaktdaten mit NameDrop: Anleitung für iOS 17 So teilen Sie Kontaktdaten mit NameDrop: Anleitung für iOS 17 Sep 16, 2023 pm 06:09 PM

In iOS 17 gibt es eine neue AirDrop-Funktion, mit der Sie Kontaktinformationen mit jemandem austauschen können, indem Sie zwei iPhones berühren. Es heißt NameDrop und so funktioniert es. Anstatt die Nummer einer neuen Person einzugeben, um sie anzurufen oder ihr eine SMS zu schicken, können Sie mit NameDrop Ihr ​​iPhone einfach in die Nähe der Person halten, um Kontaktdaten auszutauschen, damit sie Ihre Nummer hat. Wenn Sie die beiden Geräte zusammenfügen, wird automatisch die Schnittstelle zum Teilen von Kontakten angezeigt. Wenn Sie auf das Popup klicken, werden die Kontaktinformationen einer Person und ihr Kontaktposter angezeigt (Sie können Ihre eigenen Fotos anpassen und bearbeiten, ebenfalls eine neue Funktion von iOS17). Dieser Bildschirm enthält auch Optionen zum „Nur Empfangen“ oder zum Teilen Ihrer eigenen Kontaktinformationen als Antwort.

Wie uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreicht Wie uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreicht Oct 20, 2023 pm 02:12 PM

Wie Uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreichen kann, erfordert spezifische Codebeispiele. Mit der Entwicklung des mobilen Internets und der Popularität von Smartphones sind Miniprogramme und H5 zu unverzichtbaren Anwendungsformen geworden. Als plattformübergreifendes Entwicklungsframework kann Uniapp die Konvertierung zwischen kleinen Programmen und H5 basierend auf einer Reihe von Codes schnell realisieren und so die Entwicklungseffizienz erheblich verbessern. In diesem Artikel wird vorgestellt, wie Uniapp eine schnelle Konvertierung zwischen Miniprogrammen und H5 erreichen kann, und es werden konkrete Codebeispiele gegeben. 1. Einführung in uniapp unia

Wie NameDrop auf dem iPhone funktioniert (und wie man es deaktiviert) Wie NameDrop auf dem iPhone funktioniert (und wie man es deaktiviert) Nov 30, 2023 am 11:53 AM

In iOS17 gibt es eine neue AirDrop-Funktion, die es Ihnen ermöglicht, Kontaktinformationen mit jemandem auszutauschen, indem Sie zwei iPhones gleichzeitig berühren. Es heißt NameDrop und hier erfahren Sie, wie es tatsächlich funktioniert. NameDrop macht es überflüssig, die Nummer einer neuen Person einzugeben, um sie anzurufen oder ihr eine SMS zu schicken, damit sie Ihre Nummer hat. Sie können Ihr iPhone einfach in die Nähe der Person halten, um Kontaktinformationen auszutauschen. Wenn Sie die beiden Geräte zusammenfügen, wird automatisch die Schnittstelle zum Teilen von Kontakten angezeigt. Wenn Sie auf das Popup klicken, werden die Kontaktinformationen einer Person und ihr Kontaktposter angezeigt (ein eigenes Foto, das Sie anpassen und bearbeiten können, ebenfalls neu in iOS 17). Dieser Bildschirm enthält auch die Option „Nur Empfangen“ oder das Teilen Ihrer eigenen Kontaktinformationen als Antwort

Was ist der Grund für die Verzögerung beim Empfang von Nachrichten auf WeChat? Was ist der Grund für die Verzögerung beim Empfang von Nachrichten auf WeChat? Sep 19, 2023 pm 03:02 PM

Der Grund für die Verzögerung beim Empfang von Informationen durch WeChat können Netzwerkprobleme, Serverlast, Versionsprobleme, Geräteprobleme, Probleme beim Senden von Nachrichten oder andere Faktoren sein. Detaillierte Einführung: 1. Netzwerkprobleme können mit der Netzwerkverbindung zusammenhängen. Wenn die Netzwerkverbindung instabil ist oder das Signal schwach ist, kann es zu Verzögerungen bei der Informationsübertragung kommen mit einem stabilen Netzwerk verbunden und die Netzwerksignalstärke ist gut. 2. Wenn die Auslastung des WeChat-Servers hoch ist, kann es zu Verzögerungen bei der Informationsübertragung kommen, insbesondere wenn eine große Anzahl von Benutzern WeChat verwendet gleichzeitig usw.

Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Feb 24, 2024 pm 03:51 PM

Golang ist eine leistungsstarke und effiziente Programmiersprache, mit der sich verschiedene Anwendungen und Dienste entwickeln lassen. In Golang sind Zeiger ein sehr wichtiges Konzept, das uns helfen kann, Daten flexibler und effizienter zu verwalten. Die Zeigerkonvertierung bezieht sich auf den Prozess der Zeigeroperation zwischen verschiedenen Typen. In diesem Artikel werden anhand konkreter Beispiele die Best Practices der Zeigerkonvertierung in Golang erläutert. 1. Grundkonzepte In Golang hat jede Variable eine Adresse, und die Adresse ist der Speicherort der Variablen im Speicher.

See all articles