• 微信外部APP拉起小程序


    1. /**
    2. * @desc APP唤起小程序
    3. *
    4. * @author Tao
    5. * @email 804633234@qq.com
    6. * @date 2022-09-09 15:19
    7. * Class ArouseApplet
    8. */
    9. class ArouseApplet
    10. {
    11. private $appId;
    12. private $appSecret;
    13. public function __construct()
    14. {
    15. $this->appId=""; //小程序appid
    16. $this->appSecret="";//小程序密钥
    17. }
    18. /**
    19. * @desc 获取凭证
    20. *
    21. * @author Tao
    22. * @email 804633234@qq.com
    23. * @date 2022-09-09 15:21
    24. */
    25. private function getAacessToken():string
    26. {
    27. $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appId."&secret=$this->appSecret";
    28. $data=$this->curl($url,"","GET");
    29. return $data['access_token'];
    30. }
    31. /**
    32. * @desc 获取UrlScheme
    33. *
    34. * @author Tao
    35. * @email 804633234@qq.com
    36. * @date 2022-09-09 15:28
    37. */
    38. public function getUrlScheme():string
    39. {
    40. $accessToken=$this->getAacessToken();
    41. $url="https://api.weixin.qq.com/wxa/generatescheme?access_token=".$accessToken;
    42. $params=[
    43. "jump_wxa"=>[
    44. "path"=> "",
    45. "query"=> ""
    46. ]
    47. ];
    48. $data=$this->curl($url,json_encode($params));
    49. return $data['openlink'];
    50. }
    51. /**
    52. * @desc CURL
    53. *
    54. * @param $url
    55. * @param $data
    56. * @param string $method
    57. * @return array
    58. * @author Tao
    59. * @email 804633234@qq.com
    60. * @date 2022-09-09 15:27
    61. */
    62. private function curl($url,$params,$method="POST"):array
    63. {
    64. $reqHeader = array(
    65. 'Connection: keep-alive',
    66. 'Content-Type: application/json',
    67. 'Charset: utf-8'
    68. );
    69. $ch = curl_init();
    70. curl_setopt($ch, CURLOPT_HTTPHEADER, $reqHeader);
    71. curl_setopt($ch, CURLOPT_URL, $url);
    72. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    73. curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
    74. curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
    75. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 10);
    76. curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    77. $result = curl_exec($ch);
    78. return json_decode($result,true);
    79. }
    80. }
    81. ?>

  • 相关阅读:
    RabbitMQ之ttl(过期消息)解读
    JUC并发编程——读写锁(基于狂神说的学习笔记)
    C#子线程操作UI线程更新报线程间操作无效
    x265 帧间预测
    飞瓜数据B站丨B站UP主11月第3周榜单排行榜榜单(B站平台)发布!
    1002:输出第二个整数
    Lstm+transformer的刀具磨损预测
    LInux-4-进程地址空间
    Regular Paper, Short Paper, Demo Paper 和Poster的区别
    springboot整合aop,实现日志操作
  • 原文地址:https://blog.csdn.net/zhang804633234/article/details/126784767