php版 短信跳转微信小程序

实现这功能首先,小程序端添加业务域名 

php版 短信跳转微信小程序_第1张图片

php代码

['path'=>'/pages/index/index','query'=>$scheme['name']]];
        $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);
        if ($data['errmsg'] == 'ok'){
            return json(['code' => 200,'data'=>$data['openlink'], 'msg' =>'操作成功']);
        }else{
            return json(['code' => 201,'data'=>$data, 'msg' =>'异常']);
        }
    }

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

    }
}

下面使用js的location.href

location.href = 'https://***.***.com'

我前端用的是uniapp,vue的话要安装axios或者jq





短信内容放前端链接地址,这样就可以通过打开游览器跳转到小程序了

注意

1.必须是发布的小程序才会被唤醒

2.接口有上限,如果需求不高不用理会

解决方法就是在请求的时候用redis存储url scheme返回的地址和请求时间, 设置一段时间再次发送新的请求再次覆盖存储数据

你可能感兴趣的:(php,微信小程序,开发语言)