亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP開發APP接口(六):APP版本升級以及APP演示

2019-11-06 08:19:22
字體:
來源:轉載
供稿:網友

一、版本升級分析及數據表設計

學習要點: 1. 版本升級分析 2. 掌握如何設計版本升級數據表

這里寫圖片描述

Web升級:由開發工程師進行代碼的修改上傳的操作; App更新:由用戶自行更新版本;

這里寫圖片描述

初始化接口 init.php 參數

app_id
version_id
/** * version_upgrade 版本升級信息表 */CREATE TABLE `version_upgrade` ( `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT, `app_id` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '客戶端設備id 1安卓pad', `version_id` smallint(4) unsigned DEFAULT '0' COMMENT '大版本號id', `version_mini` mediumint(8) unsigned DEFAULT '0' COMMENT '小版本號', `version_code` varchar(10) DEFAULT NULL COMMENT '版本標識 1.2', `type` tinyint(2) unsigned DEFAULT NULL COMMENT '是否升級 1升級,0不升級,2強制升級', `apk_url` varchar(255) DEFAULT NULL, `upgrade_point` varchar(255) DEFAULT NULL COMMENT '升級提示', `status` tinyint(1) DEFAULT NULL, `create_time` int(11) NOT NULL, `update_time` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;INSERT INTO `muke`.`version_upgrade` (`id`, `app_id`, `version_id`, `version_mini`, `version_code`, `type`, `apk_url`, `upgrade_point`, `status`, `create_time`, `update_time`) VALUES ('1', '1', '2', '1', '2.1', '1', 'http://imooc.com', '有新功能了,快來更新', '1', '0', '0');/** * app表 客戶端表 */CREATE TABLE `app` ( `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵', `name` varchar(10) DEFAULT NULL COMMENT 'APP類型名稱 如:安卓手機', `is_encryption` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否加密 1加密 0不加密', `key` varchar(20) NOT NULL DEFAULT '0' COMMENT '加密key', `image_size` text COMMENT '按json_encode存儲', `create_time` int(11) NOT NULL COMMENT '創建時間', `update_time` int(11) NOT NULL COMMENT '更新時間', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '狀態 1正常 0刪除', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('1', '安卓pad', '1', 'ss', NULL, '0', '0', '1');INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('2', '安卓手機', '1', 'singwa@126.com', NULL, '0', '0', '1');INSERT INTO `muke`.`app` (`id`, `name`, `is_encryption`, `key`, `image_size`, `create_time`, `update_time`, `status`) VALUES ('3', '

二、版本升級接口開發及演示

學習要點: 1. 掌握如何封裝 check 方法; 2. check 方法用于檢測最新版本信息!

接口傳遞參數:

app_id
version_id
did
version_mini
encrypt_did

基本參數傳遞方式和獲取方法

方式 獲取
get $_GET
post $_POST
header頭 $_SERVER

$_SERVER 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script location)等信息的數組

檢測APP發送數據

模擬APP發送POST請求頁面:/var/www/app/init.html ~~~html

設備號: 版本號: 小版本號: APP類型: encrypt_did:

~~~

獲取POST請求數據頁面:/var/www/app/init.php ~php /** * 處理版本升級 */ require_once('./common.php'); class Init extends Common { public function index() { this->check();      }  }init = new Init(); $init->index(); ~ 處理接口公共業務:/var/www/app/common.php ~~~php require_once(‘./response.php’); require_once(‘./db.php’); /** * 處理接口公共業務 */ class Common { public params;publicapp;

public function check() { $this->params['app_id'] = $appId = isset($_POST['app_id']) ? $_POST['app_id'] : ''; $this->params['version_id'] = $versionId = isset($_POST['version_id']) ? $_POST['version_id'] : ''; $this->params['version_mini'] = $versionMini = isset($_POST['version_mini']) ? $_POST['version_mini'] : ''; $this->params['did'] = $did = isset($_POST['did']) ? $_POST['did'] : ''; $this->params['encrypt_did'] = $encryptDid = isset($_POST['encrypt_did']) ? $_POST['encrypt_did'] : ''; if(!is_numeric($appId) || !is_numeric($versionId)) { return Response::show(401, '參數不合法'); } // 判定app是否需要加密 $this->app = $this->getApp($appId); if (!$this->app) { return Response::show(402, 'app_id不存在'); } // 該設備需要加密,并且對設備號did連上加密key進行加密的結果不等于encrypt_did,則沒有權限 if($this->app['is_encryption'] && $encryptDid !=
md5($did . $this->app['key'])) { return Response::show(403, '沒有該權限'); }}// 獲取設備信息public function getApp($id) { $sql = "select * from `app` where id = " . $id . " and status = 1 limit 1"; $connect = Db::getInstance()->connect(); $result = MySQL_query($sql, $connect); return mysql_fetch_assoc($result);}

} ~~~

判斷是否升級APP

common類里增加獲取版本信息的方法

// 獲取版本信息 public function getversionUpgrade($appId) { $sql = "select * from `version_upgrade` where app_id = " . $appId . " and status = 1 limit 1"; $connect = Db::getInstance()->connect(); $result = mysql_query($sql, $connect); return mysql_fetch_assoc($result); }

修改init.php首頁文件

