diff --git a/conf/ConfigGenerator.php b/conf/ConfigGenerator.php new file mode 100644 index 0000000..d6400fd --- /dev/null +++ b/conf/ConfigGenerator.php @@ -0,0 +1,73 @@ +cliInput('请注意生成程序只会填写基础配置,Enter继续: '); + } + + /** + * @param string $key + * @param string $value + * @param string $content + * @return string|string[]|null + */ + private function envReplace(string $key, string $value, string $content) + { + return preg_replace( + '/^' . $key . '=.*' . '/m', + $key . '=' . $value, + $content + ); + } + + /** + * @param string $msg + * @param int $max_char + * @return string + */ + private function cliInput(string $msg, $max_char = 100): string + { + $stdin = fopen('php://stdin', 'r'); + echo '# ' . $msg; + $input = fread($stdin, $max_char); + fclose($stdin); + return str_replace(PHP_EOL, '', $input); + } + + /** + * @use Generator + */ + public function generate() + { + $this->filename = $this->cliInput('请输入配置文件名: '); + $this->template = file_get_contents($this->default_filename); + foreach ($this->options as $index => $option) { + $value = $this->cliInput("请输入{$option}: "); + $this->template = $this->envReplace($option, $value, $this->template); + } + file_put_contents(__DIR__ . "\\$this->filename.conf", $this->template); + echo "生成配置文件 $this->filename.conf 成功~"; + } + +} + +(new ConfigGenerator())->generate(); \ No newline at end of file diff --git a/src/plugin/User.php b/src/plugin/User.php index ba98e10..5c6f837 100644 --- a/src/plugin/User.php +++ b/src/plugin/User.php @@ -12,7 +12,6 @@ namespace BiliHelper\Plugin; use BiliHelper\Core\Curl; use BiliHelper\Core\Config; -use http\Env\Url; class User {