Skip to content

HTML 代码片段开发指南

dsy4567 edited this page Aug 26, 2023 · 15 revisions

简介

HTML 代码片段会被 4399 on vscode 注入 <head> 元素里, 用来优化游戏体验, 以及为 4399 on VSCode 添加新功能。

本文默认您正在使用最新稳定版 4399 on VSCode,该功能仍不断完善中,接口、运行时机等随时会发生变化,请随时做好应对这些变化的准备。

快速上手

<script>
// 版权声明
/*

XXX LICENSE

Copyright (c) <year> <your name>

balalalalalalalalalala...

*/

    __4399_on_vscode__.gameType // "flash" | "h5" | "other","other" 目前作用尚不明确
    __4399_on_vscode__.userID // 已登录用户的 uid,未登录时为 0
    __4399_on_vscode__.version // v0.3.6: [0, 3, 6]

    fetch("/_4ov/openUrl/https://www.4399.com/"); // 打开链接
    fetch("/_4ov/openUrl/https://www.4399.com/flash/114514.htm"); // 直接启动游戏
    open("https://www.4399.com/"); // 4399 on vscode 已经帮你重写了这个函数, 等效于 fetch("/_4ov/openUrl/https://www.4399.com/")

    // 跨域代理(4399.com 域默认不会带上 cookie), 强制 HTTPS 协议,支持所有请求方法(GET、POST 等)
    fetch("/_4ov/proxy/https://www.4399.com/");

    document.cookie // 已登录用户的 cookie,非 h5 小游戏场景下即使登录也为空

    fetch("/_4ov/confirm?reason=某个游戏想要balala")
        .then(res => {
            if (res.status == 403) {
                // 已拒绝
            }
            else if (res.status == 200) {
                // 已同意
            } else {
                // 旧版不支持此接口
            }
        })
        .catch(e => {
            console.error(e);
            // 网络错误
        });

    h5api // 4399 h5 小游戏 api,少数游戏不支持,详见 https://open.4399.cn/console/doc#/h5mini/api/base

    // 更多接口请参考 https://github.com/dsy4567/4399-on-vscode/wiki/本地服务器相关
</script>
<style>
    .myDiv {
        color: #66ccff;
    }
</style>

参考并编辑以上代码,再保存到 <主目录>/.4ov-data/html-scripts/ 文件夹下,文件后缀名为 .html,然后打开 VSCode 设置页,在搜索框中输入 @id:4399-on-vscode.htmlScripts 并修改设置。

发布

  1. fork 这个仓库;
  2. 在仓库根目录下创建一个文件夹, 文件夹名只能由数字、小写字母、连字符 - 组成;
  3. 在这个文件夹里创建 README.md, <dir-name>.html 以及其他必要的文件;
  4. 修改根目录下的 download.html
  5. 提交 PR, 等待合并。