108 lines
2.8 KiB
TypeScript
108 lines
2.8 KiB
TypeScript
import * as request from "request-promise";
|
||
import { BANTU_VID_ADDR, BANTU_VID_APP_KEY, HTTP_METHOD } from '../consts';
|
||
import { checkVidObjSign, get37Md5Sign, getVidObjSign } from "./sdkUtil";
|
||
|
||
// 通用,请求http
|
||
export async function httpRequest(url: string, method: string, headers: any, body: any) {
|
||
console.log(`httpRequest*********: ${url}, ${method}, ${JSON.stringify(headers)}, ${JSON.stringify(body)}`)
|
||
|
||
let options = {
|
||
url,
|
||
method,
|
||
headers,
|
||
body,
|
||
json: true
|
||
}
|
||
|
||
try {
|
||
let res = await request(options);
|
||
console.log('*****request result*****');
|
||
console.log(JSON.stringify(res));
|
||
return res;
|
||
} catch (e) {
|
||
console.error(e);
|
||
return false
|
||
}
|
||
}
|
||
|
||
/************** 厚土防沉迷接口 **************/
|
||
/**
|
||
* 在线报告 暂时不使用
|
||
* @param userCode 账号
|
||
* @param packageName 包名
|
||
*/
|
||
export async function reportOnline(userCode: string, packageName: string) {
|
||
if (!packageName || packageName == '') {
|
||
packageName = 'com.bantu.nfsg'
|
||
}
|
||
|
||
let result = await vidHttpRequest(BANTU_VID_ADDR.REPORT_ONLINE, {
|
||
account: userCode,
|
||
package: packageName
|
||
});
|
||
if (result && result.code !== 1) {
|
||
console.error(result.msg);
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* 实名认证 暂时不使用
|
||
* @param name 真实姓名
|
||
* @param idNum 身份证号
|
||
* @param userCode 账号
|
||
* @param packageName 包名
|
||
*/
|
||
export async function authenticate(name: string, idNum: string, userCode: string, packageName: string) {
|
||
if (!packageName || packageName == '') {
|
||
packageName = 'com.bantu.nfsg'
|
||
}
|
||
|
||
let result = await vidHttpRequest(BANTU_VID_ADDR.IDCARD, {
|
||
account: userCode,
|
||
cardno: idNum,
|
||
name,
|
||
appkey: BANTU_VID_APP_KEY,
|
||
package: packageName
|
||
});
|
||
if (result && result.code !== 1) {
|
||
console.error(result.msg);
|
||
}
|
||
|
||
return result && result.code == 1;
|
||
}
|
||
|
||
export async function vidHttpRequest(addr: string, body: any) {
|
||
body['sign'] = getVidObjSign(body);
|
||
console.log('body: ', JSON.stringify(body))
|
||
|
||
let options = {
|
||
url: BANTU_VID_ADDR.HOST + addr,
|
||
method: 'POST',
|
||
body: body,
|
||
json: true
|
||
}
|
||
|
||
try {
|
||
let res = await request(options);
|
||
let check = checkVidObjSign(res);
|
||
if (!check) return false;
|
||
// console.log('*****request result*****');
|
||
// console.log(JSON.stringify(res));
|
||
return res;
|
||
} catch (e) {
|
||
console.error(e);
|
||
return false
|
||
}
|
||
}
|
||
|
||
// 37sdk请求
|
||
|
||
export async function request37(url: string, body: any, key: string) {
|
||
body['sign'] = get37Md5Sign(body, key);
|
||
|
||
let result = await httpRequest(url, HTTP_METHOD.POST, {}, body);
|
||
console.log('******result', result)
|
||
return result;
|
||
} |