api升级业务接口小结

第一步先开接口:

Route::get('api/:ver/init', 'api/:ver.index/init');


第二步在index.php中编写逻辑,方法是根据apptype来查询最近的一条的记录,最后返回所有的数据,如果有强制更新设置那么则加个判断就可以了:

/**
 * 客户端初始化接口
 * 1.检测APP是否需要升级
 */
public function init(){
    //app_type ent_version 查询
    $appType = $this->headers['app_type'];
    $version = model('Version')->getLastVersionByAppType($appType);
    if (empty($version)){
        return new ApiException('error', 400);
    }
    if ($version->version >$appType){
        $version->is_update = 1;
    }else{
        $version->is_update = 0;  //0不更新  1需要更新
    }
    
    return show(config('code.success'), 'Ok', $version, 200);
}

model里面加个getLastVersionByAppType方法
/**
 * 通过apptype获取最后一条版本内容
 * @param string $appType
 */
public function getLastVersionByAppType($appType = ''){
    $data =[
        'status' => 1,
        'app_type' =>$appType,
    ];
    $order = [
        'id' => 'desc',
    ];

    $result = $this->where($data)
        ->order($order)
        ->find();
    return $result;
}


用postman测试最新正常数据:
{
    "status": 1,
    "message": "Ok",
    "data": {
        "id": 2,
        "app_type": "android",
        "version": 3,
        "version_code": "2.1",
        "is_force": 0,
        "apk_url": "x.com/1/4.html",
        "upgrade_point": "1.修复bug",
        "status": 1,
        "create_time": "1970-01-01 08:00:00",
        "update_time": "1970-01-01 08:00:00",
        "is_update": 1
    }
}

可以在返回结果的前面记录下用户的基本信息,用于统计,就是简单的数据库插入操作了



你可能感兴趣的:(笔记,php)