mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-25 17:45:34 +08:00
reformat code
This commit is contained in:
@@ -224,5 +224,14 @@ public function repeat() {
|
|||||||
|
|
||||||
这样,一个简易的复读机就做好了!回到 QQ 机器人聊天,向机器人发送 `echo 你好啊`,它会回复你 `你好啊`。
|
这样,一个简易的复读机就做好了!回到 QQ 机器人聊天,向机器人发送 `echo 你好啊`,它会回复你 `你好啊`。
|
||||||
|
|
||||||
|
<chat-box>
|
||||||
|
) echo 你好啊
|
||||||
|
( 你好啊
|
||||||
|
) echo
|
||||||
|
( 请输入你要回复的内容
|
||||||
|
) 哦豁,完蛋
|
||||||
|
( 哦豁,完蛋
|
||||||
|
</chat-box>
|
||||||
|
|
||||||
> 如果你只回复 `echo` 的话,它会先和你进入一个会话状态,并问你 `请输入你要回复的内容`,这时你再次说一些内容例如 `哦豁`,会回复你 `哦豁`。效果和直接输入 `echo 哦豁` 是一致的,这是炸毛框架内的一个封装好的命令参数对话询问功能。有关参数询问功能,请看后面的进阶模块。
|
> 如果你只回复 `echo` 的话,它会先和你进入一个会话状态,并问你 `请输入你要回复的内容`,这时你再次说一些内容例如 `哦豁`,会回复你 `哦豁`。效果和直接输入 `echo 哦豁` 是一致的,这是炸毛框架内的一个封装好的命令参数对话询问功能。有关参数询问功能,请看后面的进阶模块。
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
namespace ZM\DB;
|
namespace ZM\DB;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Table
|
class Table
|
||||||
{
|
{
|
||||||
private $table_name;
|
private $table_name;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ class UpdateBody
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
private $set_value;
|
private $set_value;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UpdateBody constructor.
|
* UpdateBody constructor.
|
||||||
* @param Table $table
|
* @param Table $table
|
||||||
|
|||||||
@@ -113,9 +113,9 @@ class EventDispatcher
|
|||||||
* @param mixed $v
|
* @param mixed $v
|
||||||
* @param null $rule_func
|
* @param null $rule_func
|
||||||
* @param mixed ...$params
|
* @param mixed ...$params
|
||||||
* @throws AnnotationException
|
|
||||||
* @throws InterruptException
|
|
||||||
* @return bool
|
* @return bool
|
||||||
|
* @throws InterruptException
|
||||||
|
* @throws AnnotationException
|
||||||
*/
|
*/
|
||||||
public function dispatchEvent($v, $rule_func = null, ...$params) {
|
public function dispatchEvent($v, $rule_func = null, ...$params) {
|
||||||
$q_c = $v->class;
|
$q_c = $v->class;
|
||||||
|
|||||||
@@ -15,16 +15,14 @@ class SpinLock
|
|||||||
|
|
||||||
private static $delay = 1;
|
private static $delay = 1;
|
||||||
|
|
||||||
public static function init($key_cnt, $delay = 1)
|
public static function init($key_cnt, $delay = 1) {
|
||||||
{
|
|
||||||
self::$kv_lock = new Table($key_cnt, 0.7);
|
self::$kv_lock = new Table($key_cnt, 0.7);
|
||||||
self::$delay = $delay;
|
self::$delay = $delay;
|
||||||
self::$kv_lock->column('lock_num', Table::TYPE_INT, 8);
|
self::$kv_lock->column('lock_num', Table::TYPE_INT, 8);
|
||||||
return self::$kv_lock->create();
|
return self::$kv_lock->create();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function lock(string $key)
|
public static function lock(string $key) {
|
||||||
{
|
|
||||||
while (($r = self::$kv_lock->incr($key, 'lock_num')) > 1) { //此资源已经被锁上了
|
while (($r = self::$kv_lock->incr($key, 'lock_num')) > 1) { //此资源已经被锁上了
|
||||||
if (Coroutine::getCid() != -1) System::sleep(self::$delay / 1000);
|
if (Coroutine::getCid() != -1) System::sleep(self::$delay / 1000);
|
||||||
else usleep(self::$delay * 1000);
|
else usleep(self::$delay * 1000);
|
||||||
|
|||||||
Reference in New Issue
Block a user