PHPackages                             yiiplus/yii2-appversion - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yiiplus/yii2-appversion

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

yiiplus/yii2-appversion
=======================

易加脚手架里面的 app版本控制

v1.4.0(5y ago)1117MITPHPCI failing

Since Mar 24Pushed 5y ago4 watchersCompare

[ Source](https://github.com/yiiplus/yii2-appversion)[ Packagist](https://packagist.org/packages/yiiplus/yii2-appversion)[ RSS](/packages/yiiplus-yii2-appversion/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (9)Used By (0)

yiiplus/yii2-appversion
=======================

[](#yiiplusyii2-appversion)

易加脚手架里面的 app版本控制

Feature
-------

[](#feature)

- 支持创建多个应用的版本控制
- 支持创建渠道
- 支持ip白名单更新
- 支持按渠道获得最近更新
- 支持搜索某渠道不存的时候，返回官方渠道包在渠道包（仅限安卓）
- 支持最小版本更新，让版本高低不同获得不同的最近更新信息

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist yiiplus/yii2-appversion "*"

```

or add

```
"yiiplus/yii2-appversion": "*"

```

to the require section of your `composer.json` file.

Usage
-----

[](#usage)

### 配置

[](#配置)

定义后台添加 .admin/config/main.php 的中添加 modules

```
'appversion' => [
    'class' => 'yiiplus\appversion\modules\admin\Module',
],

```

定义 Api 接口 .app/config/main.php 添加 modules

```
'appversion' => [
    'class' => 'yiiplus\appversion\modules\appversion\Module',
],

```

并且需要在 urlManager 数组中添加

```
[
    'class' => 'yii\rest\UrlRule',
    'controller' => [
        'version',
    ],
    'pluralize' => false,
],

```

### 执行数据迁移

[](#执行数据迁移)

首先需要确保你的数据库中没有以下数据表

- yp\_appversion\_version
- yp\_appversion\_channel
- yp\_appversion\_channel\_version
- yp\_appversion\_app

然后执行迁移文件命令

```
./yii migrate --migrationPath=@yiiplus/appversion/migrations
```

### 输出

[](#输出)

- 后台 `xxx.com/appversion/app/index`
- app版本控制信息 `xxx.com/version`

下一章讲解接口使用

接口说明
----

[](#接口说明)

**请求URL：**

- `/appversion`

**请求方式：**

- GET

**参数：**

参数名必选类型说明app\_id是int应用idplatform是stringios &amp; Androidcode是int版本code eq: 2158name是string版本号 eq: 1.0.0 1.10.15 1.1.156timestamp是string时间channel是string渠道码```
{
    "success": true,
    "data":{
        "code":7182,
        "min_code":5000,
        "name":"1.0.0",
        "min_name":"0.0.5",
        "type":2, // 更新类型 1 一般更新 2 强制更新 3 静默更新 （详见后文）
        "scope": 1, // 发布范围 1 全量发布 详见后文）
        "desc":"1.更新了XXXX\n 2.解决了XXX\n 3.增加了xx功能，使用一名程序员祭天\n"
        "url":"http://moego.net/moego_official.apk" // iOS 为 App Store 地址 安卓为对应渠道包
    },
    "time_point": 1573553053
}

```

### 参数 code、min\_code、name、min\_name

[](#参数-codemin_codenamemin_name)

作用：客户端根据版本号来决定更新，后台内部根据 code 值判断版本大小，客户端可自定code OR name 来判断版本

#### code、name 当前该设备版本能支持的最新版本，比对当前版本是否要更新。

[](#codename-当前该设备版本能支持的最新版本比对当前版本是否要更新)

#### min\_code、min\_name 当前该设备最低版本对应的更新

[](#min_codemin_name-当前该设备最低版本对应的更新)

### 参数 type

[](#参数-type)

作用：客户端根据 type 类型来决定采用何种更新

```
对于 iOS AppStore 的更新来说：静默更新、可忽略更新、静默可忽略更新都只弹一次提示更新的对话框

```

具体有如下几种：

#### 1 一般更新

[](#1-一般更新)

每次APP启动都会弹出更新提示，但是更新对话框可以点击关闭，然后用户可以继续使用。

用户下次再次启动APP，更新对话框依然弹出来提示用户更新，用户依然可以关闭继续使用。

#### 2 强制更新

[](#2-强制更新)

顾名思义，弹出更新后就必须更新，否则无法进行任何操作，退出应用再进来依然是这样。

#### 3 静默更新

[](#3-静默更新)

APP检测到更新信息后，判断如果是WI-FI情况下，会在后台下载好Apk文件，下次用户再启动APP的时候会提示用户直接安装新版APP。

用户可以关闭更新提示框继续使用，但是下次再打开依然会提示用户安装新版APP。

#### 4 可忽略更新

[](#4-可忽略更新)

顾名思义，用户点击忽略后，不在对该版本进行提示，直到下一次版本更新才会重新提示版本更新。

#### 5 静默可忽略更新

[](#5-静默可忽略更新)

检测到新版本后先下载，下载完成之后弹更新对话框，随后逻辑同可忽略更新

### 参数 scope

[](#参数-scope)

作用：客户端根据 scope 返回的值去判断该设备是否在更新的范围内

#### 1 全量更新

[](#1-全量更新)

所有设备都在此次更新的范围内

#### 2 IP白名单

[](#2-ip白名单)

根据 APP 管理里面设定的 IP 地址来进行更新，符合 IP白名单的，则会传递更新信息

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~31 days

Total

8

Last Release

2105d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b6a2bdc2bf97fc3a04d737a0667adecc36e7dd80feb53b31490362d804df0343?d=identicon)[yiiplus](/maintainers/yiiplus)

---

Top Contributors

[![Ciroygo](https://avatars.githubusercontent.com/u/13675974?v=4)](https://github.com/Ciroygo "Ciroygo (11 commits)")

---

Tags

yii2extension

### Embed Badge

![Health badge](/badges/yiiplus-yii2-appversion/health.svg)

```
[![Health](https://phpackages.com/badges/yiiplus-yii2-appversion/health.svg)](https://phpackages.com/packages/yiiplus-yii2-appversion)
```

###  Alternatives

[vyants/yii2-daemon

Extension provides functionality for simple daemons creation and control

7859.0k](/packages/vyants-yii2-daemon)[richardfan1126/yii2-js-register

Yii2 widget to register JS into view

1357.2k7](/packages/richardfan1126-yii2-js-register)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
