lichihua

APP调试

Android studio
手机

app:更新

强制、用户自主选择

方法:

开设api接口
端app识别接口做相关判定

客户端

将数据用aes加密作为 授权码sign 且每次请求都携带它
请求服务端时携带app_type与version以及sign 

服务器

解密sign 比较数据与sign解密后的数据 以检查数据是否合法
合法后组装数据返回

版本升级:

升级数据表

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;
View Code

逻辑代码

<?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);
    }
}
View Code

启动app还需要记录某些信息

 

分类:

技术点:

相关文章:

  • 2022-03-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-11-05
  • 2021-06-23
猜你喜欢
  • 2022-12-23
  • 2022-02-03
  • 2021-11-20
  • 2021-05-31
  • 2021-12-27
  • 2021-12-03
  • 2022-01-01
相关资源
相似解决方案