Ejemplo n.º 1
0
/**
 * 本工具用于管理员生成设备二维码,并测试扫码和绑定设备功能
 *
**/
include_once "config.php";
include_once "wechat.class.php";
header("Content-type:text/html;charset=utf-8");
//如果运行在本地,以下地址存放二维码图片
static $imagePath = "D:/work/image/";
$wx_options = array('token' => WX_TOKEN, 'encodingaeskey' => WX_ENCODINGAESKEY, 'appid' => WX_APPID, 'appsecret' => WX_APPSECRET, 'debug' => WX_DEBUG, 'logcallback' => WX_LOGCALLBACK);
$mac = $_POST["mac_address"];
echo "Input MAC ADDRESS = " . $mac . "<br>";
$wxObj = new class_wechat_sdk($wx_options);
//Step1:刷新Token
echo "<br><H2>微信硬件工作环境即将开始......<br></H2>";
$wxDevObj = new class_wx_IOT_sdk(WX_APPID, WX_APPSECRET);
//实验Token是否已经被刷新
echo "<br>测试最新刷新的Token=<br>" . "{$wxDevObj->access_token}" . "<br>";
//Step2: 从数据库中取得有效的DEVICE_ID
$wxDbObj = new class_mysql_db();
$result = $wxDbObj->db_DeviceQrcode_inqury();
if ($result == null) {
    echo "<br>没有空的MAC地址了,请联系管理员! <br>";
} else {
    $deviceIdBLE = $result["deviceid"];
    $qrcode = $result["qrcode"];
    var_dump($deviceIdBLE);
    var_dump($qrcode);
    //验证二维码
    $qrcode_result = $wxDevObj->verify_qrcode($qrcode);
    echo "<br>二维码验证的结果<br>";
Ejemplo n.º 2
0
 * User: jianlinz
 * Date: 2015/7/7
 * Time: 14:15
 */
/**Start of tool_main
 * 本工具用于管理员创建用户侧菜单
 *
 **/
include_once "config.php";
include_once "wechat.class.php";
header("Content-type:text/html;charset=utf-8");
$wx_options = array('token' => WX_TOKEN, 'encodingaeskey' => WX_ENCODINGAESKEY, 'appid' => WX_APPID, 'appsecret' => WX_APPSECRET, 'debug' => WX_DEBUG, 'logcallback' => WX_LOGCALLBACK);
$wxObj = new class_wechat_sdk($wx_options);
//Step1:刷新Token
echo "<br><H2>微信硬件工作环境即将开始......<br></H2>";
$wxObj = new class_wx_IOT_sdk(WX_APPID, WX_APPSECRET);
//实验Token是否已经被刷新
echo "<br>测试最新刷新的Token=<br>" . "{$wxObj->access_token}" . "<br>";
//Step2:测试创建微信界面上自定义的菜单
static $self_create_menu = '{"button":[{"name":"绑操",
            "sub_button":[{"type":"click","name":"绑定","key":"CLICK_BIND"},
                            {"type":"click","name":"解绑","key":"CLICK_UNBIND"},
                            {"type":"click","name":"查询","key":"CLICK_BIND_INQ"}]},
    {"name":"开关",
            "sub_button":[{"type":"click","name":"开灯","key":"CLICK_LIGHT_ON"},
                            {"type":"click","name":"关灯","key":"CLICK_LIGHT_OFF"},
                            {"type":"click","name":"查询","key":"CLICK_LIGHT_INQ"}]},
    {"name":"测试",
            "sub_button":[{"type":"click","name":"关于","key":"CLICK_ABOUT"},
                            {"type":"click","name":"技术","key":"CLICK_TECH"},
                            {"type":"click","name":"测试","key":"CLICK_TEST"},
Ejemplo n.º 3
0
 *
**/
include_once "config.php";
include_once "wechat.class.php";
header("Content-type:text/html;charset=utf-8");
//如果运行在本地,以下地址存放二维码图片
static $imagePath = "D:/work/image/";
$wx_options = array('token' => WX_TOKEN, 'encodingaeskey' => WX_ENCODINGAESKEY, 'appid' => WX_APPID, 'appsecret' => WX_APPSECRET, 'debug' => WX_DEBUG, 'logcallback' => WX_LOGCALLBACK);
$wxObj0 = new class_wechat_sdk($wx_options);
$deviceid = $_POST["subscribe_deviceid"];
$openid = $_POST["subscribe_openid"];
echo "Input Device ID = " . $deviceid . "<br>";
echo "Input User ID = " . $openid . "<br>";
//Step1:刷新Token
echo "<br><H2>微信硬件工作环境即将开始......<br></H2>";
$wxObj = new class_wx_IOT_sdk(WX_APPID, WX_APPSECRET);
//实验Token是否已经被刷新
echo "<br>测试最新刷新的Token=<br>" . "{$wxObj->access_token}" . "<br>";
// Step2 设备状态查询
echo "<br>查询设备状态 <br>";
var_dump($wxObj->getstat_qrcodebyDeviceid($deviceid));
// Step3 用户绑定设备查询
echo "<br>查询用户绑定状态 <br>";
$result = $wxObj->getstat_qrcodebyOpenId($openid);
var_dump($result);
echo "<br>Device_List =  <br>";
$devicetype = $result["device_list"][0]["device_type"];
var_dump($result["device_list"]);
// Step4 微信云强制绑定设备
$result = $wxObj->compel_bind($deviceid, $openid);
echo "<br>微信云强制绑定设备结果  <br>";
Ejemplo n.º 4
0
 public function receiveEvent($object)
 {
     $content = "";
     $result = NULL;
     $click = 0;
     switch ($object->Event) {
         case "subscribe":
             $content = "欢迎关注八仙下海-智能硬件测试";
             $content .= !empty($object->EventKey) ? "\n来自二维码场景 " . str_replace("qrscene_", "", $object->EventKey) : "";
             break;
         case "unsubscribe":
             $content = "取消关注";
             break;
         case "SCAN":
             $content = "扫描场景 " . $object->EventKey;
             break;
         case "CLICK":
             switch ($object->EventKey) {
                 case "COMPANY":
                     $click = 1;
                     $content = array();
                     $content[] = array("Title" => "多图文1标题", "Description" => "", "PicUrl" => "http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" => "http://m.cnblogs.com/?u=txw1958");
                     break;
                 default:
                     //转到智能硬件菜单部分,这里的结构保持完整性
                     $click = 2;
                     $wxDevObj = new class_wx_IOT_sdk($this->appid, $this->appsecret);
                     $result = $wxDevObj->receive_deviceClickCommand($object);
                     //$content = "点击菜单:".$object->EventKey;
                     break;
             }
             break;
         case "LOCATION":
             $content = "上传位置:纬度 " . $object->Latitude . ";经度 " . $object->Longitude;
             break;
         case "VIEW":
             $content = "跳转链接 " . $object->EventKey;
             break;
         case "MASSSENDJOBFINISH":
             $content = "消息ID:" . $object->MsgID . ",结果:" . $object->Status . ",粉丝数:" . $object->TotalCount . ",过滤:" . $object->FilterCount . ",发送成功:" . $object->SentCount . ",发送失败:" . $object->ErrorCount;
             break;
         default:
             $content = "receive a new event: " . $object->Event;
             break;
     }
     if ($click == 0 || $click == 1) {
         if (is_array($content)) {
             if (isset($content[0])) {
                 $result = $this->transmitNews($object, $content);
             } else {
                 if (isset($content['MusicUrl'])) {
                     $result = $this->transmitMusic($object, $content);
                 }
             }
         } else {
             $result = $this->transmitText($object, $content);
         }
     }
     return $result;
 }