/* 根据餐厅编号生成带场景二维码 */ //餐厅编号 $str = num2str(canteenid_content, $cid); $token = db_get_token_ticket(CFG_APPID, CFG_SECRET)["token"]; $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={$token}"; /* * 永久二维码请求说明 * http请求方式: POST * URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN * POST数据格式:json * POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}} * 或者也可以使用以下POST数据创建字符串形式的二维码参数: * {"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_str": "123"}}} */ $data = '{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_id":234, "scene_str":"' . $str . '"}}}'; $data = json_decode(get_http_result($url, $data), true); // //插入数据库,更新餐厅二维码信息 $sp = "{call web_set_canteen_verurl(?,?)}"; $params = array(array(intval($cid), SQLSRV_PARAM_IN), array("" . $data["ticket"], SQLSRV_PARAM_IN)); sp_execute($sp, $params); $verurl = $data["ticket"]; } ?> <!DOCTYPE html> <html> <head> <?php include_once "meta.php"; ?> </head>
/** * 通过百度地图API获取地址信息 * @param $ak AK * @param $longitude 经度 * @param $latitude 纬度 * @return bool */ function get_location_bdapi($ak, $longitude, $latitude) { $url = "http://api.map.baidu.com/geoconv/v1/?coords={$longitude},{$latitude}&from=1&to=5&ak={$ak}"; $data = json_decode(get_http_result($url, null), true); if ($data["status"] == 0) { $x = $data["result"][0]["x"]; $y = $data["result"][0]["y"]; // $url = "http://api.map.baidu.com/geocoder/v2/?ak={$ak}&location={$y},{$x}&output=json&pois=1"; $data = json_decode(get_http_result($url, null), true); if ($data["status"] == 0) { return $data["result"]["formatted_address"]; } } return false; }
/** * 将餐厅信息设置到session中 * @param $row */ function set_canteen_session($row) { $_SESSION["cid"] = $row["cid"]; $_SESSION["cname"] = $row["cname"]; $_SESSION["verticket"] = $row["verticket"]; $_SESSION["verurl"] = $row["verurl"]; $_SESSION["allow"] = $row["allow"]; $_SESSION["cpicurl"] = $row["picurl"]; $_SESSION["ctelnum"] = $row["telnum"]; $_SESSION["roleid"] = $row["roleid"]; //判断餐厅是否有二维码,没有则创建生成二维码 if (strlen($row["verticket"]) < 1) { /* 根据餐厅编号生成带场景二维码 */ $str = num2str(canteenid_content, $_SESSION["cid"]); $token = db_get_token_ticket(CFG_APPID, CFG_SECRET)["token"]; $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={$token}"; $data = '{"action_name": "QR_LIMIT_STR_SCENE", "action_info": {"scene": {"scene_id":234, "scene_str":"' . $str . '"}}}'; $data = json_decode(get_http_result($url, $data), true); //插入数据库,更新餐厅二维码信息 $params = array(array(intval($_SESSION["cid"]), SQLSRV_PARAM_IN), array("" . $data["ticket"], SQLSRV_PARAM_IN), array("" . $data["url"], SQLSRV_PARAM_IN), array("", SQLSRV_PARAM_IN)); sp_execute("{call web_set_canteen_verify(?,?,?,?)}", $params); $_SESSION["verticket"] = $data["ticket"]; } }
function convert_position_bdapi($ak, $xystr) { $url = "http://api.map.baidu.com/geoconv/v1/?coords={$xystr}&ak={$ak}&output=json"; $data = json_decode(get_http_result($url, null), true); if ($data["status"] == 0) { return $data["result"][0]["x"] . ',' . $data["result"][0]["y"]; } return false; }