Heim  >  Artikel  >  WeChat-Applet  >  Das WeChat-Applet realisiert die Interaktion mit Hintergrund-PHP

Das WeChat-Applet realisiert die Interaktion mit Hintergrund-PHP

小云云
小云云Original
2018-03-29 11:39:5439510Durchsuche

Als nächstes werde ich darüber sprechen, wie das Backend mit dem Frontend für Daten und Bilder interagiert. Ich glaube, dieser Punkt ist für viele Menschen von Belang, da ich zu dieser Zeit für die Backend-Entwicklung im Team verantwortlich war, also habe ich es nicht getan. Ich weiß nicht viel über das Frontend. Hier werde ich einige Screenshots des Codes während der Frontend-Entwicklung veröffentlichen. Die offizielle API-Einführungsadresse des WeChat-Applets lautet:

https://mp.weixin. qq.com/debug/wxadoc/dev/api/api -network.html

Die Datenkommunikation zwischen WeChat und dem Backend-Server wird durch den Aufruf von wx.request(OBJECT This) erreicht wird in der offiziellen API-Schnittstelle erklärt,

Wenn die Rezeption beispielsweise Daten an den Hintergrund sendet, muss sie eine Verknüpfung zu der spezifischen PHP-Datei unter dem PHP-Aktionspfad des Servers herstellen und die Daten im JSON-Format im Schlüssel kapseln -Wert-Formular. Bitte beachten Sie den folgenden Code:

 

url ist der Domänenname des Servers und der Standort von isbn.php auf dem Server . In dem Bild, das ich im vorherigen Artikel gekauft habe, lautet der Standard-PHP-Dateipfad:

/yjdata/www/ , was bedeutet, dass PHP direkt darin platziert ist Der Ordner muss nur direkt /+*.php nach dem Domänennamen stehen. Wenn zur bequemen Verwaltung ein Ordner in diesem Verzeichnis erstellt wird, geben Sie einfach /Ordnername/*.php nach dem Domänennamen ein.

Darüber hinaus sind die vom Frontend an den Hintergrund übertragenen Daten im JSON-Format gekapselt. Die in die Daten im Bild geschriebenen Daten haben den Schlüssel Der Wert wird auf der Vorderseite und auf der Rückseite auf der Grundlage des vorherigen Schlüsselwerts ermittelt. Darüber hinaus bestimmt die Methode, wie die GET-Methode verwendet wird Hintergrund- und Rezeptionsmethoden müssen paarweise verwendet werden, und das andere Ende ist POST. Bei der WeChat-Zahlungsfunktion müssen einige Daten mit hoher Sicherheit und Privatsphäre über POST interagiert werden.

Das vom Frontend an den Hintergrund übermittelte Ergebnis ist hier der ISBN-Code des Buches, da das kleine Programm, das wir erstellt haben, über eine Funktion verfügt, die die Kamera zum Scannen aufruft Barcode auf der Rückseite des Buches, um den ISBN-Code zu erhalten. Das Front-End sendet den ISBN-Code an das Backend, und das Backend-Programm ruft die Douban-Buchschnittstelle eines Drittanbieters auf, um die Buchinformationen basierend auf dem ISBN-Code abzufragen Geben Sie die Buchinformationen an das Frontend zurück. Hier poste ich den serverseitigen Code als Referenz:

<?php$result=$_GET["result"];/*获取前端微信小程序扫书的isbn结果*/
/*与第三方接口通信获取书本信息*/
$book_info=file_get_contents("https://api.douban.com/v2/book/isbn/:".$result);$jsondecode = json_decode($book_info,true);/*将获取到的书本信息JSON解码*/$title=$jsondecode["title"];/*将解码后书名赋值给title变量*/$author=$jsondecode["author"];/*将解码后作者赋值给author变量*/$publisher=$jsondecode["publisher"];/*将解码后出版社名赋值给publisher变量*/echo "title=".$title; /*向前端返回书名*/echo "author=".$author; /*向前端返回作者名*/echo "publisher=".$publisher; /*向前端返回出版社名*/?>

Um Daten an die Rezeption zurückzugeben, verwenden Sie einfach echo. Im Allgemeinen muss sich die Entwicklung mit der Datenbank befassen Von der Rezeption nimmt dieser Teil tatsächlich die Daten von der Rezeption entgegen und führt die entsprechenden Datenbankoperationen aus. Solange es sich in diesem Teil um die PHP-Datenbank handelt, werde ich hier nicht näher darauf eingehen.

Darüber hinaus sind Bilder für ein WeChat-Applet unerlässlich, und Bildressourcen werden auf dem Server gespeichert. Daher ist die Art und Weise, wie Bilder gespeichert werden, von entscheidender Bedeutung. Als nächstes erklären wir den spezifischen Prozess des Einfügens von Buchinformationen in die Datenbank. . . (Tatsächlich sind die Kommentare sehr detailliert)

