mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-03 04:45:09 +00:00
插件/微应用可在自己的菜单入口显示数字或红点角标,插件未打开也生效。 - 后端:新增 app_badges 表 + AppBadge 模型 + Module/Badge 业务编排 + AppsController(badge__set 应用密钥鉴权 / badge__clear 用户鉴权) - 每应用独立密钥 APP_SECRET:按 appid 持久化于 appstore config.yml,鉴权校验 - 推送:复用 PushTask 下发 appBadge WS 消息;microapp_menu 附带初始角标 - 前端:appBadges Vuex module + WS 处理 + 三处菜单渲染(应用卡片/主菜单入口/ 父『应用』入口聚合)+ 移动端 Tabbar + 打开即清(badge_clear_on_open) - 用户离职级联清理;同步 ai-kb 角标知识
49 lines
1.6 KiB
PHP
49 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
/**
|
|
* App\Models\AppBadge
|
|
*
|
|
* 插件/微应用菜单角标(每个 (app_id, menu_key, userid) 一行,仅存非清除态)
|
|
*
|
|
* @property int $id
|
|
* @property string $app_id 应用ID
|
|
* @property string $menu_key 菜单稳定标识(空串=第一个菜单)
|
|
* @property int $userid 用户ID
|
|
* @property int $count 角标数字
|
|
* @property bool $dot 是否显示红点
|
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge newModelQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge newQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge query()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereAppId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereCount($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereDot($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereMenuKey($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereUpdatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AppBadge whereUserid($value)
|
|
* @mixin \Eloquent
|
|
*/
|
|
class AppBadge extends AbstractModel
|
|
{
|
|
protected $table = 'app_badges';
|
|
|
|
const CREATED_AT = null;
|
|
|
|
protected $fillable = [
|
|
'app_id',
|
|
'menu_key',
|
|
'userid',
|
|
'count',
|
|
'dot',
|
|
];
|
|
|
|
protected $casts = [
|
|
'userid' => 'integer',
|
|
'count' => 'integer',
|
|
'dot' => 'boolean',
|
|
];
|
|
}
|