APP調試php
Android studio
手機
app:更新android
強制、用戶自主選擇
方法:ios
開設api接口
端app識別接口作相關斷定
客戶端api
將數據用aes加密做爲 受權碼sign 且每次請求都攜帶它
請求服務端時攜帶app_type與version以及sign
服務器服務器
解密sign 比較數據與sign解密後的數據 以檢查數據是否合法
合法後組裝數據返回
版本升級:app
升級數據表ide
CREATE TABLE IF NOT EXISTS `ent_version` ( `id` int(10) unsigned NOT NULL, `app_type` varchar(20) NOT NULL DEFAULT '' COMMENT 'app類型 好比 ios android', `version` int(8) unsigned NOT NULL DEFAULT '0' COMMENT '內部版本號', `version_code` varchar(20) NOT NULL DEFAULT '' COMMENT '外部版本號好比1.2.3', `is_force` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否強制更新0不,1強制更新', `apk_url` varchar(255) NOT NULL DEFAULT '' COMMENT 'apk最新地址', `upgrade_point` varchar(500) NOT NULL DEFAULT '' COMMENT '升級提示', `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '狀態', `create_time` int(10) unsigned NOT NULL DEFAULT '0', `update_time` int(10) unsigned NOT NULL DEFAULT '0' ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
邏輯代碼ui
<?php namespace app\api\controller\v1;//多層級留下 use think\Controller; use app\api\controller\Common; class Index extends Common{ /*這個是點擊app 啓動時觸發*/ public function init(){ //取出version表最後一條數據 $version=model("Version")->getLastNormalVersionByAppType($this->headers['app_type']); if (empty($version)) { return new ApiException("error ",404); } if ($version->version >$this->$header['version']) { $version->is_update=$version->is_force==1?2:1; }else{ $version->uis_update=0;//0不更新 1 須要更新 2 強制更新 } return show(config('code.success'),'ok',$version,200); } }
啓動app還須要記錄某些信息this