<?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的更多相关文章

  1. 手机扫描二维码下载APP,根据操作系统不同自动下载

    Android和IOS手机扫描二维码下载APP,根据OS不同,自动处理相应下载操作.IOS自动跳转至AppStore应用下载页,Android自动下载应用的apk包. <script type= ...

  2. 生成扫描二维码下载app的二维码的方法

    进入APP store苹果应用程序商店,根据分类找到你要生成二维码的APP,然后在浏览器连接里找到ID后的一串数字就是APP的应用ID了. 安卓系统的appid 在电脑浏览器中打开应用宝官网,http ...

  3. 扫二维码下载apk并统计被扫描次数(及微信屏蔽下载解决方案)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5395715.html 需求:想让用户扫描一个二维码就能下载APP,并统计被扫描次数. 两种实现方法: 1.一 ...

  4. 制作IOS企业版App网页扫描二维码下载安装

    有时候我们需要在XX网站的主页上去扫描二维码下载,那么ios开发中如何做到这一点呢. 我给大家解答一下,这也是在最近工作中用到的部分,在网上了解了一些. 下面给大家分解一下步骤: 1.Plist 和 ...

  5. 使用扫描二维码打开app

    应该不少人遇到过这种需求,扫描二维码打开app如果用户没有这个app则提示它跳转. 用网页直接来调用app是不打可能的,必须原生那边先做一些配置. 首先,安卓和苹果的调用方法是不同的. 所以我们需要先 ...

  6. 关于微信扫描二维码下载apk文件的细节设计

    微信使用的人数越来越多,渐渐的用户形成了一种习惯,扫描二维码的时候,也会打开微信去扫描,但是微信不支持第三方的链接下载,有些厂商已经发现了这一特点,所以在使用二维码下载自家的app时,会做一个提示,引 ...

  7. 网页授权——扫二维码获取openid

    最近做微信公众平台开发项目时遇到这样一个功能需求:生成一个特定url的二维码,用户扫描二维码后跳转到这个url指定的页面,并在这个页面获得用户的openid.这个功能主要涉及到两方面的技术:生成二维码 ...

  8. jenkins 安卓打包生成二维码下载

    先来张图看看吧 构思 jenkins gradle 打包apk文件,python myqr 模块生成二维码 放入nginx 访问图片的路径,apk安装包放在 nginx 下载目录. 环境 centos ...

  9. 让自己的apk可以被别人用二维码下载

    通过二维码下载的流程是, 1.截获地址当有一个url被二维码扫描后的被截获,请先确认能够被截获. 2.接受intent无论是把这个消息的地址发送给activity,还是reciver,都要进入到你的程 ...

  10. MISC-吹着贝斯扫二维码

    题目 [安洵杯 2019]吹着贝斯扫二维码 解压附件,有36个文件和一个压缩包,压缩包带密码和备注 分析 文件类型 随便打开一个不明文件,是jpg图片啊(FF D8 FF) 改一个试试,有一个小块二维 ...

随机推荐

  1. Spark应用程序第三方jar文件依赖解决方案

    第一种方式 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式 操作:使用spark-submit提交命令的参数: ...

  2. Python基础前言

    计算机内部存储数据的原理 """计算机内部只认识01二进制"""是因为计算机是基于电工作的,而电是有高低电频之分00000001   000 ...

  3. 浅写java环境配置

    我对于Java环境配置的理解: 下载JDK ==>安装JDK ==>在电脑的系统中添加JDK中所包含的Java环境 ==>重启(主要是给系统监测到环境,非必要,但是建议)==> ...

  4. Cygwin64静默安装办法

    下载地址: http://www.cygwin.com/setup-x86_64.exe 静默安装办法: .\setup-x86_64.exe --no-shortcuts --root D:\\Cy ...

  5. automagic webUI 自动化

    https://www.cnblogs.com/tsbc/p/6244268.html

  6. AcWing 791. 高精度加法C++数组实现

    高精度加法 a, b均为正整数 #include <iostream> using namespace std; const int N = 100010; int A[N], B[N], ...

  7. 前端之Vue day08 Vue3项目搭建、setup、toRefs

    一.Vue3 介绍 # 新项目使用vue3,有部分老项目使用vue2 # vue3 的变化 1.性能的提升 -打包大小减少41% -初次渲染快55%, 更新渲染快133% -内存减少54% 2.源码的 ...

  8. Jquery 简单实现demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. [转并修改]C#编程中跨线程访问控件

    C#编程中跨线程访问控件 一.简述 二.Winforms中跨线程访问控件 三.WPF中跨线程访问控件 参考文档 一.简述 C#中不允许跨线程直接访问界面控件,即一个线程中如主线程创建的控件不允许被其他 ...

  10. golang yaml配置

    Redis配置文件结构体 package config type Redis struct { Host string `yaml:"host"` Password string ...