| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | <?phpnamespace app\common\model;use think\Model;class Version extends Model{    // 开启自动写入时间戳字段    protected $autoWriteTimestamp = 'int';    // 定义时间戳字段名    protected $createTime = 'createtime';    protected $updateTime = 'updatetime';    // 定义字段类型    protected $type = [    ];    /**     * 检测版本号     *     * @param string $version 客户端版本号     * @return array     */    public static function check($version)    {        $versionlist = self::where('status', 'normal')        ->cache('__version__')->order('weigh desc,id desc')->select();        foreach ($versionlist as $k => $v)        {            // 版本正常且新版本号不等于验证的版本号且找到匹配的旧版本            if ($v['status'] == 'normal' && $v['new_version'] !== $version && \fast\Version::check($version, $v['old_version']))            {                $updateversion = $v;                break;            }        }        if (isset($updateversion))        {            $search = ['{version}', '{new_version}', '{download_url}', '{url}', '{package_size}'];            $replace = [$version, $updateversion['new_version'], $updateversion['download_url'], $updateversion['download_url'], $updateversion['package_size']];            $upgradetext = str_replace($search, $replace, $updateversion['content']);            return [                "enforce"     => $updateversion['enforce'],                "version"     => $version,                "new_version"  => $updateversion['new_version'],                "download_url" => $updateversion['download_url'],                "package_size" => $updateversion['package_size'],                "upgradetext" => $upgradetext            ];        }        return NULL;    }}
 |