# **特定的缓存方式(Utils::cacheVer)**
### 代码位置
> 前/后台extensions目录
### 常规使用方法
$redis = ...;
$hdl = 'userinfo_v'. Utils::cacheVer('userinfo');
$redis->get($hdl);
$redis->setex($hdl, 600, ['id'=>1, 'name'=>'A']);
### 强制刷新取数据法(用于调试)
$redis = ...;
$hdl = 'userinfo_v'. Utils::cacheVer('userinfo', true);
$redis->get($hdl);
$redis->setex($hdl, 600, ['id'=>1, 'name'=>'A']);
### 不取数据,仅使一批数据失效(用于后台定时任务等)
Utils::cacheVer('userinfo', true);
---
# **业务告警(已由Telegram过渡为企业微信机器人)**
### 代码位置
> 前后台extensions目录的Utils.php
### 旧的Telegram方式
1. Bot私信通知
> 调用 Utils::notifyToTelegram()
2. Bot频道/群组通知
> 调用 Utils::notifyToTelegram2()
### 新的企业微信方式
- 接入文档
>
- 官方参考文档(用于了解参数含义)
>
>
>
- 封装API地址
>
- 使用
> Utils::notifyToWecom ( 数据包Array, 消息类型, 自定义机器人名称 )
- 机器人管理(告警接入平台)
>
- 机器人源码地址
>
- 机器人KEY更换建议
> 不必删除机器人,而是直接更改KEY。
>
> 这样就不会影响代码的调用。
---
# **用于smarty输出异步数据的模板语法**
### 代码位置
> 后台 extensions/Utils.php
### 逻辑概要:
> 1. 为了减少在后端循环中计算额外数据而增加的浏览器等待时间,特地将部分数据的获取过程转移到前端去做。
> 2. 数据获取的过程,使用 [自定义PHP代码] 描述,并将此代码作为此方法的 $codeOrId 参数,
要求最后一句为return语句,且每句都要以分号结束,完全遵循PHP语法。
> 3. 在smarty生成具体模板的同时,会将 [自定义PHP代码] 缓存,并将缓存ID作为前端模板的``