RECEIVE_FACTORY.js 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. const CMD = {}
  2. const time_count = 250;
  3. const PROT = 9101
  4. var http = require('http');
  5. const axios = require('axios')
  6. const redis_help = require('../src/use_redis');
  7. const origin_data_controllers = require('../src/data_manager/Controllers/origin_data_controllers');
  8. const helper = require('../src/helper');
  9. const HttpClient = require('../src/HttpClient')
  10. const config = require('../etc/config.json')
  11. var recv_data_list = []
  12. const 视频id = 0;
  13. const 视频链接 = 1;
  14. const 标题 = 2;
  15. const 发布时间 = 3;
  16. const 收藏数 = 4;
  17. const 评论数 = 5;
  18. const 点赞数 = 6;
  19. const 分享数 = 7;
  20. const 是否挂件 = 8;
  21. const 挂件地址 = 9;
  22. let task_status = false
  23. function excelDateToJs(dateStr) {
  24. // const date = moment(dateStr, "DD/MM/YYYY HH:mm:ss").toDate();
  25. // return new Date(date);
  26. return new Date()
  27. }
  28. async function processTask(){
  29. try{
  30. if(recv_data_list.length>0){
  31. const xml = recv_data_list.pop();
  32. let guajian_link = ''
  33. guajian_link = xml[挂件地址]
  34. const result = await origin_data_controllers.getOriginDataById({video_id:xml[视频id]})
  35. if(result.success){
  36. await origin_data_controllers.updateOriginData({id:result.data.id},{kepp_num:xml[收藏数],comment_num:xml[评论数],like_num:xml[点赞数],shared_num:xml[分享数],guajian_link:guajian_link})
  37. }else{
  38. await origin_data_controllers.createOriginData(
  39. {
  40. video_id:xml[视频id],
  41. video_link:xml[视频链接],
  42. title:xml[标题],
  43. // publish_time:xml[发布时间],
  44. publish_time:excelDateToJs(xml[发布时间]),
  45. kepp_num:xml[收藏数],
  46. comment_num:xml[评论数],
  47. like_num:xml[点赞数],
  48. shared_num:xml[分享数],
  49. is_guajian:xml[是否挂件],
  50. guajian_link:guajian_link,
  51. status:0,
  52. }
  53. )
  54. }
  55. }else{
  56. task_status = false;
  57. }
  58. }catch(e){
  59. console.log("数据解析错误:",e)
  60. }finally{
  61. global.setTimeout(processTask,200)
  62. }
  63. }
  64. CMD.startTask = function(data){
  65. task_status = true;
  66. let temp_list = JSON.parse(data)
  67. for (let index = 1; index < temp_list.length; index++) {
  68. let isGuaJian = parseInt(temp_list[index][是否挂件])==1
  69. if(isGuaJian){
  70. recv_data_list.push(temp_list[index])
  71. }
  72. }
  73. console.log("temp_list.length:",temp_list.length)
  74. processTask()
  75. }
  76. CMD.init = function(){
  77. redis_help.connect(()=>{
  78. })
  79. }
  80. CMD.runTask = async function(){
  81. }
  82. CMD.test_fq_book_sid_tt = async function(book_id,sid_tt){
  83. try{
  84. let client =new HttpClient()
  85. let response = await client.proxyRequest( helper.getFqRequestOpt(book_id,sid_tt))
  86. console.log("response:",response)
  87. let obj = response['data']
  88. return obj['novel_data']
  89. }catch(e){
  90. // return {"error_book_id":book_id,"error_sid_tt":sid_tt}
  91. return null
  92. }
  93. }
  94. CMD.test_fq_mf_book_sid_tt = async function(book_id,sid_tt){
  95. try{
  96. let client =new HttpClient()
  97. let response = await client.proxyGet( helper.getMfFqRequestOpt(book_id,sid_tt))
  98. console.log("response:",response)
  99. let obj = response['data']
  100. return obj['book_info']
  101. }catch(e){
  102. // return {"error_book_id":book_id,"error_sid_tt":sid_tt}
  103. return null
  104. }
  105. }
  106. CMD.get_group_mapping = function(res,type,site){
  107. let get_hy_group_mapping = require('../src/api/hy/get_hy_group_mapping');
  108. get_hy_group_mapping.get_group_mapping((data)=>{
  109. res.writeHead(200, {'Content-Type': 'application/json'});
  110. if(data.code==200){
  111. let list = data.data
  112. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  113. }else{
  114. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  115. }
  116. console.log("get_hy_group_mapping:",data)
  117. },type,site)
  118. }
  119. CMD.get_hy_rechargeTemplate = function(res){
  120. let get_hy_recharge_template = require('../src/api/hy/get_hy_recharge_template');
  121. get_hy_recharge_template.get_recharge_template("1865735741365059585",(data)=>{
  122. res.writeHead(200, {'Content-Type': 'application/json'});
  123. if(data.code==200){
  124. let list = data.data
  125. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  126. }else{
  127. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  128. }
  129. console.log("get_hy_rechargeTemplate:",data)
  130. })
  131. }
  132. CMD.get_hy_SiteTemplate = function(res){
  133. let get_hy_site_template = require('../src/api/hy/get_hy_site_template');
  134. get_hy_site_template.get_callback_template((data)=>{
  135. res.writeHead(200, {'Content-Type': 'application/json'});
  136. if(data.code==200){
  137. let list = data.data
  138. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  139. }else{
  140. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  141. }
  142. console.log("get_hy_SiteTemplate:",data)
  143. })
  144. }
  145. CMD.get_hy_passBackTemplate = function(res,is_free){
  146. if(is_free){
  147. let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
  148. get_hy_call_back_template.adPassBackTemplate((data)=>{
  149. res.writeHead(200, {'Content-Type': 'application/json'});
  150. if(data.code==200){
  151. let list = data.data
  152. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  153. }else{
  154. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  155. }
  156. console.log("get_hy_passBackTemplate:",data)
  157. })
  158. }else{
  159. let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
  160. get_hy_call_back_template.get_callback_template((data)=>{
  161. res.writeHead(200, {'Content-Type': 'application/json'});
  162. if(data.code==200){
  163. let list = data.data
  164. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  165. }else{
  166. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  167. }
  168. console.log("get_hy_passBackTemplate:",data)
  169. })
  170. }
  171. }
  172. CMD.get_fq_callback_template = async function(res,distributor_id) {
  173. let data = await require('../src/api/fq/get_fq_call_back_template').get_callback_template(distributor_id)
  174. res.writeHead(200, {'Content-Type': 'application/json'});
  175. if(data==null){
  176. res.end(JSON.stringify({ message:"成功!",data:{},code:10000}));
  177. }else{
  178. console.log('get_fq_callback_template:', data);
  179. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  180. }
  181. }
  182. CMD.get_fq_rechargeTemplate = function(res,distributor_id){
  183. // var distributorId = config.fanqie_config.distributorId;
  184. var distributorId = distributor_id
  185. var secretKey = config.fanqie_config.secretKey;
  186. const postData = {
  187. distributor_id: distributorId,
  188. ts: helper.getCurrentUnixTimestamp(),
  189. sign: helper.getSign(distributorId,secretKey),
  190. page_size: 100,
  191. page_index:0,
  192. };
  193. // console.log("get_recharge_template:")
  194. var url = config.fanqie_config.recharge_list_host
  195. var base_params = `/?distributor_id=${postData.distributor_id}&ts=${postData.ts}&sign=${postData.sign}`
  196. var other_params = `&page_size=${postData.page_size}&page_index=${postData.page_index}`
  197. axios.get(`${url}${base_params}${other_params}`)
  198. .then(response => {
  199. // console.log('Response data:', response.data );
  200. let data = response.data
  201. res.writeHead(200, {'Content-Type': 'application/json'});
  202. if(data.code==200){
  203. let list = data.data
  204. res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
  205. }else{
  206. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  207. }
  208. console.log("get_fq_rechargeTemplate:",data)
  209. })
  210. .catch(error => {
  211. console.error('Error:', error);
  212. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  213. });
  214. }
  215. // 应用业务类型。枚举值,提供该字段则只返回对应业务类型分包列表
  216. // - 快应用 = 1
  217. // - 微信h5 = 3
  218. // - 微信短剧 = 4
  219. // - 抖音短剧 = 7
  220. // - 抖小网文 = 8
  221. // - 微小网文 = 12
  222. CMD.get_fq_package_list = function(res,distributorId,app_type){
  223. var secretKey = config.fanqie_config.secretKey;
  224. const postData = {
  225. distributor_id: distributorId,
  226. ts: helper.getCurrentUnixTimestamp(),
  227. sign: helper.getSign(distributorId,secretKey),
  228. page_size: 50,
  229. page_index:0,
  230. app_type:app_type
  231. };
  232. var url = config.fanqie_config.get_fq_package_list
  233. var base_params = `/?distributor_id=${postData.distributor_id}&ts=${postData.ts}&sign=${postData.sign}&app_type=${postData.app_type}`
  234. var other_params = `&page_size=${postData.page_size}&page_index=${postData.page_index}`
  235. console.log("url:",`${url}${base_params}${other_params}`)
  236. axios.get(`${url}${base_params}${other_params}`)
  237. .then(response => {
  238. // console.log('Response data:', response.data );
  239. let data = response.data
  240. res.writeHead(200, {'Content-Type': 'application/json'});
  241. if(data.code==200){
  242. res.end(JSON.stringify({ message:"成功!",data:data.package_info_open_list,code:10000}));
  243. }else{
  244. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  245. }
  246. console.log("get_fq_package_list:",data)
  247. })
  248. .catch(error => {
  249. console.error('Error:', error);
  250. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  251. });
  252. }
  253. CMD.get_fq_bound_package_list = function(res,distributorId,app_id){
  254. var secretKey = config.fanqie_config.secretKey;
  255. const postData = {
  256. distributor_id: distributorId,
  257. ts: helper.getCurrentUnixTimestamp(),
  258. sign: helper.getSign(distributorId,secretKey),
  259. page_size: 50,
  260. page_index:0,
  261. app_id:app_id
  262. };
  263. var url = config.fanqie_config.get_bound_package_list
  264. var base_params = `/?distributor_id=${postData.distributor_id}&ts=${postData.ts}&sign=${postData.sign}&app_id=${postData.app_id}`
  265. var other_params = `&page_size=${postData.page_size}&page_index=${postData.page_index}`
  266. console.log("url:",`${url}${base_params}${other_params}`)
  267. axios.get(`${url}${base_params}${other_params}`)
  268. .then(response => {
  269. // console.log('Response data:', response.data );
  270. let data = response.data
  271. res.writeHead(200, {'Content-Type': 'application/json'});
  272. if(data.code==200){
  273. res.end(JSON.stringify({ message:"成功!",data:data.wx_package_info_open_list,code:10000}));
  274. }else{
  275. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  276. }
  277. console.log("get_fq_bound_package_list:",data)
  278. })
  279. .catch(error => {
  280. console.error('Error:', error);
  281. res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
  282. });
  283. }
  284. CMD.get_pull_token = async function(res){
  285. let token = await redis_help.getKeyValue("pull_data_token")
  286. res.writeHead(200, {'Content-Type': 'application/json'});
  287. res.end(JSON.stringify({ message:"成功!",data:{token:token},code:10000}));
  288. console.log('get_pull_token:', token);
  289. }
  290. CMD.get_dz_book = async function(book_id,res) {
  291. let data = await require('../src/api/dz/dz_search_book').search_id(book_id)
  292. res.writeHead(200, {'Content-Type': 'application/json'});
  293. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  294. console.log('get_dz_book:', data);
  295. }
  296. CMD.get_dz_callback_template = async function(channelId,res) {
  297. console.log("get_dz_callback_template!")
  298. require('../src/api/dz/get_dz_call_back_template').get_callback_template(channelId,(data)=>{
  299. console.log('get_dz_callback_template:', data);
  300. res.writeHead(200, {'Content-Type': 'application/json'});
  301. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  302. })
  303. }
  304. CMD.get_dz_channel_Info_list = async function(is_wx,res) {
  305. console.log("get_dz_channel_Info_list!")
  306. require('../src/api/dz/get_channel_Info_list').get_channel_Info_list(is_wx,(data)=>{
  307. console.log('get_dz_channel_Info_list:', data);
  308. res.writeHead(200, {'Content-Type': 'application/json'});
  309. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  310. })
  311. }
  312. CMD.get_dz_recharge_template = async function(channelId,res) {
  313. await require('../src/api/dz/get_dz_recharge_template').get_recharge_template(channelId,(data)=>{
  314. console.log('get_dz_recharge_template:', data);
  315. res.writeHead(200, {'Content-Type': 'application/json'});
  316. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  317. })
  318. }
  319. CMD.get_qm_callback_template = async function(res,mini_program_platform_id,qm_id) {
  320. let data = await require('../src/api/qm/get_qm_call_back_template').get_callback_template(mini_program_platform_id,qm_id)
  321. console.log('get_qm_callback_template:', data);
  322. res.writeHead(200, {'Content-Type': 'application/json'});
  323. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  324. }
  325. CMD.get_qm_recharge_template = async function(res,category,mini_program_platform_id,qm_id) {
  326. let data = await require('../src/api/qm/get_qm_recharge_template').get_recharge_template(category,mini_program_platform_id,qm_id)
  327. console.log('get_qm_recharge_template:', data);
  328. res.writeHead(200, {'Content-Type': 'application/json'});
  329. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  330. }
  331. CMD.get_qm_account_list = async function(res) {
  332. let data = await require('../src/api/qm/get_qm_account_list').get_qm_account_list()
  333. console.log('get_qm_account_list:', data);
  334. res.writeHead(200, {'Content-Type': 'application/json'});
  335. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  336. }
  337. CMD.get_yw_recharge_template = async function(res,yw_id) {
  338. let data = await require('../src/api/yw/get_yw_recharge_template').get_recharge_template(yw_id)
  339. console.log('get_yw_recharge_template:', data);
  340. res.writeHead(200, {'Content-Type': 'application/json'});
  341. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  342. }
  343. CMD.test_open_sessid = async function(res,book_id) {
  344. let yw_book_data = await require('../src/api/yw/yw_search_book').search_test_id(book_id)
  345. res.writeHead(200, {'Content-Type': 'application/json'});
  346. res.end(JSON.stringify({ message:"成功!",data:yw_book_data,code:10000}));
  347. }
  348. CMD.get_yw_open_sessid_status = async function(res) {
  349. let OPENSESSID = await redis_help.getKeyValue("OPENSESSID")
  350. console.log('get_yw_open_sessid_status:', OPENSESSID);
  351. res.writeHead(200, {'Content-Type': 'application/json'});
  352. res.end(JSON.stringify({ message:"成功!",data:OPENSESSID,code:10000}));
  353. }
  354. CMD.get_yw_account_list = async function(res) {
  355. let data = await require('../src/api/yw/get_yw_account_list').get_yw_account_list()
  356. console.log('get_yw_account_list:', data);
  357. res.writeHead(200, {'Content-Type': 'application/json'});
  358. res.end(JSON.stringify({ message:"成功!",data:data.data.list,code:10000}));
  359. }
  360. CMD.get_zh_callback_template = async function(res) {
  361. let data = await require('../src/api/zh/get_zh_call_back_template').get_zh_call_back_template()
  362. console.log('get_zh_callback_template:', data);
  363. res.writeHead(200, {'Content-Type': 'application/json'});
  364. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  365. }
  366. CMD.get_zh_recharge_template = async function(res,app_type) {
  367. let data = await require('../src/api/zh/get_zh_recharge_template').get_zh_recharge_template(app_type)
  368. console.log('get_zh_recharge_template:', data);
  369. res.writeHead(200, {'Content-Type': 'application/json'});
  370. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  371. }
  372. CMD.hy_iapPassBackTemplate = async function(res,accountId) {
  373. let timestamp = helper.getCurrentUnixTimestamp()
  374. let sign = helper.generateSign({
  375. "pid":config.heiyan_config.pid,
  376. "timestamp":timestamp,
  377. "sign":"",
  378. "accountId":accountId
  379. },config.heiyan_config.key)
  380. var url = config.heiyan_config.iapPassBackTemplate
  381. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  382. var other_params = `&accountId=${accountId}`
  383. url = `${url}${base_params}${other_params}`
  384. // console.log("url:",url)
  385. let response = await axios.get(url)
  386. let data = response.data
  387. console.log("response:",response)
  388. if(data.code==1){
  389. res.writeHead(200, {'Content-Type': 'application/json'});
  390. res.end(JSON.stringify({ message:"成功!",data:data.data,code:10000}));
  391. }else{
  392. res.writeHead(200, {'Content-Type': 'application/json'});
  393. res.end(JSON.stringify({ message:"失败",data:null,code:10001}));
  394. }
  395. }
  396. CMD.hy_iaaPassBackTemplate = async function(res,accountId) {
  397. let timestamp = helper.getCurrentUnixTimestamp()
  398. let sign = helper.generateSign({
  399. "pid":config.heiyan_config.pid,
  400. "timestamp":timestamp,
  401. "sign":"",
  402. "accountId":accountId
  403. },config.heiyan_config.key)
  404. var url = config.heiyan_config.iaaPassBackTemplate
  405. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  406. var other_params = `&accountId=${accountId}`
  407. url = `${url}${base_params}${other_params}`
  408. // console.log("url:",url)
  409. let response = await axios.get(url)
  410. let data = response.data
  411. console.log("response:",response)
  412. if(data.code==1){
  413. res.writeHead(200, {'Content-Type': 'application/json'});
  414. res.end(JSON.stringify({ message:"成功!",data:data.data,code:10000}));
  415. }else{
  416. res.writeHead(200, {'Content-Type': 'application/json'});
  417. res.end(JSON.stringify({ message:"失败",data:null,code:10001}));
  418. }
  419. }
  420. CMD.hy_topUpTemplate = async function(res,accountId) {
  421. let timestamp = helper.getCurrentUnixTimestamp()
  422. let sign = helper.generateSign({
  423. "pid":config.heiyan_config.pid,
  424. "timestamp":timestamp,
  425. "sign":"",
  426. "accountId":accountId
  427. },config.heiyan_config.key)
  428. var url = config.heiyan_config.topUpTemplate
  429. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  430. var other_params = `&accountId=${accountId}`
  431. url = `${url}${base_params}${other_params}`
  432. // console.log("url:",url)
  433. let response = await axios.get(url)
  434. let data = response.data
  435. console.log("response:",response)
  436. if(data.code==1){
  437. res.writeHead(200, {'Content-Type': 'application/json'});
  438. res.end(JSON.stringify({ message:"成功!",data:data.data,code:10000}));
  439. }else{
  440. res.writeHead(200, {'Content-Type': 'application/json'});
  441. res.end(JSON.stringify({ message:"失败",data:null,code:10001}));
  442. }
  443. }
  444. CMD.hy_accountMapping = async function(res) {
  445. let timestamp = helper.getCurrentUnixTimestamp()
  446. let sign = helper.generateSign({
  447. "pid":config.heiyan_config.pid,
  448. "timestamp":timestamp,
  449. "sign":""
  450. },config.heiyan_config.key)
  451. var url = config.heiyan_config.accountMapping
  452. var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}&timestamp=${timestamp}`
  453. url = `${url}${base_params}`
  454. // console.log("url:",url)
  455. let response = await axios.get(url)
  456. let data = response.data
  457. console.log("response:",response)
  458. if(data.code==1){
  459. res.writeHead(200, {'Content-Type': 'application/json'});
  460. res.end(JSON.stringify({ message:"成功!",data:data.data,code:10000}));
  461. }else{
  462. res.writeHead(200, {'Content-Type': 'application/json'});
  463. res.end(JSON.stringify({ message:"失败",data:null,code:10001}));
  464. }
  465. }
  466. CMD.get_qm_mf_callback_template = async function(res,mini_program_platform_id,qm_id) {
  467. let data = await require('../src/api/qm_mf/get_qm_mf_call_back_template').get_callback_template(mini_program_platform_id,qm_id)
  468. console.log('get_qm_mf_callback_template:', data);
  469. res.writeHead(200, {'Content-Type': 'application/json'});
  470. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  471. }
  472. CMD.get_qm_mf_recharge_template = async function(res,category,mini_program_platform_id,qm_id) {
  473. let data = await require('../src/api/qm_mf/get_qm_mf_recharge_template').get_recharge_template(category,mini_program_platform_id,qm_id)
  474. console.log('get_qm_mf_recharge_template:', data);
  475. res.writeHead(200, {'Content-Type': 'application/json'});
  476. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  477. }
  478. CMD.get_qm_mf_account_list = async function(res) {
  479. let data = await require('../src/api/qm_mf/get_qm_mf_account_list').get_qm_account_list()
  480. console.log('get_qm_mf_account_list:', data);
  481. res.writeHead(200, {'Content-Type': 'application/json'});
  482. res.end(JSON.stringify({ message:"成功!",data:data,code:10000}));
  483. }
  484. var server = http.createServer(function(req,res){
  485. res.setHeader('Access-Control-Allow-Origin', '*'); // 允许所有域的请求,注意:在生产环境中应该限制为特定的域
  486. res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); // 允许的方法
  487. res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); // 允许的头部
  488. let body = '';
  489. // 监听数据块
  490. req.on('data', chunk => {
  491. body += chunk.toString(); // 将接收到的数据块转换为字符串并拼接
  492. });
  493. // 监听请求结束
  494. req.on('end', async () => {
  495. if (req.method === 'POST') {
  496. if (req.headers['content-type'] === 'application/x-www-form-urlencoded') {
  497. try {
  498. // 解析 JSON 数据
  499. const jsonData = JSON.parse(body);
  500. console.log("recv msg:",jsonData)
  501. if(jsonData['fun']=="start_filter"&&jsonData['cmd']=="filter_task"){
  502. res.writeHead(200, {'Content-Type': 'application/json'});
  503. if(task_status==false){
  504. CMD.startTask(jsonData['data'])
  505. res.end(JSON.stringify({ msg: 'success!',code:10000,data:{}}));
  506. }else{
  507. res.end(JSON.stringify({ msg: '服务器繁忙!',code:10000,data:{}}));
  508. }
  509. }else if(jsonData['fun']=="test_fq_book_sid_tt"&&jsonData['cmd']=="fq_book"){
  510. let book_id = jsonData['data']['book_id']
  511. let sid_tt = jsonData['data']['sid_tt']
  512. let info = await CMD.test_fq_book_sid_tt(book_id,sid_tt)
  513. res.writeHead(200, {'Content-Type': 'application/json'});
  514. if(info==null){
  515. res.end(JSON.stringify({ message:"失败",code:10001}));
  516. }else{
  517. res.end(JSON.stringify({ message:"成功!",data:info,code:10000}));
  518. }
  519. }else if(jsonData['fun']=="test_fq_mf_book_sid_tt"&&jsonData['cmd']=="fq_mf_book"){
  520. let book_id = jsonData['data']['book_id']
  521. let sid_tt = jsonData['data']['sid_tt']
  522. let info = await CMD.test_fq_mf_book_sid_tt(book_id,sid_tt)
  523. res.writeHead(200, {'Content-Type': 'application/json'});
  524. if(info==null){
  525. res.end(JSON.stringify({ message:"失败",code:10001}));
  526. }else{
  527. res.end(JSON.stringify({ message:"成功!",data:info,code:10000}));
  528. }
  529. }else if(jsonData['fun']=="groupMapping"&&jsonData['cmd']=="hy_link"){
  530. let type = jsonData['data']['type']
  531. let site = jsonData['data']['site']
  532. CMD.get_group_mapping(res,type,site)
  533. }else if(jsonData['fun']=="rechargeTemplate"&&jsonData['cmd']=="hy_link"){
  534. CMD.get_hy_rechargeTemplate(res)
  535. }else if(jsonData['fun']=="get_hy_SiteTemplate"&&jsonData['cmd']=="hy_link"){
  536. CMD.get_hy_SiteTemplate(res)
  537. }else if(jsonData['fun']=="passBackTemplate"&&jsonData['cmd']=="hy_link"){
  538. let is_free = jsonData['data']['is_free']
  539. CMD.get_hy_passBackTemplate(res,is_free)
  540. }else if(jsonData['fun']=="rechargeTemplate"&&jsonData['cmd']=="fq_link"){
  541. let distributor_id = jsonData['data']['distributor_id']
  542. CMD.get_fq_rechargeTemplate(res,distributor_id)
  543. }else if(jsonData['fun']=="get_fq_package_list"&&jsonData['cmd']=="fq_link"){
  544. let app_type = jsonData['data']['app_type']
  545. // let distributor_id = jsonData['data']['distributor_id']
  546. CMD.get_fq_package_list(res,config.fanqie_config.distributorId,app_type)
  547. }else if(jsonData['fun']=="get_fq_bound_package_list"&&jsonData['cmd']=="fq_link"){
  548. let app_id = jsonData['data']['app_id']
  549. // let distributor_id = jsonData['data']['distributor_id']
  550. CMD.get_fq_bound_package_list(res,config.fanqie_config.distributorId,app_id)
  551. }else if(jsonData['fun']=="get_pull_token"&&jsonData['cmd']=="pull_data_config"){
  552. CMD.get_pull_token(res)
  553. }else if(jsonData['fun']=="get_dz_book"&&jsonData['cmd']=="dz_link"){
  554. let book_id = jsonData['data']['book_id']
  555. CMD.get_dz_book(book_id,res)
  556. }else if(jsonData['fun']=="get_dz_callback_template"&&jsonData['cmd']=="dz_link"){
  557. let channelId = jsonData['data']['channelId']
  558. CMD.get_dz_callback_template(channelId,res)
  559. }else if(jsonData['fun']=="get_dz_recharge_template"&&jsonData['cmd']=="dz_link"){
  560. let channelId = jsonData['data']['channelId']
  561. CMD.get_dz_recharge_template(channelId,res)
  562. }else if(jsonData['fun']=="get_dz_channel_Info_list"&&jsonData['cmd']=="dz_link"){
  563. let is_wx = jsonData['data']['is_wx']
  564. CMD.get_dz_channel_Info_list(is_wx,res)
  565. }else if(jsonData['fun']=="get_qm_recharge_template"&&jsonData['cmd']=="qm_link"){
  566. let category = jsonData['data']['category']
  567. let qm_id = jsonData['data']['qm_id']
  568. let mini_program_platform_id = jsonData['data']['mini_program_platform_id']
  569. CMD.get_qm_recharge_template(res,category,mini_program_platform_id,qm_id)
  570. }else if(jsonData['fun']=="get_qm_callback_template"&&jsonData['cmd']=="qm_link"){
  571. let mini_program_platform_id = jsonData['data']['mini_program_platform_id']
  572. let qm_id = jsonData['data']['qm_id']
  573. CMD.get_qm_callback_template(res,mini_program_platform_id,qm_id)
  574. }else if(jsonData['fun']=="get_qm_account_list"&&jsonData['cmd']=="qm_link"){
  575. CMD.get_qm_account_list(res)
  576. }else if(jsonData['fun']=="get_fq_callback_template"&&jsonData['cmd']=="fq_link"){
  577. let distributor_id = jsonData['data']['distributor_id']
  578. CMD.get_fq_callback_template(res,distributor_id)
  579. }else if(jsonData['fun']=="get_yw_recharge_template"&&jsonData['cmd']=="yw_link"){
  580. let yw_id = jsonData['data']['yw_id']
  581. CMD.get_yw_recharge_template(res,yw_id)
  582. }else if(jsonData['fun']=="test_open_sessid"&&jsonData['cmd']=="yw_link"){
  583. let book_id = jsonData['data']['book_id']
  584. CMD.test_open_sessid(res,book_id)
  585. }else if(jsonData['fun']=="get_yw_open_sessid_status"&&jsonData['cmd']=="yw_link"){
  586. CMD.get_yw_open_sessid_status(res)
  587. } else if(jsonData['fun']=="get_yw_account_list"&&jsonData['cmd']=="yw_link"){
  588. CMD.get_yw_account_list(res)
  589. } else if(jsonData['fun']=="get_zh_recharge_template"&&jsonData['cmd']=="zh_link"){
  590. let app_type = jsonData['data']['app_type']
  591. CMD.get_zh_recharge_template(res,app_type)
  592. }else if(jsonData['fun']=="get_zh_callback_template"&&jsonData['cmd']=="zh_link"){
  593. CMD.get_zh_callback_template(res)
  594. } else if(jsonData['fun']=="hy_accountMapping"&&jsonData['cmd']=="hy_link"){
  595. CMD.hy_accountMapping(res)
  596. } else if(jsonData['fun']=="hy_iaaPassBackTemplate"&&jsonData['cmd']=="hy_link"){
  597. let accountId = jsonData['data']['accountId']
  598. CMD.hy_iaaPassBackTemplate(res,accountId)
  599. }else if(jsonData['fun']=="hy_iapPassBackTemplate"&&jsonData['cmd']=="hy_link"){
  600. let accountId = jsonData['data']['accountId']
  601. CMD.hy_iapPassBackTemplate(res,accountId)
  602. }else if(jsonData['fun']=="hy_topUpTemplate"&&jsonData['cmd']=="hy_link"){
  603. let accountId = jsonData['data']['accountId']
  604. CMD.hy_topUpTemplate(res,accountId)
  605. }else if(jsonData['fun']=="get_qm_mf_recharge_template"&&jsonData['cmd']=="qm_link"){
  606. let category = jsonData['data']['category']
  607. let qm_id = jsonData['data']['qm_id']
  608. let mini_program_platform_id = jsonData['data']['mini_program_platform_id']
  609. CMD.get_qm_mf_recharge_template(res,category,mini_program_platform_id,qm_id)
  610. }else if(jsonData['fun']=="get_qm_mf_callback_template"&&jsonData['cmd']=="qm_link"){
  611. let mini_program_platform_id = jsonData['data']['mini_program_platform_id']
  612. let qm_id = jsonData['data']['qm_id']
  613. CMD.get_qm_mf_callback_template(res,mini_program_platform_id,qm_id)
  614. }else if(jsonData['fun']=="get_qm_mf_account_list"&&jsonData['cmd']=="qm_link"){
  615. CMD.get_qm_mf_account_list(res)
  616. }else{
  617. res.writeHead(200, {'Content-Type': 'application/json'});
  618. res.end(JSON.stringify({ message: 'fun 错误',code:100}));
  619. }
  620. } catch (error) {
  621. // 处理解析错误
  622. console.error('Error parsing JSON:', error);
  623. res.writeHead(200, {'Content-Type': 'application/json'});
  624. res.end(JSON.stringify({ error: 'Invalid JSON' }));
  625. }
  626. } else {
  627. // 如果不是 JSON 内容类型,返回错误
  628. res.writeHead(200, {'Content-Type': 'text/plain'});
  629. res.end('Unsupported Media Type. Please send data as JSON.');
  630. }
  631. }else{
  632. res.writeHead(200, {'Content-Type': 'text/plain'});
  633. res.end(' Please Use Post.');
  634. }
  635. });
  636. })
  637. server.listen(PROT,()=>{
  638. });
  639. CMD.init()