require_once('./common.php');class Init extends Common { public function index() { $this->check(); // 獲取版本升級信息 $versionUpgrade = $this->getversionUpgrade($this->app['id']); if ($versionUpgrade) { // 要升級 并且 當前版本號小于要升級的版本號 if ($versionUpgrade['type'] && $this->params['version_id'] < $versionUpgrade['version_id']) { // 要升級 $versionUpgrade['is_upload'] = $versionUpgrade['type']; } else { // 不升級 $versionUpgrade['is_upload'] = 0; } return Response::show(200, '版本升級信息獲取成功', $versionUpgrade); } else { return Response::show(400, '版本升級信息獲取失敗'); } }}$init = new Init();$init->index();
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品电影网| 国产精品视频99| 午夜精品久久久久久99热软件| 91香蕉嫩草神马影院在线观看| 欧美激情网友自拍| 日韩成人在线视频网站| 国产成人精品视频| 国产不卡av在线| 欧美在线性视频| 欧美在线观看日本一区| 亚洲乱码av中文一区二区| 色婷婷亚洲mv天堂mv在影片| 成人综合国产精品| 国产精品一二三在线| 亚洲日本成人女熟在线观看| 日韩资源在线观看| 在线电影欧美日韩一区二区私密| 亚洲精品一区二区三区婷婷月| 久久久av亚洲男天堂| 日韩a**站在线观看| 欧美激情第三页| 91精品视频播放| 久久精品免费播放| 在线成人激情视频| 国产精品久久久久久久久久三级| 亚洲国模精品私拍| 久久99久国产精品黄毛片入口| 日韩中文字幕网| 色综合久久88色综合天天看泰| 国产精品第七影院| 日韩在线视频播放| 97人人爽人人喊人人模波多| 亚洲码在线观看| 日韩电影免费观看在线| 欧美色视频日本高清在线观看| 国产精品久久综合av爱欲tv| 精品中文字幕久久久久久| 久久99精品视频一区97| 日韩欧美有码在线| 日本精品久久久| 国产精品1区2区在线观看| 亚洲一区二区三区四区在线播放| 日韩三级成人av网| 最近2019中文字幕在线高清| 精品亚洲精品福利线在观看| 亚洲黄页视频免费观看| 国产精品国产三级国产专播精品人| 成人网在线免费观看| 亚洲国产精品人人爽夜夜爽| 一色桃子一区二区| 国产成人精品视频在线观看| 不卡中文字幕av| 久久久噜噜噜久久中文字免| 日产日韩在线亚洲欧美| 国产福利成人在线| 日韩欧美国产网站| 成人午夜在线影院| 欧美激情在线一区| 成人激情视频在线| 欧美精品日韩www.p站| 国产精品久久久久久久久久ktv| 国产999精品久久久| 亚洲精品日韩欧美| 久久久久久国产精品三级玉女聊斋| 成人免费视频网址| 日韩电影免费观看在线观看| 久久国产精品久久精品| 最近2019年日本中文免费字幕| 亚洲欧洲av一区二区| 国产在线播放不卡| 欧美性极品xxxx做受| 琪琪亚洲精品午夜在线| 91成人免费观看网站| 日韩在线观看免费全集电视剧网站| 另类色图亚洲色图| 日韩av中文字幕在线免费观看| 成人中心免费视频| 国产91热爆ts人妖在线| 自拍偷拍亚洲欧美| 国产色婷婷国产综合在线理论片a| 成人亲热视频网站| 亚洲精品国精品久久99热一| 欧美大片网站在线观看| 亚洲色图国产精品| 在线观看国产欧美| 日韩免费黄色av| 国语自产精品视频在线看抢先版图片| 欧美电影在线观看高清| 日韩中文字在线| 欧美一区在线直播| 亚洲va久久久噜噜噜久久天堂| 日韩精品久久久久久久玫瑰园| 亚洲人成网站免费播放| 日韩中文字幕网站| 亚洲人成绝费网站色www| 精品国产一区二区三区四区在线观看| 美女999久久久精品视频| 日韩欧美a级成人黄色| 国产精品7m视频| 欧美孕妇与黑人孕交| 国产精品久久国产精品99gif| 国产欧美精品日韩| 欧美国产精品日韩| 久久免费视频网| 黄色一区二区在线观看| 这里只有精品视频| 这里只有精品视频在线| 亚洲欧美日韩中文在线| 欧美日韩国产一区二区三区| 久久九九热免费视频| 久久国产精品久久久久| 日韩免费av片在线观看| 中文字幕日韩av综合精品| 欧美一区二区三区……| 欧美在线视频免费观看| 国产精品久久精品| 午夜精品在线视频| 91久久在线播放| 亚洲精品国产精品国产自| 日韩欧美国产中文字幕| 狠狠干狠狠久久| yellow中文字幕久久| 欧美亚洲成人精品| 91chinesevideo永久地址| 国产97在线|亚洲| 久久久久久久久久国产| 欧美精品久久久久久久免费观看| 久久在线视频在线| 日韩在线观看免费全集电视剧网站| 国产乱肥老妇国产一区二| 97在线观看免费高清| 精品国产31久久久久久| 久久亚洲精品小早川怜子66| 国产v综合ⅴ日韩v欧美大片| 亚洲一区二区在线播放| 国产精品露脸自拍| 亚洲国产精品一区二区久| 7m精品福利视频导航| 欧美肥老太性生活视频| 在线观看91久久久久久| 国产成人亚洲综合91精品| 欧美与欧洲交xxxx免费观看| 日韩高清av在线| 日本高清+成人网在线观看| 欧美成人黑人xx视频免费观看| 成人免费淫片视频软件| 亚洲影院污污.| 午夜精品蜜臀一区二区三区免费| 国产精品久久久久77777| 国产成人久久久| 奇米4444一区二区三区| 欧美成人一区二区三区电影| 久久久国产精品免费| 日韩在线视频二区| 中文综合在线观看| 日韩中文字幕视频在线观看| 日韩视频免费中文字幕| 欧美高清视频免费观看| 日本久久久久久久久久久| 日韩av最新在线观看| 亚洲第一男人天堂| 国内精品视频一区| 国产成人精品av| 一区二区欧美日韩视频|