Maison >Applet WeChat >Développement WeChat >Développement de la plateforme publique WeChat - transfert en bus

Développement de la plateforme publique WeChat - transfert en bus

黄舟
黄舟original
2016-12-30 10:32:001958parcourir

1) Application API

2) Appel API



3) [b] Affichage de l'effet[/b]

4) Requête précise

------------------------------------------------------ ------ ----------------------------------

1) Application API

Aibang fournit une API d'interface de requête, vous devez demander la clé http://www.aibang.com

Le nombre de requêtes est limité, 2013-12-4, jusqu'à 1000 fois /10 fois par jour

Renvoyer les données json

Fournir la description des données

Fournir le fichier de démonstration

2) Appel API

Après l'appel l'API pour obtenir les données, affichez-les dans votre propre format

/*
	 aibang's api return josn data
	
	 d_eng (sh109419@163.com)
	 2013-12-4 
 */ 

define("APP_KEY", "xx00ac396d6d75e8681fc8380060c5b2");
include_once "ABClient.php";

//header("Content-Type:text/html; charset=utf-8");  

function bustransfer($city,$start,$end) {
    $client = new ABClient(APP_KEY);
    list($code, $arr) = $client->getBusTransfer($city, array("start_addr" =>$start, "end_addr" =>$end));
	if ($code<>200){
		return false;
	}
	
	$ret ="";
	$buses = $arr[buses][bus];
	// show the top 3 records
	$ret = $start ."-->".$end."\n";
	$count = 1;
	foreach ($buses as $bus) {
		if ($count > 3) break;

		$segments =$bus[segments][segment];
		 $ret .= "<方案".$count++.">\n";
		// get line name and remove remark
		$linename = "";
		foreach($segments as $segment) {
			if (!empty($linename)) $linename .= &#39;--&#39; ;
			$linename  .= shortlinename($segment[line_name]);
		}
		$ret .= $linename . "\n" ;
		$total = sprintf("%d分钟 %d米 步行%d米",$bus[time],$bus[dist],$bus[foot_dist]);
		$ret .= $total . "\n" ;
		// detail
		$from = sprintf("从 %s ",$start);
		$ret .= $from;
		foreach($segments as $segment) {
			if ($segment[foot_dist] > 0) {
				$segfoot = sprintf("步行%d米 到达 %s",$segment[foot_dist],$segment[start_stat]);
				$ret .= $segfoot . "\n" ;
			}
			$stats = substr_count($segment[stats],&#39;;&#39;); 
			$line = sprintf("乘坐 %s(%d站) 到达 %s",shortlinename($segment[line_name]),$stats,$segment[end_stat]);
			$ret .= $line . "\n" ;
		}
		if ($bus[last_foot_dist] > 0) {
			$lastfoot = sprintf("步行%d米 到达 %s",$bus[last_foot_dist],$end);
			$ret .= $lastfoot;
		}
	}
	return $ret;
}

function shortlinename($linename){
	return substr($linename,0,strpos($linename,&#39;(&#39;));
}

$a=bustransfer("南昌","老福山","青山路口");
var_dump($a);

3) Affichage de l'effet

Développement de la plateforme publique WeChat - transfert en bus

4) Requête précise

Dans la requête de bus, le nom de la gare routière/de métro est requis

Si vous ne connaissez pas le nom exact de la gare routière, vous n'obtiendrez souvent pas le résultat

Sur la page Web. , le système peut vous inviter à sélectionner la gare routière précise,

Développement de la plateforme publique WeChat - transfert en bus

Cependant, il n'est pas pratique de le faire sur WeChat

Le plan d'amélioration est le suivant :

Aibang dispose d'une API de requête de gare routière

Trouver des utilisateurs via cette API Saisissez des informations sur les gares à proximité et sortez la première gare de transfert de bus

De cette façon, la probabilité Le nombre de recherches réussies de transferts en bus est augmenté.

Ce qui précède est le contenu du transfert de bus de développement de la plateforme publique WeChat. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn