企业微信登录功能如何实现,有哪些长尾词可以优化用户体验?

2026-04-02 03:281阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1117个文字,预计阅读时间需要5分钟。

企业微信登录功能如何实现,有哪些长尾词可以优化用户体验?

1. 开发文档链接:https://qydev.weixin.qq.com/wiki/index.php步骤一:在微信企业号管理平台创建应用,获取agentid和Secret。步骤二:设置回调域名,完成相关配置。步骤三:编写代码,实现逻辑功能。

企业微信登录功能如何实现,有哪些长尾词可以优化用户体验?

1、开发文档
qydev.weixin.QQ.COM/wiki/index.PHP

第一步:

在企业微信管理平台创建应用,获取

agentid

Secret

第二步:

设置回调域名

具体步骤.... ???

第三步:

代码逻辑实现

PHP namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticateSUSErs; use Illuminate\Http\Request; class testController extends Controller { /** * 微信授权登录 * * */ PRivate $appId = ‘wx90d3be38CF782F12‘;//我的企业ID private $appSecret = ‘wp6hg8trJSTqjDDorwN5s5LP9_6_ha8YjmwHiYR8mMw‘;//自建应用里的Secret private $agentid = ‘1000049‘;//AgentId 手动授权时scoPE值改为snsapi_privateinfo 后面必须有AgentId private $common_url = ‘test-qywx/back‘; // 回调地址 private $code = ‘‘; private $access_token = ‘‘; private $user_ticket = ‘‘; private $UserId = ‘‘; private $openid = ‘‘; public function index() { $uri = urlencode($this->common_url); //授权成功返回地址 // $uri = urlencode($this->common_url . ‘index.PHP?s=‘ . $action); //授权成功返回地址 //下面$url请求授权登录地址,设置的是手动授权 $url = ‘open.weixin.qq.com/connect/oauth2/authorize?appid=‘ . $this->appId . ‘&redirect_uri=‘ . $uri . ‘&response_type=code&scope=snsapi_privateinfo&agentid=‘ . $this->agentid . ‘&state=STATE#wechat_redirect‘; header(‘Location:‘ . $url); } public function back() { $this->code = $_GET[‘code‘]; //接收上面url返回code,5分钟有效期 try { $userInfo = $this->common(); if (isset($userInfo)) { //$openId = $this->getOpenId();//获取openID(——暂时不用) echo ‘<PRE>‘;print_r($userInfo);exIT(); return $userInfo; } } catch (\Exception $e) { return false; } } //获取企业微信用户信息 public function common() { $access_token = $this->getAccessToken();//获取token $user_ticket = $this->getUserInfoList();//获取基本信息里的user_ticket值 $userInfo = $this->getUserInfoDetail();//获取登录人的详情信息 if (isset($access_token) && isset($user_ticket) && isset($userInfo)) { return $userInfo; } return false; } //获取access_token public function getAccessToken() { $code_url = "qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" . $this->appId . "&corpsecret=" . $this->appSecret; $access_token_str = $this->curl_get($code_url); $access_token_list = json_decode($access_token_str,true); $this->access_token = $access_token_list["access_token"];//获取access_token if ($access_token_list[‘errcode‘] == 0) { return $this->access_token; } return false; } //获取登录人基本信息 public function getUserInfoList() { $user_url = "qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=" . $this->access_token . "&code=" . $this->code; $userInfo_str = $this->curl_get($user_url); $userInfo_list = json_decode($userInfo_str,true);//get获取企业登录人基本信息 $this->user_ticket = $userInfo_list[‘user_ticket‘]; $this->UserId = $userInfo_list[‘UserId‘]; if ($userInfo_list[‘errcode‘] == 0) { return $userInfo_list; } return false; } //获取登录人的详情信息包括昵称邮箱和头像等 public function getUserInfoDetail() { $detail_url = "qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token=" . $this->access_token;//post获取详细信息 $param = array(‘user_ticket‘ => $this->user_ticket); $data = json_decode($this->curl_post($detail_url,$param),true); if ($data[‘errcode‘] == 0) { return $data; } return false; } //根据userID获取openID public function getOpenId() { $url = "qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid?access_token=" . $this->access_token; $param = array(‘userid‘ => $this->UserId); $data = json_decode($this->curl_post($url,true); if ($data[‘errcode‘] == 0) { $this->openid = $data[‘openid‘]; } return $this->openid; } /** * 文本消息推送 * touser、toparty、totag不能同时为空 * touser 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向该企业应用的全部成员发送 * toparty 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 * totag 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 * safe 表示是否是保密消息,0表示否,1表示是,默认0 * @param $touser * @param $toparty * @param string $message //推送内容 * @return true or false */ public function push_message($touser,$toparty,$message) { $url = "qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" . $this->access_token; $params = array("touser" => $touser,"toparty" => $toparty,"totag" => "","msgtype" => "text","agentid" => $this->agentid,"text" => array("content" => $message),"safe" => 0); $data = json_decode($this->curl_post($url,$params),true); if ($data[‘errcode‘] == 0) { return true; } return false; } /** * //发送推送文本卡片消息展现 * @param $touser * @param $toparty * @param $title * @param $description * @param $url * @return bool|mixed */ public function push_card($touser,$title,$description,$url) { $access_token = $this->getAccessToken(); $push_url = "qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" . $access_token; $params = array("touser" => $touser,"msgtype" => "textcard","textcard" => array("title" => $title,"description" => $description,"url" => $url,"BTntxt" => "")); $data = json_decode($this->curl_post($push_url,true); if ($data[‘errcode‘] == 0) { return $data; } return false; } /** * 获取部门列表 * @param $department_id //部门id。获取指定部门及其下的子部门。 如果不填,默认获取全量组织架构 * @return */ public function get_department($department_id) { $url = "qyapi.weixin.qq.com/cgi-bin/department/list?access_token=" . $this->access_token . "&id=" . $department_id; $departmentInfo = $this->curl_get($url); $departmentInfo = json_decode($departmentInfo,true);//只能拉取token对应的应用的权限范围内的部门列表 if ($departmentInfo[‘errcode‘] == 0) { return $departmentInfo[‘department‘];//所有的部门信息 } return false; } //curl get方式 public function curl_get($url) { $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNtransfer,1); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); $data = curl_exec($curl); curl_close($curl); return $data; } //curl post方式 public function curl_post($url,$param) { $param = json_encode($param,true); $ch = curl_init($url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,1); curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$param); curl_setopt($ch,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); $data = curl_exec($ch); return $data; } //判断是否是企业微信登录 public function isQyWx() { if (strpos($_SERVER[‘HTTP_USER_AGENT‘],‘wxwork‘) !== false) { return true; } else { return false; } } }

本文共计1117个文字,预计阅读时间需要5分钟。

企业微信登录功能如何实现,有哪些长尾词可以优化用户体验?

1. 开发文档链接:https://qydev.weixin.qq.com/wiki/index.php步骤一:在微信企业号管理平台创建应用,获取agentid和Secret。步骤二:设置回调域名,完成相关配置。步骤三:编写代码,实现逻辑功能。

企业微信登录功能如何实现,有哪些长尾词可以优化用户体验?

1、开发文档
qydev.weixin.QQ.COM/wiki/index.PHP

第一步:

在企业微信管理平台创建应用,获取

agentid

Secret

第二步:

设置回调域名

具体步骤.... ???

第三步:

代码逻辑实现

PHP namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\AuthenticateSUSErs; use Illuminate\Http\Request; class testController extends Controller { /** * 微信授权登录 * * */ PRivate $appId = ‘wx90d3be38CF782F12‘;//我的企业ID private $appSecret = ‘wp6hg8trJSTqjDDorwN5s5LP9_6_ha8YjmwHiYR8mMw‘;//自建应用里的Secret private $agentid = ‘1000049‘;//AgentId 手动授权时scoPE值改为snsapi_privateinfo 后面必须有AgentId private $common_url = ‘test-qywx/back‘; // 回调地址 private $code = ‘‘; private $access_token = ‘‘; private $user_ticket = ‘‘; private $UserId = ‘‘; private $openid = ‘‘; public function index() { $uri = urlencode($this->common_url); //授权成功返回地址 // $uri = urlencode($this->common_url . ‘index.PHP?s=‘ . $action); //授权成功返回地址 //下面$url请求授权登录地址,设置的是手动授权 $url = ‘open.weixin.qq.com/connect/oauth2/authorize?appid=‘ . $this->appId . ‘&redirect_uri=‘ . $uri . ‘&response_type=code&scope=snsapi_privateinfo&agentid=‘ . $this->agentid . ‘&state=STATE#wechat_redirect‘; header(‘Location:‘ . $url); } public function back() { $this->code = $_GET[‘code‘]; //接收上面url返回code,5分钟有效期 try { $userInfo = $this->common(); if (isset($userInfo)) { //$openId = $this->getOpenId();//获取openID(——暂时不用) echo ‘<PRE>‘;print_r($userInfo);exIT(); return $userInfo; } } catch (\Exception $e) { return false; } } //获取企业微信用户信息 public function common() { $access_token = $this->getAccessToken();//获取token $user_ticket = $this->getUserInfoList();//获取基本信息里的user_ticket值 $userInfo = $this->getUserInfoDetail();//获取登录人的详情信息 if (isset($access_token) && isset($user_ticket) && isset($userInfo)) { return $userInfo; } return false; } //获取access_token public function getAccessToken() { $code_url = "qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" . $this->appId . "&corpsecret=" . $this->appSecret; $access_token_str = $this->curl_get($code_url); $access_token_list = json_decode($access_token_str,true); $this->access_token = $access_token_list["access_token"];//获取access_token if ($access_token_list[‘errcode‘] == 0) { return $this->access_token; } return false; } //获取登录人基本信息 public function getUserInfoList() { $user_url = "qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=" . $this->access_token . "&code=" . $this->code; $userInfo_str = $this->curl_get($user_url); $userInfo_list = json_decode($userInfo_str,true);//get获取企业登录人基本信息 $this->user_ticket = $userInfo_list[‘user_ticket‘]; $this->UserId = $userInfo_list[‘UserId‘]; if ($userInfo_list[‘errcode‘] == 0) { return $userInfo_list; } return false; } //获取登录人的详情信息包括昵称邮箱和头像等 public function getUserInfoDetail() { $detail_url = "qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token=" . $this->access_token;//post获取详细信息 $param = array(‘user_ticket‘ => $this->user_ticket); $data = json_decode($this->curl_post($detail_url,$param),true); if ($data[‘errcode‘] == 0) { return $data; } return false; } //根据userID获取openID public function getOpenId() { $url = "qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid?access_token=" . $this->access_token; $param = array(‘userid‘ => $this->UserId); $data = json_decode($this->curl_post($url,true); if ($data[‘errcode‘] == 0) { $this->openid = $data[‘openid‘]; } return $this->openid; } /** * 文本消息推送 * touser、toparty、totag不能同时为空 * touser 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向该企业应用的全部成员发送 * toparty 部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 * totag 标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数 * safe 表示是否是保密消息,0表示否,1表示是,默认0 * @param $touser * @param $toparty * @param string $message //推送内容 * @return true or false */ public function push_message($touser,$toparty,$message) { $url = "qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" . $this->access_token; $params = array("touser" => $touser,"toparty" => $toparty,"totag" => "","msgtype" => "text","agentid" => $this->agentid,"text" => array("content" => $message),"safe" => 0); $data = json_decode($this->curl_post($url,$params),true); if ($data[‘errcode‘] == 0) { return true; } return false; } /** * //发送推送文本卡片消息展现 * @param $touser * @param $toparty * @param $title * @param $description * @param $url * @return bool|mixed */ public function push_card($touser,$title,$description,$url) { $access_token = $this->getAccessToken(); $push_url = "qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" . $access_token; $params = array("touser" => $touser,"msgtype" => "textcard","textcard" => array("title" => $title,"description" => $description,"url" => $url,"BTntxt" => "")); $data = json_decode($this->curl_post($push_url,true); if ($data[‘errcode‘] == 0) { return $data; } return false; } /** * 获取部门列表 * @param $department_id //部门id。获取指定部门及其下的子部门。 如果不填,默认获取全量组织架构 * @return */ public function get_department($department_id) { $url = "qyapi.weixin.qq.com/cgi-bin/department/list?access_token=" . $this->access_token . "&id=" . $department_id; $departmentInfo = $this->curl_get($url); $departmentInfo = json_decode($departmentInfo,true);//只能拉取token对应的应用的权限范围内的部门列表 if ($departmentInfo[‘errcode‘] == 0) { return $departmentInfo[‘department‘];//所有的部门信息 } return false; } //curl get方式 public function curl_get($url) { $curl = curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNtransfer,1); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); $data = curl_exec($curl); curl_close($curl); return $data; } //curl post方式 public function curl_post($url,$param) { $param = json_encode($param,true); $ch = curl_init($url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,1); curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$param); curl_setopt($ch,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); $data = curl_exec($ch); return $data; } //判断是否是企业微信登录 public function isQyWx() { if (strpos($_SERVER[‘HTTP_USER_AGENT‘],‘wxwork‘) !== false) { return true; } else { return false; } } }