<?phpheader(&#39;content-type:application/json;charset=utf8&#39;);$mysql_server_name="localhost";/*数据库服务器名称*/$mysql_username="root";/*数据库用户名*/$mysql_password="123456";/*数据库用户密码*/$mysql_databasename="zhishu";/*进入数据库后数据库名*/$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_databasename);/*数据库连接语句*/;;$bookname=$_POST["bookname"];/*从小程序前端获取书本名字*/$authorname=$_POST["authorname"];/*从小程序前端获取书本作者名字*/$bookintroduce=$_POST["introduce"];/*从小程序前端获取书本介绍信息*/$bookholder_name=$_POST["openid"];/*从小程序前端获取书本持有人昵称*/$bookclass=$_POST[&#39;classification&#39;];;/*从小程序前端获取书本分类*/date_default_timezone_set(&#39;PRC&#39;); /*设置默认时区为中国*/$time=(string)date("Y-m-d-h-i",time());/*获取时间*/function Unioname($a) /*将时间格式更改的函数*/{
    $a=explode(&#39;-&#39;,$a);
    $a=implode(&#39;&#39;,$a);
    return $a;
}$time=Unioname($time);$allowedExts = array("gif", "jpeg", "jpg", "png"); /*这里的内容同用户注册时代码含义一样,只不过那时是为了存用户头像并修改用户头像名字,这里是存书本图像并修改书本图像的名字*/$temp = explode(".", $_FILES["file"]["name"]);//将图片名字以.分割成两个字符串$extension = end($temp);     // 获取图片后缀名if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
    && ($_FILES["file"]["size"] < 1024000)   // 小于 1MB
    && in_array($extension, $allowedExts))
{
    if ($_FILES["file"]["error"] > 0) {
        echo "错误:: " . $_FILES["file"]["error"] . "<br>";
    } else {
        // 判断当期目录下的 upload 目录是否存在该文件        // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
        if (file_exists("bookimage/" . $_FILES["file"]["name"])) {
            echo $_FILES["file"]["name"] . " 文件已经存在。 ";
        } else {
            // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下            move_uploaded_file($_FILES["file"]["tmp_name"], "bookimage/".$_FILES["file"]["name"]);
            $oldname = "bookimage/" . $_FILES["file"]["name"];
            $newname = "bookimage/" . $time .$bookholder_name.".".$extension;
            rename($oldname, $newname);
            $sql_num="select * from book";
            $reasult=mysqli_query($conn,$sql_num);
            $reasult_num=mysqli_num_rows($reasult); /*将获取到书本信息插入数据库语句*/            $sql_insert="insert into book (book_id,bookname,authorname,book_intro,bookclass,bookholder_openid,bookpicture_path,is_CunZai,ChengJiao_num) VALUES ($reasult_num+1,'$bookname','$authorname','$bookintroduce','$bookclass','$bookholder_openid','$newname','1',0)";
            if( mysqli_query($conn,$sql_insert))
            {
                echo "插入书籍成功!";
            }
            else
            {
                echo "插入失败";
            }
        }
    }
}mysqli_close($conn); /*关闭数据库连接*/?>

Verwenden Sie zuerst die $[FILE] globales Array zum Akzeptieren der Datei. Mehrere Attribute sind wie folgt:

$_FILES["file"]["name"] – der Name der hochgeladenen Datei

$_FILES["file"]["type"] – Der Typ der hochgeladenen Datei

$_FILES["file"]["size" ] – Die Größe der hochgeladenen Datei in Bytes
$_FILES["file"]["tmp_name"] – Der Name einer temporären Kopie der auf dem Server gespeicherten Datei
$_FILES["file"] ["Fehler"] - verursacht durch einen Datei-Upload-Fehlercode
Dies ist eine sehr einfache Möglichkeit, Dateien zu senden und zu empfangen, indem Sie sie mit „.“ teilen Beurteilen Sie das Suffix, um festzustellen, ob es häufig verwendet wird. Wenn dies der Fall ist und die Bildgröße weniger als 1 MB beträgt, fahren Sie mit dem nächsten Vorgang fort. Zu diesem Zeitpunkt befindet sich das Bild im Cache-Bereich, sodass das Bild vorhanden sein muss Umbenennen und im Buchbildordner speichern. Darüber hinaus müssen Sie auch den Pfad des Bildes in der Datenbank speichern. An dieser Stelle habe ich über die meisten Interaktionen zwischen dem Basis-Miniprogramm und dem Backend gesprochen, und Sie können grundsätzlich ein einfaches Miniprogramm abschließen.

Verwandte Empfehlungen:

So implementieren Sie den PHP-Hintergrund des WeChat-Miniprogramms

Das obige ist der detaillierte Inhalt vonDas WeChat-Applet realisiert die Interaktion mit Hintergrund-PHP. 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