php 极光创建聊天室

"jiguang/jmessage": "~1.1"

composer下载

 

注意post数据要json_encode,不然数据格式报错,其余的接口看下文档就ok了

 

文档

http://docs.jiguang.cn/jmessage/server/rest_api_im/#_61

https://github.com/jpush/jmessage-api-php-client/blob/master/docs/GUIDE.md#%E8%AF%81%E4%B9%A6%E9%97%AE%E9%A2%98

 

<?php

use think\Db;
use think\Config;

/**
 * 保留2位小数,只四舍
 * @param type $num
 * @return type
 */
function number_format_2($num) {
    return sprintf("%.2f", substr(sprintf("%.3f", $num), 0, -1));
}


/**
 * 聊天室会员列表
 */
function char_room_user_list( $room_id ){
    
    $url = "https://api.im.jpush.cn/v1/chatroom/".$room_id."/members?start=0&count=100";
    $arr = jg_curl(  $url    );
    return $arr;
}

/**
 * 极光创建聊天室
 */
function jg_create_room($temp_post_arr) {
    $temp_post_arr = json_encode($temp_post_arr);
    $push_url = "https://api.im.jpush.cn";
    $temp_url = $push_url . "/v1/chatroom/";
    $ret_msg = jg_curl($temp_url, $temp_post_arr);

    $return_msg = [];
    if (isset($ret_msg['chatroom_id'])) {
        $return_msg['code'] = 1;
        $return_msg['chatroom_id'] = $ret_msg['chatroom_id'];
    } else {
        $return_msg['code'] = 0;
        $return_msg['chatroom_id'] = 0;
    }
    return $return_msg;
}

/**
 * 当前用户的聊天室列表
 */
function user_chat_rooms( $username ) {
    $url = "https://api.im.jpush.cn" . "/v1/users/" . $username . "/chatroom";
    $ret_msg = jg_curl($url);
    return $ret_msg;
}

/**
 * 获取聊天室详情
 */
function char_room_detail( $room_arr = [] ) {
    $room_arr = json_encode($room_arr);
    $url = "https://api.im.jpush.cn" . "/v1/chatroom/batch";
    $ret_msg = jg_curl($url, $room_arr);
    return $ret_msg;
}

/**
 * 极光注册用户
 * $user_arr 是二位数组
 */
function jg_register($user_arr) {
    
    $post_arr1 = [];
    $post_arr1 = [
        [
            "username" => "mager",
            "password" => "mager",
            "nickname" => "mager",
            "avatar" => "mager",
            ],
    ];
        
    $url = "https://api.im.jpush.cn/v1/users/";
    $post_arr = json_encode($user_arr);
    $return_arr = jg_curl($url, $post_arr);
    return $return_arr;
}

/**
 * 极光修改用户密码
 */
function jg_update_pwd($username = '', $new_pwd = '') {

    $url = "https://api.im.jpush.cn/v1/users/" . $username . "/password";
    $new_pwd_arr = [];
    $new_pwd_arr = [
        "new_password" => $new_pwd,
    ];
    $post_arr = json_encode($new_pwd_arr);
    $return_arr = put_jg_send($url, $post_arr);
    return $return_arr;
}

/**
 * 极光curl
 * @param type $temp_url
 * @param type $temp_post_arr
 * @return type
 */
function jg_curl($temp_url, $temp_post_arr = []) {

    $push_appkey = Config::get("site.push_appkey");
    $push_secret = Config::get("site.push_secret");

    $arr_header = [];
    $arr_header[] = "Content-Type: application/json";
    $arr_header[] = "Authorization: Basic " . base64_encode($push_appkey . ":" . $push_secret);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $temp_url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if (!empty($arr_header)) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $arr_header);
    }
    if ($temp_post_arr) {
        curl_setopt($ch, CURLOPT_POST, 1);
//        $temp_post_arr = http_build_query( $temp_post_arr );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $temp_post_arr);
    }
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $push_ret = curl_exec($ch);
    curl_close($ch);
//    echo "<pre>";var_dump($push_ret);die;
    $push_ret_arr = json_decode($push_ret, true);
    return $push_ret_arr;
}

/**
 * PUT请求
 * @param type $url
 * @param type $data
 * @return type
 */
function put_jg_send($url, $data) {

    $push_appkey = Config::get("site.push_appkey");
    $push_secret = Config::get("site.push_secret");

    $arr_header = [];
    $arr_header[] = "Content-Type: application/json";
    $arr_header[] = "Authorization: Basic " . base64_encode($push_appkey . ":" . $push_secret);

    $ch = curl_init(); //初始化CURL句柄 
    curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
    if (!empty($arr_header)) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $arr_header);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); //设置请求方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //设置提交的字符串
    $output = curl_exec($ch);
//    echo "<pre>";var_dump($output);die;
    curl_close($ch);
    return json_decode($output, true);
}

/*
 * 极光创建聊天室
 * 先引入极光组建
  use JMessage\IM\ChatRoom;
  use JMessage\JMessage;
 */

function jg_create_room_by_composer() {
    $client = new JMessage($this->push_appkey, $this->push_secret);
    $room = new ChatRoom($client);
    $com_ret = $room->create("测试聊天室", "admin", $members = [], $description = null);
}

?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值