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();
        }

    }
目录
相关文章
|
6天前
|
存储 小程序 前端开发
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
15 0
|
2天前
|
小程序
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
6 1
【亲测有效】支持横竖屏 微信小程序video禁止进度条拖动,微信小程序遮罩进度条,
|
2天前
|
小程序 前端开发
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
【非常全】微信小程序下载图片到相册,微信小程序自动获取分享图片到相册
17 3
|
6天前
|
移动开发 小程序 开发工具
微信支付的类型分析(JSAPI+APP+H5+NATIVE+付款码+合单)
微信支付的类型分析(JSAPI+APP+H5+NATIVE+付款码+合单)
10 1
|
19天前
|
小程序 前端开发 JavaScript
微信小程序|网上花店微信小程序的设计与实现
微信小程序|网上花店微信小程序的设计与实现
|
19天前
|
小程序 前端开发 测试技术
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
|
14天前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
19天前
|
小程序 前端开发 JavaScript
微信小程序|基于微信小程序的高校就业招聘系统
微信小程序|基于微信小程序的高校就业招聘系统
|
19天前
|
小程序 前端开发 测试技术
微信小程序|微信小程序农产品自主供销系统+后台管理
微信小程序|微信小程序农产品自主供销系统+后台管理
|
2天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的广西文化传承小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的广西文化传承小程序的详细设计和实现(源码+lw+部署文档+讲解等)
20 3