【英雄联盟API调用】系统用户权限排坑求助文,悬15RMB,可以解决就私我(部分问题已解决)
2023-12-14 11:36:14
    		node
- 查找LOL客户端(归为坑类)
- node 编译查找个人信息接口的脚本
- ------------------------------------------未解决------------------------------------------------
- ? Nodejs(node脚本启动坑点)
- ---------------------------------------------------------------------------------------------------
- ------------------------------------------已解决------------------------------------------------
- ? 当你尝试了很多次,被权限问题困扰,这时你准备重新开一个Admin权限的系统用户时...`(环境问题已解决,若有此主标题内其它问题欢迎咨询)`
- ---------------------------------------------------------------------------------------------------
 
- 等待排坑补文
- LOL 拳头 API
查找LOL客户端(归为坑类)
wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline
当你输入这一行指令时,且你的
LOL客户端在线时,如果你的CMD此时是管理员权限,则会出现以下内容
CommandLine
// 以下为Admin状态下的CMD显示内容
{
   数据...
}
当你输入这一行指令时,且你的
LOL客户端在线时,如果你的CMD此时不是管理员权限,则会出现以下内容
CommandLine
// 以下为非Admin状态下的CMD显示内容(不会出数据)
node 编译查找个人信息接口的脚本
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
let all = null;
const { exec } = require('child_process');
const https = require('https');
const findLeagueClientCommandLine = async () => {
  return new Promise((resolve, reject) => {
    exec('"C:\\Windows\\System32\\wbem\\wmic" PROCESS WHERE "name=\'LeagueClientUx.exe\'" GET commandline', (err, stdout) => {
      if (err) {
        reject(err);
      } else {
        all = stdout;
        resolve(stdout);
      }
    });
  });
};
const getRiotData = async (url) => {
  const token = all.match(/remoting-auth-token=(.*?)["'\s]/)[1]
  const port = all.match(/--app-port=(.*?)["'\s]/)[1]
  const auth = Buffer.from(`riot:${token}`).toString('base64');
  const headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Authorization': `Basic ${auth}`
  };
  const options = {
    hostname: '127.0.0.1',
    port: port,
    path: url,
    method: 'GET',
    headers: headers
  };
  return new Promise((resolve, reject) => {
    const req = https.request(options, (res) => {
      let data = '';
      res.on('data', (chunk) => {
        data += chunk;
      });
      res.on('end', () => {
        resolve(data);
      });
    });
    req.on('error', (error) => {
      reject(error);
    });
    req.end();
  });
};
const main = async () => {
  try {
    const leagueClientCommandline = await findLeagueClientCommandLine();
    console.log('LeagueClientUx.exe 命令行参数:', leagueClientCommandline);
    const currentUser = await getRiotData('/lol-summoner/v1/current-summoner');
    console.log('感谢使用本程序, 当前获取到的用户数据:', currentUser);
  } catch (error) {
    console.error('发生错误:', error);
  }
};
main();
------------------------------------------未解决------------------------------------------------
? Nodejs(node脚本启动坑点)
1. 你的node启动是本机无管理员权限的 cmd命令提示符
这个权限问题我在尝试解决,真的不好解决,或者不知道如何解决 = =!
---------------------------------------------------------------------------------------------------
------------------------------------------已解决------------------------------------------------
? 当你尝试了很多次,被权限问题困扰,这时你准备重新开一个Admin权限的系统用户时…(环境问题已解决,若有此主标题内其它问题欢迎咨询)
 
假设你已经成功开通了一个拥有Admin权限的账户,这时候打开的
cmd也是具有管理员权限的终端命令提示符
然而可能新的问题出现了...
1. 你的系统环境因为切换用户被重置了, 此时你可以使用 yran 下载项目, 但是当你使用 yarn start 启动项目时,此时开始报错…
报错信息(已解决 => 环境问题)
 
PS C:\Users\ASUS\Desktop\L> yarn start
yarn run v1.22.17
warning ..\..\package.json: No license field
$ concurrently "react-app-rewired start" "start node get-lol-data.js"
[0] Error occurred when executing command: react-app-rewired start
[0] Error: spawn cmd.exe ENOENT
[0]     at ChildProcess._handle.onexit (node:internal/child_process:284:19)
[0]     at onErrorNT (node:internal/child_process:477:16)
[0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[1] Error occurred when executing command: start node get-lol-data.js
[1] Error: spawn cmd.exe ENOENT
[1]     at ChildProcess._handle.onexit (node:internal/child_process:284:19)
[1]     at onErrorNT (node:internal/child_process:477:16)
[1]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[1] start node get-lol-data.js exited with code -4058
[0] react-app-rewired start exited with code -4058
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
这个报错应该是牵扯到环境变量问题。。。(已解决 => 环境问题)
 
我至少能保证项目是没问题的,因为我在老系统用户
(ASUS)中能够顺利启动此项目,只不过我ASUS 用户CMD` 是没有管理员权限的
新
Admin账户现在只有一个NODE_PATH不知道是不是少装了什么,导致项目启动不起来…
问题解决方案
 
报错: Error: spawn cmd.exe ENOENT
在
Windows系统中,cmd.exe是命令提示符窗口的可执行文件,如果出现Error: spawn cmd.exe ENOENT的错误,可能是因为系统无法找到cmd.exe文件
添加环境变量
添加系统环境变量
%SystemRoot%\system32
此时关闭旧的cmd终端重新打开 输入yarn start完美运行,游戏数据显示
---------------------------------------------------------------------------------------------------
等待排坑补文
第一个用户权限问题未解决
未解决…
第二个环境问题已解决
当你的主账户无法获取管理员 cmd 时,你选择登录一个拥有完全控制权的
Admin账户,此时环境被重置,你需要了解Nodejs 安装和环境配置,配置好后,再去系统环境变量中修改Path添加一个新的变量为%SystemRoot%\system32
此时你再去运行项目,就可以读取到 LOL 客户端数据以及玩家数据了
LOL 拳头 API
    			文章来源:https://blog.csdn.net/Dongfang_project/article/details/134989027
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!