微信公众号联合登录ampampamp微信小程序获取openidampampamp头条获取openid
#PHP# #小程序# #微信小程序# #抖音# #抖音小程序# /** * 微信公众号联合登录 * @return array|int * @throws DataNotFoundException * @throws DbException * @throws LogicException * @throws ModelNotFoundException */ public function openid(): array { $code = $this->request->param("code", ""); if (empty($code)) throw new LogicException("code必传"); $secret = Config::get("business.wechat.secret"); $appid = Config::get("business.wechat.appid"); $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . $appid . "&secret=" . $secret . "&code=" . $code . "&grant_type=authorization_code"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $content = curl_exec($ch); $status = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($status == 404) { return $status; } curl_close($ch); $errcode = json_decode($content, true); if (isset($errcode["errcode"])) { throw new LogicException($errcode["errmsg"]); } //Log::info("errcode:" . $content); if (isset($errcode["openid"]) && isset($errcode["access_token"])) { $info = $this->getUserInfo($errcode["openid"], $errcode["access_token"]); //Log::info("info:" . json_encode($info, true)); $unionid = $info["unionid"]; $nickname = $info["nickname"]; $headimgurl = $info["headimgurl"]; $clientSecret = $this->request->param("clientSecret", ""); return $this->userInfoService->login( "mobile", $clientSecret, "driving-test-web", "oauth", $errcode["openid"], "", $this->request->deviceId, $this->request->deviceToken, $this->request->ip(), $errcode["openid"], $nickname, $headimgurl, $unionid ); } throw new LogicException("获取失败"); } /** * 微信小程序获取openid * @return array|int * @throws DataNotFoundException * @throws DbException * @throws LogicException * @throws ModelNotFoundException */ public function smallOpenid() { $code = $this->request->param("code", ""); $nickname = $this->request->param("nickname", ""); $headimgurl = $this->request->param("headimgurl", ""); if (empty($code)) throw new LogicException("code必传"); $secret = Config::get("business.wechat.small_secret"); $appid = Config::get("business.wechat.small_appid"); $url = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appid . "&secret=" . $secret . "&js_code=" . $code . "&grant_type=authorization_code"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $content = curl_exec($ch); $status = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($status == 404) { return $status; } curl_close($ch); $result = json_decode($content, true); if (isset($result["errcode"])) { throw new LogicException($result["errmsg"]); } //return $result["openid"]; $clientSecret = $this->request->param("clientSecret", ""); return $this->userInfoService->login( "mobile", $clientSecret, "driving-test-wechat", "oauth", $result["openid"], "", $this->request->deviceId, $this->request->deviceToken, $this->request->ip(), $result["openid"], $nickname, $headimgurl, $result["unionid"] ); } /** * 头条获取openid * @return array|int * @throws DataNotFoundException * @throws DbException * @throws LogicException * @throws ModelNotFoundException */ public function toutiaoOpenid() { $code = $this->request->param("code", ""); $nickname = $this->request->param("nickname", ""); $headimgurl = $this->request->param("headimgurl", ""); if (empty($code)) throw new LogicException("code必传"); $secret = Config::get("business.toutiao.secret"); $appid = Config::get("business.toutiao.app_id"); $url = "https://developer.toutiao.com/api/apps/jscode2session?appid=" . $appid . "&secret=" . $secret . "&code=" . $code; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $content = curl_exec($ch); $status = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($status == 404) { return $status; } curl_close($ch); $result = json_decode($content, true); if ($result["error"] != 0) { throw new LogicException($result["errcode"] . ":" . $result["errmsg"]); } //return $result["openid"]; //Log::info("字节小程序openid:" . $result["openid"].";unionid:".$result["unionid"]); $clientSecret = $this->request->param("clientSecret", ""); return $this->userInfoService->login( "mobile", $clientSecret, "driving-test-tiktok", "oauth", $result["openid"], "", $this->request->deviceId, $this->request->deviceToken, $this->request->ip(), $result["openid"], $nickname, $headimgurl, $result["unionid"] ); } /** * 获取用户信息 * @param string $openid 调用【网页授权获取用户信息】接口获取到用户在该公众号下的Openid * @return string */ public function getUserInfo($openid, $access_token) { $response = self::curlGet("https://api.weixin.qq.com/sns/userinfo?access_token=" . $access_token . "&openid=" . $openid . "&lang=zh_CN"); return json_decode($response, true); } public static function curlGet($url = "", $options = array()) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); if (!empty($options)) { curl_setopt_array($ch, $options); } //https请求 不验证证书和host curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $data = curl_exec($ch); curl_close($ch); return $data; }
解除屏蔽,互联网才能真正互联互通肖军据报道,9月9日下午,工信部有关业务部门召开了屏蔽网址链接问题行政指导会。会上,工信部提出有关即时通信软件的合规标准,要求限期内各平台必须按标准解除屏蔽,否则将依法采取处置措施
微信解除了部分链接屏蔽,亲测有效之前看新闻说9月17日是工信部给出的各平台相互解除链接屏蔽的最后期限,于是想着在微信上去打开链接,看看整改之后的实际效果如何?我把今日头条的相关链接复制在微信,然后尝试打开。让人惊
譬如海信空调,那么对于海信,美的和格力的空调,这三者的区别国产空调行业现在发展得欣欣向荣,已经成为了家家户户必备的电器,不管是购买新房还是装修,都会考虑到空调的放置。随着空调行业的发展,现阶段很多新兴牌子也加入了进来,譬如海信空调,那么对
十大预测2025年前世界将发生哪些变化一机器人将取代人类根据卫报的一份报告,到2021年,机器人将取代美国市场上6的人类。零售业运输业和医疗保健业是受影响最大的行业。在未来,我们将看到机器人驾驶汽车和作为销售人员接受订
又是油改电?不到6万的纯电小型SUVEX3功夫牛正式预售!日前,几何汽车旗下全新小型纯电动SUVEX3功夫牛正式开启预售,预售价格5。97万元起,新车搭载最大功率70kW的驱动电机和容量为37。23kWh的三元锂电池组,NEDC续航里程为
ios15正式版值得更新吗?今天苹果正式推送ios15正式版系统,小编也是在第一时间升级了,那么这款系统的使用体验怎么样,值不值得更新呢,下面就让小编带大家一起来看看,再作决断吧一更新内容iOS15相比iOS
iOS15正式版推送,准备好更新了吗早上,一睁眼打开手机(XSMax)就提示iOS15更新(收不到的打开自动更新,返回再进去就可以看到),这次是正式版,更新包大小3。24G,这次更新并不强制更新,你可以选择iOS14
第一如何更优秀?OPPOColorOS12答案让设计跨屏安全更简单随着技术的发展,现在的智能手机性能愈发强大,很少有人抱怨自己的手机会出现卡顿或者闪退情况出现,这主要归功于出色的硬件配置和系统优化,尤其是最近几年,国产手机品牌针对安卓系统做了深度
有一种说法手机已经变成了精神鸦片,你上瘾了吗?从某种意义上来说,这么说是有道理的。手机是网络的终端展现。一方面给我们带来了很多方便,同时也带来了更多问题。有了手机,各种各样的信息都会蜂蛹而来。特别的混乱,没有条理。特别是对青少
苹果CEO库克发中秋祝福,遭众网友调侃感谢大家观看阅读,希望大家多多支持我。今天是中秋佳节。苹果公司CEOTimCook照例于微博向大家表达了中秋祝福,其称祝大家中秋快乐,阖家团圆,与亲朋好友欢聚一堂,尽享佳节月饼。苹
魂牵梦萦的小米MIX4即将面世了?米粉期待值拉满2021年,对于雷军和小米来说,是丰收的一年。在小米手机发布10周年之际,取得了极其优秀的成绩。近日数据统计机构strategyanalytics发布了欧洲2021年第二季度手机销
心级服务智能马桶,关爱您的健康几年前,如果提到智能马桶这个词,可能很多人都觉得这是一个稀罕物。但是随着近几年数字化进程加快,根据相关调查数据显示,智能马桶越来越普及,用户对于智能化马桶的接受度越来越高。中国移动
自播时代,企业不懂直播怎么办?11月11日,用10余年的时间完成了从普通的日期到光棍节,再到双11的角色变换。无数网友早已习惯在这个特定的时间里守在电脑或手机屏幕前,做最后的购物冲刺。双11,经历时间的洗礼,成
心级服务合作伙伴好帮手串码管理工具和家亲生态合作平台是合作伙伴智能设备入库一站式服务平台以及能力开放的对外集成展示平台,平台提供三大服务中心接入服务中心,能力服务中心,方案服务中心,合作伙伴可以在平台上尽情找合作找
心级服务广大普通影迷的家庭影院时代真的到来了在刚过去的2021国庆假期,长津湖我和我的父辈等大片扎堆上映。随着经济的快速发展,人们对精神文化的需求日益提升,中国电影市场迎来蓬勃发展的新时期但同时也面临着如何持续供给高质量内容
心级服务全屋智能是一种怎样的体验?当疲惫一天回到家,喜欢的灯光香氛和电视内容自动开启,耳边响起舒心的音乐,厨房的饭菜已自动烧好,那些曾经只有在电影中出现的场景,正在慢慢走进我们的家。日前,IDC发布中国智能家居设备
心级服务不止能上网,WiFi还能智能感知?日常生活中你是否有遇到过这样的烦恼?外地工作,家里老人独居生活不放心?出门在外,担心室内防盗不安全?家中智能摄像头,屡屡被破解,网上公然贩卖,隐私问题何时休?红外传感器精度低误报频
心级服务和家亲WiFi助手服务,打造智能家庭网络随着居民收入提高生活条件改善科学技术发展,人们的娱乐生活日益丰富,对于家庭网络的智能体验要求也越来越高。智能化的家庭网络不仅为用户提供高质量的上网服务,保障日常的上网需求,同时也可
心级服务双十一抢购,网速不行怎么办?又到一年双十一,你是否已经沉浸在各大主播的直播间无法自拔?购物车是否已经加满了预购连接,就等一声令下?是否想到去年因为网速不够,而痛失的心动好物?你是否在纠结选择哪家宽带服务?!家
心级服务快节奏的生活下,如何保护我们的健康?现在的生活节奏太快,年轻人活得就像是装满燃料的发动机,一直在不停地运转,但是再好的发动机如果你不爱护她不保养她,也会有闹情绪甚至罢工的时候。真到了这种时候,你是不是又会拍着大腿仰天
心级服务快节奏的生活下,如何保护我们的健康?现在的生活节奏太快,年轻人活得就像是装满燃料的发动机,一直在不停地运转,但是再好的发动机,如果你不爱护她不保养她,也会有闹情绪甚至罢工的时候。真到了这种时候,你是不是又会拍着大腿仰
管住嘴,迈开腿!Yolanda智能营养秤帮你监测每日食物热量摄入最近比较忙,出去运动的时间也很少。没有运动的时间,就只能依靠控制饮食来达到控制体重的目的。从上个月开始,减少了碳水类的摄入,减少了米饭的摄入,改为多吃一些沙拉豆腐。结果每天都能稳定