123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- /* * **************************************************
- * 此代码为员工在公司工作期间创作.
- * 使用权和所有权归属于公司和员工共有.
- * 收益的权利归属于公司.
- * ——石家庄龙游科技有限公司
- * ************************************************** */
- namespace loyalsoft;
- include_once __DIR__ . '/../../main.php';
- /**
- * 检查更新(基于和王解的update模块的约定)
- * @author gwang
- * @version 1.0.0 Created by wanggangzero at 2023年6月15日17:07:11
- */
- class CheckUpdateDLL {
- const Ver_file = "CodeVer.txt"; # dll版本信息文件名
- const DLL_file = "Assembly-CSharp.dll.bytes"; # dll文件名
- /**
- * 检查客户端版本是否需要强制更新
- * @return UpdateDLLRetInfo
- */
- public static function Check() {
- $clientVer = self::GetClientVersion(); # 客户端基带版本号
- $platform = self::GetClientPlatform(); # 客户端平台(安卓/IOS)
- $ret = ""; # 返回值
- if ($platform != PLAT) { # 防御客户端未正确设置plat,访问错误的服务器地址
- return "检查更新失败!(渠道不匹配 $platform - " . PLAT . ")";
- }
- $url = config::CDN_host() . "/dll/" . self::Ver_file . "?ts=" . now(); # dll版本
- list('result' => $ok, 'msg' => $newVer) = HttpUtil::makeRequest($url, array(), array(), array(), "get"); # 取CDN上版本信息
- if ($ok) {
- if ((intval($newVer) - $clientVer) > 0) { # # 修订版本号不一致, 提示更新
- $ret = config::CDN_host() . "/dll/" . self::DLL_file . "?ver=" . $newVer;
- } else {
- $ret = "平安无事";
- }
- } else { # 检查更新失败
- $ret = "检查更新失败!";
- }
- return $ret; # 返回
- }
- /**
- * 读取参数中的客户端dll版本
- * @return int
- */
- static function GetClientVersion() {
- $valueMap = query_paras(); // array
- // $valueMap = array('clientVer' => 2, 'plat' => 'dev_wg');
- if (!is_array($valueMap)) {
- exit("无参数");
- }
- $clientVer = "";
- if (isset($valueMap["clientVer"])) {
- $clientVer = urldecode($valueMap['clientVer']);
- } else {
- exit("缺少参数 'clientVer'!");
- }
- return intval($clientVer);
- }
- /**
- * 读取参数中的客户端平台(and/and_hw/and_yyb/dev/dev_wg)
- * @return string
- */
- static function GetClientPlatform() {
- $valueMap = query_paras(); // array
- // $valueMap = array('clientVer' => 22, 'plat' => 'dev_wg');
- if (!is_array($valueMap)) {
- exit("无参数");
- }
- $plat = "";
- if (isset($valueMap["plat"])) {
- $plat = urldecode($valueMap['plat']);
- } else {
- exit("缺少参数 'plat'!");
- }
- return $plat;
- }
- }
- echo(CheckUpdateDLL::Check()); # 打印json给客户端
|