扫二维码 下载app
<?php
header("Access-Control-Allow-Origin: https:// ");
$version = PAPI_GetSafeParam('version');
//设置缓存
$arr = [];
$down_path = '';
$mem_key = "get_app_version";
$down_path = $mem->get($mem_key);
//对象转化为数组函数
function xmlToArrayElement($getData) {
$data = array();
foreach ((array) $getData as $key => $value) {
$data[$key] = !is_string($value) ? xmlToArrayElement($value) : $value;
}
return $data;
}
if(!$down_path){
//读取xml文件中的版本号
$file_path="version.xml";
$file_arr = file_get_contents($file_path);
$file_arr = simplexml_load_string($file_arr, 'SimpleXMLElement', LIBXML_NOCDATA);
$xml = xmlToArrayElement($file_arr);
$down_path = $xml['path'];
$mem->set($mem_key,$down_path,0,MEMCACHE_MEDIA);
}
$arr['down_path'] = $down_path;
if($version) exit(json_encode($arr));
//判断是否是微信
function is_Weixin()
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false)
{
return true;
}
return false;
}
//判断是否是安卓
function is_Android()
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false)
{
return true;
}
return false;
}
//判断是否是ios
function is_Ios()
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'iPad') != false)
{
return true;
}
return false;
}
//是微信打开情况下直接跳转下载页面
if(is_weixin())
{
header("Location:https://a.app.qq.com/o/simple.jsp?pkgname=com.deskmate100");
}
if(!is_weixin())
{
if(is_Android())
{
header("Location:{$down_path}");
}
else if(is_Ios())
{
header("Location:https://itunes.apple.com/cn/app/id980606650");
}
else
{
header("Location:{$down_path}");
}
}
扫二维码 下载app的更多相关文章
- 手机扫描二维码下载APP,根据操作系统不同自动下载
Android和IOS手机扫描二维码下载APP,根据OS不同,自动处理相应下载操作.IOS自动跳转至AppStore应用下载页,Android自动下载应用的apk包. <script type= ...
- 生成扫描二维码下载app的二维码的方法
进入APP store苹果应用程序商店,根据分类找到你要生成二维码的APP,然后在浏览器连接里找到ID后的一串数字就是APP的应用ID了. 安卓系统的appid 在电脑浏览器中打开应用宝官网,http ...
- 扫二维码下载apk并统计被扫描次数(及微信屏蔽下载解决方案)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5395715.html 需求:想让用户扫描一个二维码就能下载APP,并统计被扫描次数. 两种实现方法: 1.一 ...
- 制作IOS企业版App网页扫描二维码下载安装
有时候我们需要在XX网站的主页上去扫描二维码下载,那么ios开发中如何做到这一点呢. 我给大家解答一下,这也是在最近工作中用到的部分,在网上了解了一些. 下面给大家分解一下步骤: 1.Plist 和 ...
- 使用扫描二维码打开app
应该不少人遇到过这种需求,扫描二维码打开app如果用户没有这个app则提示它跳转. 用网页直接来调用app是不打可能的,必须原生那边先做一些配置. 首先,安卓和苹果的调用方法是不同的. 所以我们需要先 ...
- 关于微信扫描二维码下载apk文件的细节设计
微信使用的人数越来越多,渐渐的用户形成了一种习惯,扫描二维码的时候,也会打开微信去扫描,但是微信不支持第三方的链接下载,有些厂商已经发现了这一特点,所以在使用二维码下载自家的app时,会做一个提示,引 ...
- 网页授权——扫二维码获取openid
最近做微信公众平台开发项目时遇到这样一个功能需求:生成一个特定url的二维码,用户扫描二维码后跳转到这个url指定的页面,并在这个页面获得用户的openid.这个功能主要涉及到两方面的技术:生成二维码 ...
- jenkins 安卓打包生成二维码下载
先来张图看看吧 构思 jenkins gradle 打包apk文件,python myqr 模块生成二维码 放入nginx 访问图片的路径,apk安装包放在 nginx 下载目录. 环境 centos ...
- 让自己的apk可以被别人用二维码下载
通过二维码下载的流程是, 1.截获地址当有一个url被二维码扫描后的被截获,请先确认能够被截获. 2.接受intent无论是把这个消息的地址发送给activity,还是reciver,都要进入到你的程 ...
- MISC-吹着贝斯扫二维码
题目 [安洵杯 2019]吹着贝斯扫二维码 解压附件,有36个文件和一个压缩包,压缩包带密码和备注 分析 文件类型 随便打开一个不明文件,是jpg图片啊(FF D8 FF) 改一个试试,有一个小块二维 ...
随机推荐
- vue3中读取本地excel文件内容
背景 做后台项目时避免不了excel文件上传,有的还要求对文件内容做校验,或者把文件内容转成数据上传保存. 操作 1.引入xlsx插件,最好安装指定版本,否则会报错 npm i xlsx@0.16.0 ...
- iOS开发之权限申请说明key
我们申请不同的权限需要对应的key,在info.plist内加上对用户的提示语 麦克风权限 NSMicrophoneUsageDescription 相机权限 NSCameraUsageDescrip ...
- MapReduce原理——切片代码分析
(1)程序先找到数据存储的目录 (2)遍历目录对每个文件进行切片 (3)遍历一个文件: 获取文件大小 计算切片大小 默认情况下,切片大小等于blocksize 每次切片时都要判断剩下部分师否大于块的1 ...
- ubantu下的java的发布
1.先检查是否安装过 java version 2.卸载的命令 sudo apt-get remove openjdk* 3.创建存放jdk的目录 sudo mkdir /usr/lib/jvm 4. ...
- VSCode 设置启用终端执行yarn
如果你的vscode终端不支持 yarn run * 的命令你可以新建终端执行:get-ExecutionPolicy执行结果为:RemoteSigned 表示为禁用状态. 执行:set-Execut ...
- pandoc转换markdown生成pdf文件表格问题
使用pandoc转换Markdown文件(.md)生成pdf pandoc --latex-engine=xelatex -V CJKmainfont="Noto Sans CJK SC&q ...
- Vue.js的使用经验
Vue.js的使用经验 Vue.js的意义 解耦了视图与数据 可复用的组件 前端路由 状态管理 虚拟DOM Vue提供了很多实例属性与方法,都以$开头 $el可以访问挂载Vue实例的元素. $se ...
- shell语法6-exit命令、文件重定向、引入外部脚本
一.exit命令 exit命令用来退出当前shell进程,并返回一个退出状态:使用$?可以接收这个退出状态.exit命令可以接受一个整数值作为参数,代表退出状态.如果不指定,默认状态值是 0.exit ...
- Pytorch实战学习(九):进阶RNN
<PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Advance RNN 1.RNN分类问题 判断数据集中的每个名字所属的国家,共有18个国家类别 2.网络结构 ①基础R ...
- swift中的进制转换,以及玩转二进制
swift中的进制转换,以及玩转二进制 在日常开发中我们很少用到进制转换,或操作二进制的情况.但是如果你处理一些底层的代码,你会经常与二进制打交道,所以接下来我们先来了解一下二进制. 二进制(bina ...