php + h5使用 scheme页面跳转微信小程序-其他浏览器一键跳转到微信并打开小程序

简介: php + h5使用 scheme页面跳转微信小程序-其他浏览器一键跳转到微信并打开小程序

背景:当前很多h5页面或者app需要一键跳转到微信小程序

微信官方获取 URL Scheme

官方文档: 获取 URL Scheme

前端代码

<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>微信小程序</title>
</head>
<body>
<a href="{$openlink}">点击跳转微信小程序</a>
<!--自动打开微信小程序代码-->
<!--<input type="hidden" id="timestamp" value="{{$openlink}}">-->
<!--<p style="text-align: center">跳转中.....</p>-->
</body>
<script src="/js/jquery.min.js"></script>
<!--自动打开微信小程序代码-->
<!--<script>-->
<!--    var timestamp = $('#timestamp').val();-->
<!--    location.href = timestamp;-->
<!--</script>-->
</html>

后端php版本代码

public function getScheme()
    {
        $appid = '';//微信小程序appid
        $secret = '';//微信小程序secret
//path是要跳转的小城页面地址,query为要携带的参数
        $body = ['jump_wxa' => ['path' => '/pages/index/index', 'query' => 'pid=1']];
        $tokenurl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $secret;
        $data = file_get_contents($tokenurl);
        $data = json_decode($data, true);

        $token = $data['access_token'];
        $url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" . $token;
        $data = $this->curl_post($url, null, $body);
        $this->assign('openlink', $data['openlink']);
        return $this->fetch();
    }

    public function curl_post($url, $herder, $body)
    {
//一般框架都会自带GuzzleHttp,没有的请手动安装,或者利用curl post请求
        $client = new \GuzzleHttp\Client();
        try {
            $pram = $client->post($url, [
                'headers' => $herder,
                'json' => $body,
            ]);
            $content = json_decode($pram->getBody()->getContents(), true);
            return $content;
        } catch (ErrorException $exception) {
            return $exception->getCode();
        }

    }
目录
相关文章
|
3天前
|
小程序
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
5 0
|
3天前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
8 0
|
3天前
|
小程序 API 数据库
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
6 0
|
2天前
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
6 0
|
2天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的微信小程序的网上商城附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的微信小程序的网上商城附带文章源码部署视频讲解等
11 3
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的个人健康管理系统小程序附带文章源码部署视频讲解等
10 2
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的高校宿舍信息管理系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的高校宿舍信息管理系统小程序附带文章源码部署视频讲解等
8 1
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的电影交流平台小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的电影交流平台小程序附带文章源码部署视频讲解等
9 1
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的电器维修系统小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的电器维修系统小程序附带文章源码部署视频讲解等
8 1
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生校园兼职微信小程序附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生校园兼职微信小程序附带文章源码部署视频讲解等
10 1