V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tlerbao
V2EX  ›  问与答

网页上的全局错误码如何快速生成一个 ErrorCode. PHP

  •  
  •   tlerbao · 2021-05-11 18:21:48 +08:00 · 1088 次点击
    这是一个创建于 1292 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有哪些奇淫技巧?

    https://work.weixin.qq.com/api/doc/90000/90139/90313

    一个错误码表格如何快速转成一个 php 的 code 数组,类似下面这样,

    const WEWORK = [
    	'40004' => '不合法的媒体文件类型',
        '40005' => '不合法的文件类型',
        ...
    ]
    
    9 条回复    2021-05-15 16:45:55 +08:00
    lwtting
        1
    lwtting  
       2021-05-11 18:25:56 +08:00
    vscode 正则替换
    sheeta
        2
    sheeta  
       2021-05-11 19:07:12 +08:00
    打开控制台


    ```
    let r = '';
    Array.prototype.forEach.call(document.querySelectorAll('tbody tr'), tr => {
    let k = tr.querySelector('td:nth-child(1)').innerText
    let v = tr.querySelector('td:nth-child(2)').innerText
    r += `'${k}' => '${v}',\n`
    });

    let php = `const WEWORK = [
    ${r}
    ]`
    console.log(php)

    ```
    tlerbao
        3
    tlerbao  
    OP
       2021-05-11 19:13:08 +08:00
    @lwtting 试了试没搞清楚怎么用哈哈,菜的抠脚
    @sheeta 真滴牛逼
    letitbesqzr
        4
    letitbesqzr  
       2021-05-11 21:19:14 +08:00   ❤️ 2
    遇到这种,我一般这样操作:

    1. 右键审查元素,拿到这个 table 的 html
    2. 在 https://tableconvert.com/ 导入 html table, 转换为 json


    [
    {
    "错误码": -1,
    "错误说明": "系统繁忙",
    "排查方法": "服务器暂不可用,建议稍候重试。建议重试次数不超过 3 次。"
    },
    {
    "错误码": 0,
    "错误说明": "请求成功",
    "排查方法": "接口调用成功"
    }
    ..........
    ]

    3. 用 js 来循环这段 json, 拼接成代码 比如 `map.put("${key}","${value}")`
    tlerbao
        5
    tlerbao  
    OP
       2021-05-11 21:34:31 +08:00
    @letitbesqzr 兄弟,如果用 js,你应该看看 2 楼的哈,比较暴力
    letitbesqzr
        6
    letitbesqzr  
       2021-05-11 22:11:42 +08:00
    @tlerbao #5 只是提个方法,实际上还有很多复杂的表格,转换成 json 后 ,会比直接去读 dom 好处理的多。
    tlerbao
        7
    tlerbao  
    OP
       2021-05-11 22:41:01 +08:00
    @letitbesqzr 嗯 感谢提供思路
    lwtting
        8
    lwtting  
       2021-05-12 10:18:12 +08:00
    @tlerbao 用正则替换的话,将表格内容复制到 vscode,此时每一行会是三个字段,字段间分隔符为一个 tab,这样的话 ctrl+f,查找框选上正则模式写上正则表达式(.*)\t(.*)\t(.*),替换框写上'$1' => '$2',然后点击全部替换即可得到一份每行格式为'xxx' => 'xxx' 的列表,最后在首尾行加上数组声明符即可。
    tlerbao
        9
    tlerbao  
    OP
       2021-05-15 16:45:55 +08:00
    @lwtting 一组括号代表一个$呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2834 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:28 · PVG 22:28 · LAX 06:28 · JFK 09:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.