随身WIFI刷机资源以及教程

回复列表(28|隐藏机器人聊天)
  • @Ta / 2023-05-01 / /

    [4] @旧人

              {
                form.addEventListener('submit', function (event) {
                  if (!form.checkValidity()) {
                    event.preventDefault()
                    event.stopPropagation()
                  }
    
                  form.classList.add('was-validated')
                }, false)
              })
        })()
    </script>
    

    </body>
    </html>
    ```

    这个版本的代码实现了以下优化:

    1. 添加了一个响应式导航栏。
    2. 使用Bootstrap的内置类替换了一些自定义CSS样式。
    3. 为表单添加了HTML5验证以确保用户输入的API密钥格式正确。
    4. 使用Bootstrap的行和列组件对结果进行布局。

    请注意,这里没有添加图表库。如果您希望以图表形式展示数据,请查阅Chart.js或D3.js等库的文档,了解如何将它们整合到您的项目中。

  • @Ta / 2023-05-01 / /

    @ChatGPT 4,改成php web程序<?php function k_download($items) { if (is_array($items)) { foreach($items as $it) { $hash = $it['FileHash']; $a_id = $it['AlbumID']; $music_url = ''; if ($a_id) { $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid&platid=4&album_id={$a_id}"; } else { $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid"; } $m_res = requests\get($music_url, ['headers' => [ 'user-agent'=> 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36', 'cookie'=> 'kg_mid=09fbe19da8563f6fd444a3657c4c71f6; kg_dfid=0hoWuV15LpJc3XeE0j46EoR1; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1633592836' ]]); $content = preg_match_all('/jQuery((.*?));/', $m_res->text, $matches); $content = $matches[1][0]; try { $con = json_decode($content, true); if ($con['status'] == 1) { $item = $con['data']; $m_url = $item['play_url']; $title = $item['song_name']; $music = requests\get($m_url); if (!file_exists('kugou')) { mkdir('kugou'); } $path = './kugou/' . $title . '.mp3'; file_put_contents($path, $music->content); echo "正在下载".$title."\n"; } } catch (\Exception $e) { echo $e."\n".$m_res->url."有毒"."\n"; continue; } } } else { exit(); } } function KuGou($singer, $num) { $key = urlencode($singer); $url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}"; try { $res = requests\get($url); $res_items = json_decode($res->content)->data; $page_size = $res_items->pagesize; $total = $res_items->total; echo $singer."相关歌曲共".$total."首,共".$page_size."页\n"; $num_key = fgets(STDIN); $page_num = fgets(STDIN); if (intval($page_num) > intval($page_size)) { echo "页面超过下限,请重新开始\n"; exit(); } if (!is_numeric($page_num)) { echo "让你输入数字,你输入啥玩意?\n"; exit(); } if ($num_key == "a") { $a_url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$page_num}"; $res1 = requests\get($a_url); $items = json_decode($res1->content)->data->lists; k_download($items); } elseif ($num_key == "b") { for ($page=1; $page<=intval($page_num); $page++) { $b_url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$page}"; $res2 = requests\get($b_url); $items = json_decode($res2->content)->data->lists; k_download($items); } } else { echo "输入错误\n"; exit(); } } catch (\Exception $e) { echo $e; exit(); } } ?>

  • @Ta / 2023-05-01 / /

    [4] @旧人,您提供的代码是一个PHP脚本,用于从酷狗音乐下载歌曲。为了将其转换为一个基本的Web应用程序,您可以创建一个简单的HTML表单,让用户输入歌手名和要下载的歌曲数量。然后,使用PHP处理这些输入,并根据用户的选择下载歌曲。以下是一个简单的实现:

    1. 创建一个名为index.php的文件,粘贴以下内容:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>酷狗音乐下载器</title>
    </head>
    <body>
        <h1>酷狗音乐下载器</h1>
        <form action="download.php" method="post">
            <label for="singer">歌手名字:</label>
            <input type="text" id="singer" name="singer" required>
            <br>
            <label for="num">下载数量:</label>
            <input type="number" id="num" name="num" required>
            <br>
            <input type="submit" value="下载">
        </form>
    </body>
    </html>
    
    1. 将您提供的原始代码粘贴到名为download.php的新文件中,并在文件开头添加以下内容:
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $singer = $_POST["singer"];
        $num = $_POST["num"];
    
        // 在此处插入原始代码
    }
    ?>
    
    1. 将原始代码中的KuGou函数调用替换为以下内容:
    KuGou($singer, $num);
    

    现在,您可以将这两个文件放在Web服务器上(例如,使用Apache或Nginx服务器),访问index.php文件并使用表单下载歌曲。请注意,这个简单的实现不包含任何错误处理或用户友好的提示,这些都是您可能需要在将其部署为实际Web应用程序之前加入的功能。

  • @Ta / 2023-05-01 / /

    @ChatGPT 4,我想实现的效果是,我输入搜索关键词,查询出来结果分页显示,单首歌曲可以点击播放和下载,前端使用bootstrap

  • @Ta / 2023-05-01 / /

    [4] @旧人,要实现这个效果,您需要在原始代码的基础上做一些修改。首先,创建一个名为index.php的文件,并将以下内容粘贴到其中。这将创建一个基于Bootstrap的搜索页面,用于输入关键词并提交表单。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>酷狗音乐搜索与下载</title>
        <!-- 引入 Bootstrap 样式文件 -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
    </head>
    <body>
        <div class="container">
            <h1 class="text-center mt-4 mb-4">酷狗音乐搜索与下载</h1>
            <form action="search.php" method="post">
                <div class="input-group mb-3">
                    <input type="text" class="form-control" id="keyword" name="keyword" placeholder="请输入关键词" required>
                    <button class="btn btn-primary" type="submit">搜索</button>
                </div>
            </form>
        </div>
        <!-- 引入 Bootstrap JavaScript 文件 -->
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
    </body>
    </html>
    

    接下来,创建一个名为search.php的文件。将您提供的原始代码粘贴到其中,并在文件开头添加以下内容。这将处理来自搜索表单的POST请求,显示分页结果并提供播放和下载选项。

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $keyword = $_POST["keyword"];
    
        // 在此处插入原始代码
    }
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>搜索结果 - 酷狗音乐</title>
        <!-- 引入 Bootstrap 样式文件 -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
    </head>
    <body>
        <div class="container">
            <h1 class="text-center mt-4 mb-4">搜索结果</h1>
            
            <!-- 在此处插入用于显示搜索结果、播放和下载选项的PHP代码 -->
            
        </div>
        <!-- 引入 Bootstrap JavaScript 文件 -->
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
    </body>
    </html>
    

    search.php文件中,您需要修改原始代码以返回搜索结果,而不是立即下载歌曲。您可以使用以下代码段替换KuGou函数调用:

    $results = KuGou($keyword, 1); // 获取第一页的结果
    displayResults($results);
    

    然后,您需要修改KuGou函数,使其返回搜索结果,而不是下载歌曲。请注意,您可能需要根据实

  • @Ta / 2023-05-01 / /

    @ChatGPT 4,我不太理解,请给我search.php的完整内容

  • @Ta / 2023-05-01 / /

    [4] @旧人,以下是根据您的要求修改的search.php文件的完整内容。该文件处理搜索表单的POST请求并显示分页结果,同时提供播放和下载选项。

    <?php
    require_once "functions.php";
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $keyword = $_POST["keyword"];
        $results = KuGou($keyword, 1); // 获取第一页的结果
    }
    
    function displayResults($results) {
        if ($results) {
            echo '<div class="row row-cols-1 row-cols-md-3 g-4 mb-4">';
            foreach ($results as $result) {
                echo '<div class="col">';
                echo '<div class="card">';
                echo '<div class="card-body">';
                echo '<h5 class="card-title">' . $result["song_name"] . '</h5>';
                echo '<audio src="' . $result["play_url"] . '" controls></audio>';
                echo '<a href="' . $result["play_url"] . '" download="' . $result["song_name"] . '.mp3" class="btn btn-primary mt-2">下载</a>';
                echo '</div>';
                echo '</div>';
                echo '</div>';
            }
            echo '</div>';
        }
    }
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>搜索结果 - 酷狗音乐</title>
        <!-- 引入 Bootstrap 样式文件 -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
    </head>
    <body>
        <div class="container">
            <h1 class="text-center mt-4 mb-4">搜索结果</h1>
            
            <?php
            if (isset($results)) {
                displayResults($results);
            }
            ?>
            
        </div>
        <!-- 引入 Bootstrap JavaScript 文件 -->
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
    </body>
    </html>
    

    这个文件引用了一个名为functions.php的文件,您需要将您提供的原始代码粘贴到其中。请注意,您可能需要根据实际情况对原始代码进行适当修改,以返回搜索结果,而不是立即下载歌曲。

    在此示例中,displayResults函数负责生成HTML代码以显示搜索结果、播放音频和下载选项。您可以根据需要自定义该函数以更改结果的显示方式。

  • @Ta / 2023-05-01 / /

    @ChatGPT 4,这是functions.php的文件,请修改一下发我完整代码<?php
    function k_search($singer, $num) {
    // 新添加的搜索函数
    $key = urlencode($singer);
    $url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}";
    try {
    $res = requests\get($url);
    $res_items = json_decode($res->content)->data;
    $items = $res_items->lists;
    return $items;
    // 返回搜索结果
    }
    catch (\Exception $e) {
    echo $e;
    exit();
    }
    }
    function k_download($items) {
    if (is_array($items)) {
    foreach($items as $it) {
    $hash = $it['FileHash'];
    $a_id = $it['AlbumID'];
    $music_url = '';
    if ($a_id) {
    $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid&platid=4&album_id={$a_id}";
    } else {
    $music_url = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery&hash={$hash}&dfid=dfid&mid=mid";
    }
    $m_res = requests\get($music_url, ['headers' => [
    'user-agent'=> 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
    'cookie'=> 'kg_mid=09fbe19da8563f6fd444a3657c4c71f6; kg_dfid=0hoWuV15LpJc3XeE0j46EoR1; Hm_lvt_aedee6983d4cfc62f509129360d6bb3d=1633592836'
    ]]);
    $content = preg_match_all('/jQuery((.*?));/', $m_res->text, $matches);
    $content = $matches[1][0];
    try {
    $con = json_decode($content, true);
    if ($con['status'] == 1) {
    $item = $con['data'];
    $m_url = $item['play_url'];
    $title = $item['song_name'];
    $music = requests\get($m_url);
    if (!file_exists('kugou')) {
    mkdir('kugou');
    }
    $path = './kugou/' . $title . '.mp3';
    file_put_contents($path, $music->content);
    echo "正在下载".$title."\n";
    }
    }
    catch (\Exception $e) {
    echo $e."\n".$m_res->url."有毒"."\n";
    continue;
    }
    }
    } else {
    exit();
    }
    }
    function KuGou($singer, $num) {
    $items = k_search($singer, $num);
    // 调用搜索函数获取搜索结果
    $total = $items->total;
    $page_size = $items->pagesize;
    echo $singer."相关歌曲共".$total."首,共".$page_size."页\n";
    $num_key = fgets(STDIN);
    $page_num = fgets(STDIN);
    if (intval($page_num) > intval($page_size)) {
    echo "页面超过下限,请重新开始\n";
    exit();
    }
    if (!is_numeric($page_num)) {
    echo "让你输入数字,你输入啥玩意?\n";
    exit();
    }
    if ($num_key == "a") {
    k_download($items->lists);
    // 直接下载搜索结果
    } elseif ($num_key == "b") {
    for ($page=1; $page<=intval($page_num); $page++) {
    $items = k_search($singer, $page);
    // 每一页都重新搜索
    k_download($items->lists);
    }
    } else {
    echo "输入错误\n";
    exit();
    }
    }
    ?>

  • @Ta / 2023-05-01 / /

    [4] @旧人,我已经根据您的要求修改了functions.php文件。在这个修改后的版本中,我移除了与下载相关的部分,仅保留了搜索功能。现在,KuGou函数仅负责搜索并返回结果。以下是修改后的functions.php文件:

    <?php
    require_once 'vendor/autoload.php';
    
    use Requests as requests;
    
    function k_search($singer, $num) {
        $key = urlencode($singer);
        $url = "https://songsearch.kugou.com/song_search_v2?keyword={$key}&page={$num}";
        try {
            $res = requests::get($url);
            $res_items = json_decode($res->content)->data;
            $items = $res_items->lists;
            return $items;
        }
        catch (\Exception $e) {
            echo $e;
            exit();
        }
    }
    
    function KuGou($singer, $num) {
        $items = k_search($singer, $num);
        return $items;
    }
    ?>
    

    这个文件依赖于Requests库,所以确保在您的项目中安装了该库。您可以使用composer来安装:

    composer require rmccue/requests
    

    现在,您可以在search.php文件中调用KuGou函数来获取搜索结果。示例中的displayResults函数已经能够显示这些结果并提供播放和下载选项。

添加新回复
回复需要登录