<code><span><span><?php</span><span>namespace</span><span>Home</span>\<span>Controller</span>;
<span>use</span><span>Think</span>\<span>Controller</span>;
<span>/**
* 环信-服务器端REST API
*<span> @author</span> limx <limx@xiaoneimimi.com>
*/</span><span><span>class</span><span>HXController</span><span>extends</span><span>Controller</span> {</span><span>private</span><span>$client_id</span>=<span>'YXA6ef0hcJSyEeWlQg0wFqthDQ'</span>;
<span>private</span><span>$client_secret</span>=<span>'YXA6dd1GuLATzkHcqqTI3OIgLExnOiI'</span>;
<span>private</span><span>$org_name</span>=<span>'ipa361'</span>;
<span>private</span><span>$app_name</span>=<span>'cg'</span>;
<span>private</span><span>$url</span> = <span>'https://a1.easemob.com/ipa361/cg/'</span>;
<span>/**
* 初始化参数
*
*<span> @param</span> array $options
*<span> @param</span> $options['client_id']
*<span> @param</span> $options['client_secret']
*<span> @param</span> $options['org_name']
*<span> @param</span> $options['app_name']
*/</span><span>/* public function __construct($options) {
$this->client_id = isset ( $options ['client_id'] ) ? $options ['client_id'] : '';
$this->client_secret = isset ( $options ['client_secret'] ) ? $options ['client_secret'] : '';
$this->org_name = isset ( $options ['org_name'] ) ? $options ['org_name'] : '';
$this->app_name = isset ( $options ['app_name'] ) ? $options ['app_name'] : '';
if (! empty ( $this->org_name ) && ! empty ( $this->app_name )) {
$this->url = 'https://a1.easemob.com/' . $this->org_name . '/' . $this->app_name . '/';
}
} */</span><span>/**
* 开放注册模式
*
*<span> @param</span> $options['username'] 用户名
*<span> @param</span> $options['password'] 密码
* 设置密码为账号+_ipa做加密运算
*/</span><span>public</span><span><span>function</span><span>openRegister</span><span>(<span>$username</span>)</span> {</span><span>$options</span>[<span>'username'</span>]=<span>$username</span>;
<span>//$tripldes =new TripledesModel();</span><span>$tripldes</span> =D(<span>"Tripledes"</span>);
<span>$pass</span>= <span>$tripldes</span>->encrypt(<span>$username</span>.<span>'_ipa'</span>);
<span>$options</span>[<span>'password'</span>]=<span>$pass</span>;
<span>//$options['password']=123456;</span><span>$url</span> = <span>$this</span>->url . <span>"users"</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$options</span>, <span>$head</span> = <span>0</span> );
<span>//echo $result ;exit;</span><span>$info</span> = json_decode(<span>$result</span>,<span>true</span>);
<span>//dump($info);</span><span>//echo $info ;exit;</span><span>if</span>(<span>isset</span>(<span>$info</span>[<span>'entities'</span>])){
<span>return</span><span>'1'</span>;
}<span>else</span>{
<span>return</span><span>'0'</span>;
}
}
<span>public</span><span><span>function</span><span>test</span><span>()</span>{</span><span>$des</span> =D(<span>"Tripledes"</span>);
<span>echo</span><span>$ret</span> = <span>$des</span>->encrypt(<span>"123"</span>) . <span>"\n"</span>;
<span>echo</span><span>$des</span>->decrypt(<span>$ret</span>) . <span>"\n"</span>;
<span>$info</span> = <span>array</span>(
<span>'msg'</span>=><span>'成功'</span>,
<span>'code'</span>=><span>200</span>,
<span>'ret'</span>=><span>$ret</span>,
<span>'des'</span>=><span>$des</span>);
<span>echo</span> json_encode(<span>$info</span>);
}
<span>/**
* 授权注册模式 || 批量注册
*
*<span> @param</span> $options['username'] 用户名
*<span> @param</span> $options['password'] 密码
* 批量注册传二维数组
*/</span><span>public</span><span><span>function</span><span>accreditRegister</span><span>(<span>$options</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$options</span>, <span>$header</span> );
<span>//return $result;</span><span>echo</span><span>$result</span>;
}
<span>/**
* 获取指定用户详情
*
*<span> @param</span> $username 用户名
*/</span><span>public</span><span><span>function</span><span>userDetails</span><span>(<span>$username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>//print_r($access_token);exit;</span><span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>'GET'</span> );
<span>$info</span> = json_decode(<span>$result</span>,<span>true</span>);
<span>//print_r($info);</span><span>if</span>(<span>isset</span>(<span>$info</span>[<span>'entities'</span>])){
<span>return</span><span>'1'</span>;
}<span>else</span>{
<span>return</span><span>'0'</span>;
}
}
<span>/**
* 重置用户密码
*
*<span> @param</span> $options['username'] 用户名
*<span> @param</span> $options['password'] 密码
*<span> @param</span> $options['newpassword'] 新密码
*/</span><span>public</span><span><span>function</span><span>editPassword</span><span>(<span>$options</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$options</span> [<span>'username'</span>] . <span>"/password"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$options</span>, <span>$header</span>, <span>$type</span> = <span>'PUT'</span>);
<span>return</span><span>$result</span>;
}
<span>/**
* 删除用户
*
*<span> @param</span> $username 用户名
*/</span><span>public</span><span><span>function</span><span>deleteUser</span><span>(<span>$username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>'DELETE'</span> );
}
<span>/**
* 批量删除用户
* 描述:删除某个app下指定数量的环信账号。上述url可一次删除300个用户,数值可以修改 建议这个数值在100-500之间,不要过大
*
*<span> @param</span> $limit="300" 默认为300条
*<span> @param</span> $ql 删除条件
* 如ql=order+by+created+desc 按照创建时间来排序(降序)
*/</span><span>public</span><span><span>function</span><span>batchDeleteUser</span><span>(<span>$limit</span> = <span>"300"</span>, <span>$ql</span> = <span>''</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users?limit="</span> . <span>$limit</span>;
<span>if</span> (! <span>empty</span> ( <span>$ql</span> )) {
<span>$url</span> = <span>$this</span>->url . <span>"users?ql="</span> . <span>$ql</span> . <span>"&limit="</span> . <span>$limit</span>;
}
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>'DELETE'</span> );
}
<span>/**
* 给一个用户添加一个好友
*
*<span> @param</span>
* $owner_username
*<span> @param</span>
* $friend_username
*/</span><span>public</span><span><span>function</span><span>addFriend</span><span>(<span>$owner_username</span>, <span>$friend_username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$owner_username</span> . <span>"/contacts/users/"</span> . <span>$friend_username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span> );
}
<span>/**
* 删除好友
*
*<span> @param</span>
* $owner_username
*<span> @param</span>
* $friend_username
*/</span><span>public</span><span><span>function</span><span>deleteFriend</span><span>(<span>$owner_username</span>, <span>$friend_username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$owner_username</span> . <span>"/contacts/users/"</span> . <span>$friend_username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"DELETE"</span> );
}
<span>/**
* 查看用户的好友
*
*<span> @param</span>
* $owner_username
*/</span><span>public</span><span><span>function</span><span>showFriend</span><span>(<span>$owner_username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$owner_username</span> . <span>"/contacts/users/"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET"</span> );
}
<span>// +----------------------------------------------------------------------</span><span>// | 聊天相关的方法</span><span>// +----------------------------------------------------------------------</span><span>/**
* 查看用户是否在线
*
*<span> @param</span>
* $username
*/</span><span>public</span><span><span>function</span><span>isOnline</span><span>(<span>$username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"users/"</span> . <span>$username</span> . <span>"/status"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET"</span> );
<span>//return $result;</span><span>echo</span><span>$result</span>;
}
<span>/**
* 发送消息
*
*<span> @param</span> string $from_user
* 发送方用户名
*<span> @param</span> array $username
* array('1','2')
*<span> @param</span> string $target_type
* 默认为:users 描述:给一个或者多个用户(users)或者群组发送消息(chatgroups)
*<span> @param</span> string $content
*<span> @param</span> array $ext
* 自定义参数
*/</span><span><span>function</span><span>yy_hxSend</span><span>(<span>$from_user</span> = <span>"admin"</span>, <span>$username</span>, <span>$content</span>, <span>$target_type</span> = <span>"users"</span>, <span>$ext</span>)</span> {</span><span>$option</span> [<span>'target_type'</span>] = <span>$target_type</span>;
<span>$option</span> [<span>'target'</span>] = <span>$username</span>;
<span>$params</span> [<span>'type'</span>] = <span>"txt"</span>;
<span>$params</span> [<span>'msg'</span>] = <span>$content</span>;
<span>$option</span> [<span>'msg'</span>] = <span>$params</span>;
<span>$option</span> [<span>'from'</span>] = <span>$from_user</span>;
<span>$option</span> [<span>'ext'</span>] = <span>$ext</span>;
<span>$url</span> = <span>$this</span>->url . <span>"messages"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$option</span>, <span>$header</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 获取app中所有的群组
*/</span><span>public</span><span><span>function</span><span>chatGroups</span><span>()</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET"</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 创建群组
*
*<span> @param</span> $option['groupname'] //群组名称,
* 此属性为必须的
*<span> @param</span> $option['desc'] //群组描述,
* 此属性为必须的
*<span> @param</span> $option['public'] //是否是公开群,
* 此属性为必须的 true or false
*<span> @param</span> $option['approval'] //加入公开群是否需要批准,
* 没有这个属性的话默认是true, 此属性为可选的
*<span> @param</span> $option['owner'] //群组的管理员,
* 此属性为必须的
*<span> @param</span> $option['members'] //群组成员,此属性为可选的
*/</span><span>public</span><span><span>function</span><span>createGroups</span><span>(<span>$option</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$option</span>, <span>$header</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 获取群组详情
*
*<span> @param</span>
* $group_id
*/</span><span>public</span><span><span>function</span><span>chatGroupsDetails</span><span>(<span>$group_id</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups/"</span> . <span>$group_id</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET"</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 删除群组
*
*<span> @param</span>
* $group_id
*/</span><span>public</span><span><span>function</span><span>deleteGroups</span><span>(<span>$group_id</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups/"</span> . <span>$group_id</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"DELETE"</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 获取群组成员
*
*<span> @param</span>
* $group_id
*/</span><span>public</span><span><span>function</span><span>groupsUser</span><span>(<span>$group_id</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups/"</span> . <span>$group_id</span> . <span>"/users"</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET"</span> );
<span>$info</span> = json_decode(<span>$result</span>,<span>true</span>);
<span>if</span>(<span>isset</span>(<span>$info</span>[<span>'data'</span>])){
<span>return</span><span>$info</span>[<span>'data'</span>];
}<span>else</span>{
<span>return</span><span>'0'</span>;
}
<span>return</span><span>$result</span>;
}
<span>/**
* 群组添加成员
*
*<span> @param</span>
* $group_id
*<span> @param</span>
* $username
*/</span><span>public</span><span><span>function</span><span>addGroupsUser</span><span>(<span>$group_id</span>, <span>$username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups/"</span> . <span>$group_id</span> . <span>"/users/"</span> . <span>$username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"POST"</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 群组删除成员
*
*<span> @param</span>
* $group_id
*<span> @param</span>
* $username
*/</span><span>public</span><span><span>function</span><span>delGroupsUser</span><span>(<span>$group_id</span>, <span>$username</span>)</span> {</span><span>$url</span> = <span>$this</span>->url . <span>"chatgroups/"</span> . <span>$group_id</span> . <span>"/users/"</span> . <span>$username</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"DELETE"</span> );
<span>return</span><span>$result</span>;
}
<span>/**
* 聊天消息记录
*
*<span> @param</span> $ql 查询条件如:$ql
* = "select+*+where+from='" . $uid . "'+or+to='". $uid ."'+order+by+timestamp+desc&limit=" . $limit . $cursor;
* 默认为order by timestamp desc
*<span> @param</span> $cursor 分页参数
* 默认为空
*<span> @param</span> $limit 条数
* 默认20
*/</span><span>public</span><span><span>function</span><span>chatRecord</span><span>(<span>$ql</span> = <span>''</span>, <span>$cursor</span> = <span>''</span>, <span>$limit</span> = <span>20</span>)</span> {</span><span>$ql</span> = ! <span>empty</span> ( <span>$ql</span> ) ? <span>"ql="</span> . <span>$ql</span> : <span>"order+by+timestamp+desc"</span>;
<span>$cursor</span> = ! <span>empty</span> ( <span>$cursor</span> ) ? <span>"&cursor="</span> . <span>$cursor</span> : <span>''</span>;
<span>$url</span> = <span>$this</span>->url . <span>"chatmessages?"</span> . <span>$ql</span> . <span>"&limit="</span> . <span>$limit</span> . <span>$cursor</span>;
<span>$access_token</span> = <span>$this</span>->getToken ();
<span>$header</span> [] = <span>'Authorization: Bearer '</span> . <span>$access_token</span>;
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>''</span>, <span>$header</span>, <span>$type</span> = <span>"GET "</span> );
<span>return</span><span>$result</span>;
}
<span>//判断某个字段是否存在</span><span>public</span><span><span>function</span><span>checkField</span><span>(<span>$jsons</span>)</span>{</span><span>if</span>(<span>$jsons</span>->activated==<span>true</span>){
print_r(<span>'11111'</span>);
<span>return</span><span>true</span>;
}<span>else</span>{
print_r(<span>'22222'</span>);
<span>return</span><span>false</span>;
}
}
<span>/**
* 获取Token
*/</span><span>public</span><span><span>function</span><span>getToken</span><span>()</span> {</span><span>//print_r($url);exit;</span><span>$option</span> [<span>'grant_type'</span>] = <span>"client_credentials"</span>;
<span>$option</span> [<span>'client_id'</span>] = <span>$this</span>->client_id;
<span>$option</span> [<span>'client_secret'</span>] = <span>$this</span>->client_secret;
<span>$url</span> = <span>$this</span>->url . <span>"token"</span>;
<span>$fp</span> = @fopen ( <span>"easemob.txt"</span>, <span>'r'</span> );
<span>if</span> (<span>$fp</span>) {
<span>$arr</span> = unserialize ( fgets ( <span>$fp</span> ) );
<span>if</span> (<span>$arr</span> [<span>'expires_in'</span>] < time ()) {
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$option</span>, <span>$head</span> = <span>0</span> );
<span>//$result ['expires_in'] = $result ['expires_in'] + time ();</span>
@fwrite ( <span>$fp</span>, serialize ( <span>$result</span> ) );
<span>$myArr</span>=json_decode(<span>$result</span>, <span>true</span>);
<span>$token</span>=<span>$myArr</span>[<span>'access_token'</span>];
<span>return</span><span>$token</span>;
fclose ( <span>$fp</span> );
<span>exit</span> ();
}
<span>return</span><span>$arr</span> [<span>'access_token'</span>];
fclose ( <span>$fp</span> );
<span>exit</span> ();
}
<span>$result</span> = <span>$this</span>->postCurl ( <span>$url</span>, <span>$option</span>, <span>$head</span> = <span>0</span> );
<span>$result</span> = json_decode(<span>$result</span>);
<span>$result</span> [<span>'expires_in'</span>] = <span>$result</span> [<span>'expires_in'</span>] + time ();
<span>$fp</span> = @fopen ( <span>"easemob.txt"</span>, <span>'w'</span> );
@fwrite ( <span>$fp</span>, serialize ( <span>$result</span> ) );
<span>return</span><span>$result</span> [<span>'access_token'</span>];
fclose ( <span>$fp</span> );
}
<span>/**
* CURL Post
*/</span><span>private</span><span><span>function</span><span>postCurl</span><span>(<span>$url</span>, <span>$option</span>, <span>$header</span> = <span>0</span>, <span>$type</span> = <span>'POST'</span>)</span> {</span><span>$curl</span> = curl_init (); <span>// 启动一个CURL会话</span>
curl_setopt ( <span>$curl</span>, CURLOPT_URL, <span>$url</span> ); <span>// 要访问的地址</span>
curl_setopt ( <span>$curl</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span> ); <span>// 对认证证书来源的检查</span>
curl_setopt ( <span>$curl</span>, CURLOPT_SSL_VERIFYHOST, <span>FALSE</span> ); <span>// 从证书中检查SSL加密算法是否存在</span>
curl_setopt ( <span>$curl</span>, CURLOPT_USERAGENT, <span>'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'</span> ); <span>// 模拟用户使用的浏览器</span><span>if</span> (! <span>empty</span> ( <span>$option</span> )) {
<span>$options</span> = json_encode ( <span>$option</span> );
curl_setopt ( <span>$curl</span>, CURLOPT_POSTFIELDS, <span>$options</span> ); <span>// Post提交的数据包</span>
}
curl_setopt ( <span>$curl</span>, CURLOPT_TIMEOUT, <span>30</span> ); <span>// 设置超时限制防止死循环</span>
curl_setopt ( <span>$curl</span>, CURLOPT_HTTPHEADER, <span>$header</span> ); <span>// 设置HTTP头</span>
curl_setopt ( <span>$curl</span>, CURLOPT_RETURNTRANSFER, <span>1</span> ); <span>// 获取的信息以文件流的形式返回</span>
curl_setopt ( <span>$curl</span>, CURLOPT_CUSTOMREQUEST, <span>$type</span> );
<span>$result</span> = curl_exec ( <span>$curl</span> ); <span>// 执行操作</span><span>//$res = object_array ( json_decode ( $result ) );</span><span>//$res ['status'] = curl_getinfo ( $curl, CURLINFO_HTTP_CODE );</span><span>//pre ( $res );</span>
curl_close ( <span>$curl</span> ); <span>// 关闭CURL会话</span><span>return</span><span>$result</span>;
}
<span>//登录成功后自动检测帐户信息,如果没有创建则创建</span><span>public</span><span><span>function</span><span>autoRegister</span><span>(<span>$username</span>)</span>{</span><span>$hasAccount</span>= <span>$this</span>->userDetails(<span>$username</span>) ;
<span>if</span>(<span>$hasAccount</span>){
<span>return</span><span>'1'</span>;
}<span>else</span>{
}
}
<span>//登录</span><span>public</span><span><span>function</span><span>login</span><span>()</span>{</span>
session_start();
<span>$sessionid</span> = session_id();<span>//得到sessionid</span><span>//echo $sessionid ;</span><span>//声明一个json数组</span><span>$value</span>=<span>array</span>();
<span>$username</span>=trim(<span>$_REQUEST</span>[<span>'username'</span>]);
<span>$password</span>=trim(<span>$_REQUEST</span>[<span>'password'</span>]);
<span>// $DH=$db->get_one("select * from $thistable where (username='".trim($username)."' or mobile='".trim($username)."' or (email='".trim($username)."' and email_yz=1)) and del=0 ");</span><span>$islogin</span>=loginaddpoint(<span>$username</span>,<span>$password</span>,<span>$type</span>=<span>""</span>);
<span>$user_id</span> = <span>$islogin</span>;
<span>if</span>(<span>$islogin</span>><span>0</span>){
<span>//数据库获取用户所有信息</span><span>$umodel</span> = M(<span>'user'</span>,<span>'jo2_'</span>);
<span>$U</span>=<span>$umodel</span> -> where(<span>"userid='"</span>.<span>$user_id</span>.<span>"'"</span>) -> find();
<span>//var_dump($U);</span><span>$_SESSION</span>[<span>"userid"</span>]=<span>$U</span>[<span>"userid"</span>];
<span>$_SESSION</span>[<span>"username"</span>]=<span>$U</span>[<span>"username"</span>];
<span>$_SESSION</span>[<span>"usertype"</span>]=<span>$U</span>[<span>"type"</span>];
<span>$_SESSION</span>[<span>"sessionid"</span>]=<span>$sessionid</span>;
<span>$U</span>[<span>'face'</span>]=<span>$siteurl</span>.<span>$U</span>[<span>'face'</span>];
<span>$U</span>[<span>'face_s'</span>]=<span>$U</span>[<span>'face_s'</span>]?<span>$siteurl</span>.<span>$U</span>[<span>'face_s'</span>]:<span>''</span>;
<span>$value</span>[<span>'sessionid'</span>]=<span>$sessionid</span>;
<span>$value</span>[<span>'account'</span>] = <span>$U</span>[<span>'username'</span>];
<span>$value</span>[<span>'user_id'</span>] = <span>$U</span>[<span>'userid'</span>];
<span>$value</span>[<span>'msg'</span>] = <span>"登陆成功!"</span>;
<span>$value</span>[<span>'code'</span>] = <span>"200"</span>;
<span>if</span>(<span>$_GET</span>[isdz]==<span>"1"</span>){
<span>$json</span>=json_encode(<span>$U</span>);
}<span>else</span>{
<span>$json</span>=json_encode(<span>$value</span>);
}
<span>echo</span><span>$json</span>;
}<span>else</span><span>if</span>(<span>$islogin</span> == -<span>2</span>){
<span>$value</span>[<span>'msg'</span>] = <span>"密码错误!"</span>;
<span>$value</span>[<span>'code'</span>] = <span>"101"</span>;
<span>$json</span>=json_encode(<span>$value</span>);
<span>echo</span><span>$json</span>;
}<span>else</span><span>if</span>(<span>$islogin</span> == -<span>1</span>){
<span>$value</span>[<span>'msg'</span>] = <span>"用户名和密码不能为空!"</span>;
<span>$value</span>[<span>'code'</span>] = <span>"102"</span>;
<span>$json</span>=json_encode(<span>$value</span>);
<span>echo</span><span>$json</span>;
}<span>else</span><span>if</span>(<span>$islogin</span> === <span>0</span>){
<span>$value</span>[<span>'msg'</span>] = <span>"账号不存在!"</span>;
<span>$value</span>[<span>'code'</span>] = <span>"103"</span>;
<span>$json</span>=json_encode(<span>$value</span>);
<span>echo</span><span>$json</span>;
}
}
}</span></code>以上就介绍了环信服务端集成(PHP),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号