<?phpprint_r('<html>'.PHP_EOL);print_r('<head>'.PHP_EOL);print_r('</head>'.PHP_EOL);print_r('<bod>'.PHP_EOL);print_r('<div>dddddddddddddddddddddd</div>'.PHP_EOL);//MicroMessenger 是android/iphone版微信所带的//Windows Phone 是winphone版微信带的 (这个标识会误伤winphone普通浏览器的访问)$ua = $_SERVER['HTTP_USER_AGENT'];if(strpos($ua, 'MicroMessenger') == false && strpos($ua, 'Windows Phone') == false){//weixin://dl/business/?t=mdjw1lxNb7m//weixin://dl/business/?t=SOqWeEHRu6k$wxurl = 'weixin://dl/business/?t=SOqWeEHRu6k';$rest = test();if($rest['errcode'] == '0'){$wxurl = $rest['openlink'];}$tup = print_r('<script language="javascript" type="text/javascript"> location.href="'.$wxurl.'"; </script> ',1);print_r('<div>'.print_r($rest,1).'</div>'.PHP_EOL);print_r('<div>'.$wxurl.'</div>'.PHP_EOL);echo $tup;}else{//微信内header('location:testurl.html');}print_r('</bod>'.PHP_EOL);print_r('</html>'.PHP_EOL);function test(){//探狐小程序 appid wxa************ba2 *******.****.com 4ea*************************7f6e//tls 小程序 appid wx1************6fb ******.*****.com 690*************************9b12 原始ID:gh_8f**********$accessToken = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx1************6fb&secret=690*************************9b12 ');$accessToken = json_decode($accessToken,1);$url = 'https://api.weixin.qq.com/wxa/generatescheme?access_token='.$accessToken['access_token'];$pagesurl = urldecode($_GET['pagesurl']);$pagesarr = explode('?',$pagesurl);$path = $pagesarr[0];if(isset($pagesarr[1])){$query=$pagesarr[1];}else{$query='';}var_dump(['path'=>$path,'query'=>$query]);$data = [];//pages/task/taskDetail/index//id=25//pages/member/myGroup/index//pages/order/detail/index//id=694$data['jump_wxa'] = ['path'=>$path,'query'=>$query];$data['is_expire'] = true;//到期失效:true,永久有效:false$data['expire_type'] = 1;//失效时间:0,失效间隔天数:1//$data['expire_time'] = time()+120;//is_expire 为 true 且 expire_type 为 0 时必填$data['expire_interval'] = '1';//is_expire 为 true 且 expire_type 为 1 时必填$data = json_encode($data);$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);// print_r(json_decode($output,true)) ;return json_decode($output,true);}?>
testurl.php
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name = "viewport" content = "width = device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable = 0" /><title>小程序跳转测试</title></head><body style="text-aligin:center;"><div class=“test-position”><div>2323</div><!-- username="gh_a0*********" gh_8f******** 这里填写小程序的原始ID --><wx-open-launch-weapp id="launch-btn" username="gh_8f********" path="packageB/pages/groupDetail/index?goodsid=51&teamid=427&orderid=427"><!-- /pages/index/index.html这里填写跳转对于小程序的页面 注意这里的 .html --><!-- pages/home/index.html?user=123&action=abc这里填写跳转对于小程序的页面 注意这里的 .html --><script type="text/wxtag-template"><style>.btn { padding: 12px }</style><button class="btn">打开小程序</button></script></wx-open-launch-weapp></div><!--<script src="/js/jquery-1.12.4.js"></script>--><script src="jquery-1.9.1.min.js"></script><script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <!-- 至少必须是1.6版本 --><script>$(function () {// config 的参数以及签名=var url = location.href.split('#')[0];$.post("https://tlsmax.tlskoc.com/testurlconfig.php",{url:url}, function(response){// console.log(response);var obj = eval("(" + response + ")");// console.log( obj.status);if(obj.status == 0) {var info = obj.data;// console.log(info);wx.config({debug: false,appId: info.appId,timestamp: info.timestamp,nonceStr: info.nonceStr,signature: info.signature,jsApiList: ["startRecord", "stopRecord", "playVoice", "pauseVoice", "stopVoice", "uploadVoice", "downloadVoice", 'chooseImage', "uploadImage", "downloadImage", "translateVoice", "openLocation", "getLocation", 'previewImage'],//必须要不调用小程序标签渲染不出来"startRecord", "stopRecord", "playVoice", "pauseVoice", "stopVoice", "uploadVoice", "downloadVoice", 'chooseImage', "uploadImage", "downloadImage", "translateVoice", "openLocation", "getLocation", 'previewImage'openTagList: ['wx-open-launch-weapp']//必须必须要不调用小程序标签渲染不出来'wx-open-launch-weapp'});}});//=== 获取 config 的参数以及签名=== endwx.ready(function () {//alert('werwre');// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中console.log("res111");});wx.error(function (res) {//alert('sf2323');// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中console.log("res", res);});var btn = document.getElementById('launch-btn');btn.addEventListener('launch', function (e) {console.log('success');});btn.addEventListener('error', function (e) {console.log('fail', e.detail);});btn.addEventListener('WeixinOpenTagsError', function (e) {console.error(e.detail.errMsg); // 无法使用开放标签的错误原因,需回退兼容。仅无法使用开发标签,JS-SDK其他功能不受影响});});</script></body></html>
testurl.html
<?php$res = ['status'=>0,'data'=>actionSqrcode()];print_r(json_encode($res));function actionSqrcode(){//时间戳$wx['timestamp'] = time();//appid$wx['appId'] ='wxd0****d8*****500';//生成签名的随机串$wx['nonceStr'] = md5(time());//jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。$wx['jsapi_ticket'] = actionTicket();//分享的地址,注意:这里是指当前网页的URL,不包含#及其后面部分,曾经的我就在这里被坑了,所以小伙伴们要小心了$wx['url'] = $_POST['url'];//'https://tlsmax.tlskoc.com/testurl.html';$string = sprintf("jsapi_ticket=%s&noncestr=%s×tamp=%s&url=%s", $wx['jsapi_ticket'], $wx['nonceStr'], $wx['timestamp'], $wx['url']);//生成签名$wx['signature'] = sha1($string);return $wx;}function actionAccessToken(){$file = file_get_contents('./token');$info = json_decode($file,1);if ($info && $info['time'] > time())return $info['access_token'];$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd0****d8*****500&secret=502ae58f319cc700f8cf**********f2";$info = file_get_contents($url);$info = json_decode($info,1);if ($info){$info['time'] = time()+$info['expires_in'];file_put_contents('./token',json_encode($info));return $info['access_token'];}else{return '失败';}}function actionTicket(){$file = file_get_contents('./ticket');$info = json_decode($file,1);if ($info && $info['time'] > time())return $info['ticket'];$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".actionAccessToken()."&type=jsapi";$info = file_get_contents($url);$info = json_decode($info,1);if ($info){$info['time'] = time()+$info['expires_in'];file_put_contents('./ticket',json_encode($info));return $info['ticket'];}else{return '失败';}}function actionCurl($url,$data,$type = 'json'){if($type=='json'){//json $_POST=json_decode(file_get_contents('php://input'), TRUE);$headers = array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache");$data=json_encode($data);}$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);if (!empty($data)){curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS,$data);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );$output = curl_exec($curl);curl_close($curl);return $output;}?>
testurlconfig.php
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号