qm_search_book.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const fetch = require('node-fetch'); // Node.js 18以下版本需要安装 node-fetch
  2. const tools = require('../../../tools');
  3. const helper = require('../../helper');
  4. const CMD = {}
  5. CMD.search_id = async function (bookId) {
  6. const url = 'https://new-media-fx.qimao.com/api/content/book/list';
  7. // 请求参数
  8. const params = new URLSearchParams({
  9. book_id: bookId,
  10. page: '1',
  11. page_size: '50',
  12. env: '',
  13. t: Date.now() // 当前时间戳
  14. });
  15. // 请求头
  16. var headers = {
  17. 'accept': 'application/json, text/plain, */*',
  18. 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
  19. 'app-external-id': '4c6e8d8709c14de9a4397b6cbb978f85',
  20. 'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SUQiOjU0NDA1NjQxNjM3MTI4MjExMSwiQWNjb3VudE5hbWUiOiJ6aHVveXVlIiwiVGltZVN0YW1wIjoxNzM0MDg4MjI1LCJDbGllbnRJUCI6IjIxOS43Ny4yMzYuMTgwIiwiQnVmZmVyVGltZSI6MCwiZXhwIjoxNzM0MTc0NjI1LCJpc3MiOiJxbV9uZXdfbWVkaWFfZngiLCJuYmYiOjE3MzQwODgyMjUsIkVudiI6InJlbGVhc2UiLCJJc1NpbXVsYXRpb25Mb2dpbiI6ZmFsc2V9.LaEHd147NoCt1Wfo9ZZlCs4pludA7D3LajN4xff2H5o',
  21. 'project': 'reader_paid_dyminiapp',
  22. 'signature': 'b4782a395b0d0de3f78bb5c8157cb35ab0d6c51f3677a1cfb4b5390c39f63169',
  23. 'target-id': '544180064332673816',
  24. 'cookie': 'sensorsdata2015jssdkcross=%7B%22%24device_id%22%3A%22193bdc124645e2-0cbeaee172d4ce8-4c657b58-921600-193bdc12465567%22%7D; sajssdk_2015_new_user_new-media-fx_qimao_com=1; acw_tc=1a0c380f17341043811111513e003f4b4a7b61bafaac1abb4e5d21e565003f; sa_jssdk_2015_new-media-fx_qimao_com=%7B%22distinct_id%22%3A%22193bdc124645e2-0cbeaee172d4ce8-4c657b58-921600-193bdc12465567%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkzYmRjMTI0NjQ1ZTItMGNiZWFlZTE3MmQ0Y2U4LTRjNjU3YjU4LTkyMTYwMC0xOTNiZGMxMjQ2NTU2NyJ9%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%7D',
  25. 'Referer': 'https://new-media-fx.qimao.com/backend/postback-configuration/index?projectId=reader_paid_dyminiapp&appId=4c6e8d8709c14de9a4397b6cbb978f85&accountId=544180064332673816'
  26. };
  27. headers['authorization'] = await tools.getQMToken()
  28. try {
  29. const response = await fetch(`${url}?${params}`, {
  30. method: 'GET',
  31. headers: headers
  32. });
  33. const data = await response.json();
  34. if(data.code!=200){
  35. throw data
  36. }
  37. // console.log('响应状态:', response.status);
  38. // console.log('响应数据:', data.data.list[0]);
  39. if(data.data.list.length<=0){
  40. return null
  41. }
  42. let book_info = data.data.list[0]
  43. let info = {}
  44. info.words = Math.floor(parseFloat(book_info.book_word_count)*10000)
  45. info.book_name = book_info.book_name
  46. info.book_id = book_info.book_id
  47. info.genre = 999;
  48. if(book_info.book_type==2){ //七猫只有长或者短
  49. info.genre = 3;
  50. }else{
  51. info.genre = 1;
  52. }
  53. return info;
  54. } catch (error) {
  55. return null
  56. }
  57. }
  58. // Node.js 18及以上版本可以直接运行
  59. // Node.js 18以下版本需要先安装 node-fetch:
  60. // npm install node-fetch@2
  61. module.exports = CMD;