提交 7c99e386 作者: 王进

调整命名,修复支付loading没有隐藏

上级 14cf9e05
...@@ -29,8 +29,8 @@ class TTSDK { ...@@ -29,8 +29,8 @@ class TTSDK {
} }
private async sdkInit() { private async sdkInit() {
const _selt = this; const _selt = this;
_selt.ReportParams.productCode = _selt.sdkParams.product_code = SDKConfig.productCode; _selt.ReportParams.productCode = _selt.sdkParams.product_code = tt_SDKConfig.productCode;
_selt.sdkParams.appid = SDKConfig.appid; _selt.sdkParams.appid = tt_SDKConfig.appid;
_selt.sdkParams.version = _selt.sdkVersion; _selt.sdkParams.version = _selt.sdkVersion;
const options = _selt.getOptionsInfo(); // 返回参数对象 const options = _selt.getOptionsInfo(); // 返回参数对象
_selt.ReportParams.from = options.from || 0; _selt.ReportParams.from = options.from || 0;
...@@ -48,10 +48,10 @@ class TTSDK { ...@@ -48,10 +48,10 @@ class TTSDK {
_selt.sdkParams.source = 'TOUTIAO'; _selt.sdkParams.source = 'TOUTIAO';
let loginPostData = _selt.deepCopy({}, _selt.sdkParams, { // 拼上appid和code let loginPostData = _selt.deepCopy({}, _selt.sdkParams, { // 拼上appid和code
anonymous_code: loginPromise.anonymousCode || '', anonymous_code: loginPromise.anonymousCode || '',
appid: SDKConfig.appid, appid: tt_SDKConfig.appid,
code: loginPromise.code || '' code: loginPromise.code || ''
}); });
let sdkLoginData = await _selt.sdkRequest(Links.init, loginPostData).catch(err => { let sdkLoginData = await _selt.sdkRequest(ttLinks.init, loginPostData).catch(err => {
_selt.Login(); _selt.Login();
}); });
if (sdkLoginData.code == 0) { if (sdkLoginData.code == 0) {
...@@ -64,7 +64,7 @@ class TTSDK { ...@@ -64,7 +64,7 @@ class TTSDK {
// SDK激活 // SDK激活
private async sdkActive() { private async sdkActive() {
const _selt = this; const _selt = this;
let sdkActData = await _selt.sdkRequest(Links.active, this.sdkParams).catch(err => { let sdkActData = await _selt.sdkRequest(ttLinks.active, this.sdkParams).catch(err => {
console.log("$$SDK激活异常:", err); console.log("$$SDK激活异常:", err);
_selt.sdkAlert("$$SDK激活异常:" + err); _selt.sdkAlert("$$SDK激活异常:" + err);
}); });
...@@ -76,7 +76,7 @@ class TTSDK { ...@@ -76,7 +76,7 @@ class TTSDK {
const _selt = this const _selt = this
// 获取用户信息 // 获取用户信息
_selt.sdkParams.token = '' // 强制清空登录toekn _selt.sdkParams.token = '' // 强制清空登录toekn
let sdkLoginData = await _selt.sdkRequest(Links.login, _selt.sdkParams).catch(err => { let sdkLoginData = await _selt.sdkRequest(ttLinks.login, _selt.sdkParams).catch(err => {
console.log("$$SDK登陆异常:", err); console.log("$$SDK登陆异常:", err);
_selt.sdkAlert("$$SDK登陆异常:" + err); _selt.sdkAlert("$$SDK登陆异常:" + err);
}); });
...@@ -101,11 +101,12 @@ class TTSDK { ...@@ -101,11 +101,12 @@ class TTSDK {
const _selt = this; const _selt = this;
_selt.LoadingOn(); _selt.LoadingOn();
// 支付前先获取用户订单状态,如果没有未完成订单则继续支付 // 支付前先获取用户订单状态,如果没有未完成订单则继续支付
let res = await _selt.sdkRequest(Links.order, _selt.deepCopy({}, _selt.sdkParams, Params)).catch(err => { let res = await _selt.sdkRequest(ttLinks.order, _selt.deepCopy({}, _selt.sdkParams, Params)).catch(err => {
_selt.LoadingOff(); _selt.LoadingOff();
console.log("$$SDK异常::payOrder", err); console.log("$$SDK异常::payOrder", err);
}); });
console.log("$$订单返回---->", res); console.log("$$订单返回---->", res);
_selt.LoadingOff();
if (res.code == 0) { if (res.code == 0) {
// 根据返回的用户订单状态判断是新订单还是未完成订单 // 根据返回的用户订单状态判断是新订单还是未完成订单
if (res.data.order_type == 1) { // 新订单 if (res.data.order_type == 1) { // 新订单
...@@ -164,7 +165,7 @@ class TTSDK { ...@@ -164,7 +165,7 @@ class TTSDK {
}); });
} else { // 已有未完成订单,弹窗提示 } else { // 已有未完成订单,弹窗提示
const params = { const params = {
title: SDKConfig.shareTitle, title: tt_SDKConfig.shareTitle,
content: '订单发货中,请稍候下单..' content: '订单发货中,请稍候下单..'
} }
_selt.showModal(params); _selt.showModal(params);
...@@ -181,11 +182,10 @@ class TTSDK { ...@@ -181,11 +182,10 @@ class TTSDK {
if (showSDKAlert) _selt.sdkAlert(errmsg); if (showSDKAlert) _selt.sdkAlert(errmsg);
return 0; return 0;
} }
_selt.LoadingOff();
} }
private async getCoins(orderParams) { // 通知服务端扣费 private async getCoins(orderParams) { // 通知服务端扣费
console.log("$$SDK通知扣费", orderParams); console.log("$$SDK通知扣费", orderParams);
let coinsResult = await this.sdkRequest(Links.pay, orderParams).catch(err => { let coinsResult = await this.sdkRequest(ttLinks.pay, orderParams).catch(err => {
console.log("$$SDK异常::getCoins", err); console.log("$$SDK异常::getCoins", err);
}); });
return coinsResult; return coinsResult;
...@@ -193,7 +193,7 @@ class TTSDK { ...@@ -193,7 +193,7 @@ class TTSDK {
public async checkUserPhoneBind() { // 查询用户绑定状态 public async checkUserPhoneBind() { // 查询用户绑定状态
const _selt = this; const _selt = this;
let postData = _selt.deepCopy({}, _selt.sdkParams, { uid: _selt.ReportParams.userId }); let postData = _selt.deepCopy({}, _selt.sdkParams, { uid: _selt.ReportParams.userId });
let bindType = await _selt.sdkRequest(Links.bindPhone, postData); let bindType = await _selt.sdkRequest(ttLinks.bindPhone, postData);
return (bindType.code == 0); return (bindType.code == 0);
} }
public async phoneCode(phoneInfo, callback) { public async phoneCode(phoneInfo, callback) {
...@@ -201,7 +201,7 @@ class TTSDK { ...@@ -201,7 +201,7 @@ class TTSDK {
let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo); let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo);
postData.type = 'SDK.BIND_MOBILE'; // 小程序专属短信类型 postData.type = 'SDK.BIND_MOBILE'; // 小程序专属短信类型
// 发送验证码接口 // 发送验证码接口
let res = await this.sdkRequest(Links.sendCode, postData).catch(err => { let res = await this.sdkRequest(ttLinks.sendCode, postData).catch(err => {
console.log("$$SDK::验证码发送失败", err); console.log("$$SDK::验证码发送失败", err);
_selt.sdkAlert("发送失败,请重试.."); _selt.sdkAlert("发送失败,请重试..");
}); });
...@@ -216,7 +216,7 @@ class TTSDK { ...@@ -216,7 +216,7 @@ class TTSDK {
let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo); let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo);
postData.source = 'TOUTIAO'; // 用户平台来源 postData.source = 'TOUTIAO'; // 用户平台来源
//保存用户手机信息 //保存用户手机信息
let res = await this.sdkRequest(Links.saveNum, postData).catch(err => { let res = await this.sdkRequest(ttLinks.saveNum, postData).catch(err => {
console.log("$$SDK::保存手机失败", err); console.log("$$SDK::保存手机失败", err);
}); });
if (res.code == 0) { if (res.code == 0) {
...@@ -234,7 +234,7 @@ class TTSDK { ...@@ -234,7 +234,7 @@ class TTSDK {
// 米大师支付参数 // 米大师支付参数
private MidasPaymentParams = { private MidasPaymentParams = {
mode: 'game', // 支付的类型 mode: 'game', // 支付的类型
env: SDKConfig.payEnv, // 米大师环境 env: tt_SDKConfig.payEnv, // 米大师环境
currencyType: 'CNY', // 币种 currencyType: 'CNY', // 币种
platform: 'android', platform: 'android',
buyQuantity: 10, // buyQuantity * 游戏币单价 = 限定的价格等级(1,3,6,8,12,18,25,30,40,45,50,60,68,73,78,88,98,108,118,128,148,168,188,198,328,648) buyQuantity: 10, // buyQuantity * 游戏币单价 = 限定的价格等级(1,3,6,8,12,18,25,30,40,45,50,60,68,73,78,88,98,108,118,128,148,168,188,198,328,648)
...@@ -257,7 +257,7 @@ class TTSDK { ...@@ -257,7 +257,7 @@ class TTSDK {
for (let i = 0; i < keys.length; i++) { for (let i = 0; i < keys.length; i++) {
if (keys[i] != 'sign') key_url += keys[i] + '=' + obj[keys[i]] + '&' if (keys[i] != 'sign') key_url += keys[i] + '=' + obj[keys[i]] + '&'
} }
key_url = key_url + SDKConfig.productKey key_url = key_url + tt_SDKConfig.productKey
obj.sign = md5(key_url) obj.sign = md5(key_url)
return obj return obj
} }
...@@ -425,7 +425,7 @@ class TTSDK { ...@@ -425,7 +425,7 @@ class TTSDK {
portData = _self.deepCopy({}, _self.ReportParams, portData) portData = _self.deepCopy({}, _self.ReportParams, portData)
portData.time = Date.parse(new Date().toString()) // 获取当前时间戳秒 portData.time = Date.parse(new Date().toString()) // 获取当前时间戳秒
console.log("##SDK统计上报参数", portData) console.log("##SDK统计上报参数", portData)
this.request(SDKConfig.report, portData, 'POST').catch(err => { this.request(tt_SDKConfig.report, portData, 'POST').catch(err => {
console.log("$$SDK上报数据异常", err); console.log("$$SDK上报数据异常", err);
}); });
} }
...@@ -469,7 +469,7 @@ class TTSDK { ...@@ -469,7 +469,7 @@ class TTSDK {
console.log("$$SDK录屏异常::gameRecorder", err); console.log("$$SDK录屏异常::gameRecorder", err);
} }
} }
public startGameRecorder(recorderInfo: RecorderInfo) { public startGameRecorder(recorderInfo: ttRecorderInfo) {
try { try {
console.log(recorderInfo); console.log(recorderInfo);
this.GameRecorder.start({ this.GameRecorder.start({
...@@ -654,13 +654,13 @@ class TTSDK { ...@@ -654,13 +654,13 @@ class TTSDK {
}) })
} }
// 监听右上角菜单分享 // 监听右上角菜单分享
public addShareEvent(shareInfo: shareInfo, callback?) { public addShareEvent(shareInfo: ttshareInfo, callback?) {
const _self = this; const _self = this;
(tt as any).onShareAppMessage(() => { (tt as any).onShareAppMessage(() => {
if (callback) callback(); if (callback) callback();
const ShareParams = { const ShareParams = {
title: shareInfo.title ? shareInfo.title : SDKConfig.shareTitle, title: shareInfo.title ? shareInfo.title : tt_SDKConfig.shareTitle,
imageUrl: shareInfo.image ? shareInfo.image : SDKConfig.shareImageUrl, imageUrl: shareInfo.image ? shareInfo.image : tt_SDKConfig.shareImageUrl,
query: 'fromOpenId=' + _self.ReportParams.openId + '&from=sharetoutiao&tag=0&' + (shareInfo.query ? shareInfo.query : ''), query: 'fromOpenId=' + _self.ReportParams.openId + '&from=sharetoutiao&tag=0&' + (shareInfo.query ? shareInfo.query : ''),
withShareTicket: true, withShareTicket: true,
success: shareInfo.success, success: shareInfo.success,
...@@ -675,8 +675,8 @@ class TTSDK { ...@@ -675,8 +675,8 @@ class TTSDK {
const _self = this const _self = this
// 参数,记录分享的用户openid // 参数,记录分享的用户openid
const ShareParams = { const ShareParams = {
title: SDKConfig.shareTitle, title: tt_SDKConfig.shareTitle,
imageUrl: SDKConfig.shareImageUrl, imageUrl: tt_SDKConfig.shareImageUrl,
query: 'fromOpenId=' + _self.ReportParams.openId + '&from=sharetoutiao&tag=0&' + (params ? params : '') query: 'fromOpenId=' + _self.ReportParams.openId + '&from=sharetoutiao&tag=0&' + (params ? params : '')
} }
return this.share(ShareParams); return this.share(ShareParams);
...@@ -696,7 +696,7 @@ class TTSDK { ...@@ -696,7 +696,7 @@ class TTSDK {
language: null, // 选填,设置的语言 language: null, // 选填,设置的语言
version: null, // 选填,版本号 version: null, // 选填,版本号
SDKVersion: null, // 选填,客户端基础库版本 SDKVersion: null, // 选填,客户端基础库版本
appVersion: SDKConfig.appVersion, // 选填,产品版本号,配置文件配置 appVersion: tt_SDKConfig.appVersion, // 选填,产品版本号,配置文件配置
screenWidth: null, // 选填,屏幕宽度 screenWidth: null, // 选填,屏幕宽度
screenHeight: null, // 选填,屏幕高度 screenHeight: null, // 选填,屏幕高度
time: null // 必填,请求的时间戳(秒) time: null // 必填,请求的时间戳(秒)
...@@ -727,18 +727,18 @@ class TTSDK { ...@@ -727,18 +727,18 @@ class TTSDK {
} }
} }
// SDK后端接口(勿改) // SDK后端接口(勿改)
const Links = { const ttLinks = {
init: SDKConfig.sdk_domain + '/v2/toutiao/code2SessionKey', // 获取openid init: tt_SDKConfig.sdk_domain + '/v2/toutiao/code2SessionKey', // 获取openid
active: SDKConfig.sdk_domain + '/appInit.php', // SDK初始化接口 active: tt_SDKConfig.sdk_domain + '/appInit.php', // SDK初始化接口
login: SDKConfig.sdk_domain + '/login.php', // SDK登录接口,获取用户平台信息 login: tt_SDKConfig.sdk_domain + '/login.php', // SDK登录接口,获取用户平台信息
order: SDKConfig.pay_domain + '/pay.php', //订单接口 order: tt_SDKConfig.pay_domain + '/pay.php', //订单接口
pay: SDKConfig.pay_domain + '/notify/midas/pay.php', //扣费接口 pay: tt_SDKConfig.pay_domain + '/notify/midas/pay.php', //扣费接口
payType: SDKConfig.pay_domain + '/pay_channel/status.php', // 查询支付状态 payType: tt_SDKConfig.pay_domain + '/pay_channel/status.php', // 查询支付状态
sendCode: SDKConfig.sdk_domain + '/sms/send.php', // 发送验证码 sendCode: tt_SDKConfig.sdk_domain + '/sms/send.php', // 发送验证码
saveNum: SDKConfig.sdk_domain + '/bind/mobile.php', // 保存手机号码 saveNum: tt_SDKConfig.sdk_domain + '/bind/mobile.php', // 保存手机号码
bindPhone: SDKConfig.sdk_domain + '/bind/is_bind_mobile.php', // 用户手机绑定状态 bindPhone: tt_SDKConfig.sdk_domain + '/bind/is_bind_mobile.php', // 用户手机绑定状态
} }
class shareInfo { class ttshareInfo {
title?: string title?: string
image?: string image?: string
query?: string query?: string
...@@ -746,9 +746,9 @@ class shareInfo { ...@@ -746,9 +746,9 @@ class shareInfo {
fail: any fail: any
complete?: any complete?: any
} }
class RecorderInfo { class ttRecorderInfo {
time: number time: number
useMic: boolean useMic: boolean
} }
// md5加密 // md5加密
const rotateLeft = (lValue, iShiftBits) => { return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)) }; var addUnsigned = function (lX, lY) { var lX4, lY4, lX8, lY8, lResult; lX8 = (lX & 2147483648); lY8 = (lY & 2147483648); lX4 = (lX & 1073741824); lY4 = (lY & 1073741824); lResult = (lX & 1073741823) + (lY & 1073741823); if (lX4 & lY4) { return (lResult ^ 2147483648 ^ lX8 ^ lY8) } if (lX4 | lY4) { if (lResult & 1073741824) { return (lResult ^ 3221225472 ^ lX8 ^ lY8) } else { return (lResult ^ 1073741824 ^ lX8 ^ lY8) } } else { return (lResult ^ lX8 ^ lY8) } }; var F = function (x, y, z) { return (x & y) | ((~x) & z) }; var G = function (x, y, z) { return (x & z) | (y & (~z)) }; var H = function (x, y, z) { return (x ^ y ^ z) }; var I = function (x, y, z) { return (y ^ (x | (~z))) }; var FF = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b) }; var GG = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b) }; var HH = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b) }; var II = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b) }; var convertToWordArray = function (string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWordsTempOne = lMessageLength + 8; var lNumberOfWordsTempTwo = (lNumberOfWordsTempOne - (lNumberOfWordsTempOne % 64)) / 64; var lNumberOfWords = (lNumberOfWordsTempTwo + 1) * 16; var lWordArray = Array(lNumberOfWords - 1); var lBytePosition = 0; var lByteCount = 0; while (lByteCount < lMessageLength) { lWordCount = (lByteCount - (lByteCount % 4)) / 4; lBytePosition = (lByteCount % 4) * 8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); lByteCount++ } lWordCount = (lByteCount - (lByteCount % 4)) / 4; lBytePosition = (lByteCount % 4) * 8; lWordArray[lWordCount] = lWordArray[lWordCount] | (128 << lBytePosition); lWordArray[lNumberOfWords - 2] = lMessageLength << 3; lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; return lWordArray }; var wordToHex = function (lValue) { var WordToHexValue = "", WordToHexValueTemp = "", lByte, lCount; for (lCount = 0; lCount <= 3; lCount++) { lByte = (lValue >>> (lCount * 8)) & 255; WordToHexValueTemp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValueTemp.substr(WordToHexValueTemp.length - 2, 2) } return WordToHexValue }; var uTF8Encode = function (string) { string = string.replace(/\x0d\x0a/g, "\x0a"); var output = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { output += String.fromCharCode(c) } else { if ((c > 127) && (c < 2048)) { output += String.fromCharCode((c >> 6) | 192); output += String.fromCharCode((c & 63) | 128) } else { output += String.fromCharCode((c >> 12) | 224); output += String.fromCharCode(((c >> 6) & 63) | 128); output += String.fromCharCode((c & 63) | 128) } } } return output }; function md5(string) { var x = Array(); var k, AA, BB, CC, DD, a, b, c, d; var S11 = 7, S12 = 12, S13 = 17, S14 = 22; var S21 = 5, S22 = 9, S23 = 14, S24 = 20; var S31 = 4, S32 = 11, S33 = 16, S34 = 23; var S41 = 6, S42 = 10, S43 = 15, S44 = 21; string = uTF8Encode(string); x = convertToWordArray(string); a = 1732584193; b = 4023233417; c = 2562383102; d = 271733878; for (k = 0; k < x.length; k += 16) { AA = a; BB = b; CC = c; DD = d; a = FF(a, b, c, d, x[k + 0], S11, 3614090360); d = FF(d, a, b, c, x[k + 1], S12, 3905402710); c = FF(c, d, a, b, x[k + 2], S13, 606105819); b = FF(b, c, d, a, x[k + 3], S14, 3250441966); a = FF(a, b, c, d, x[k + 4], S11, 4118548399); d = FF(d, a, b, c, x[k + 5], S12, 1200080426); c = FF(c, d, a, b, x[k + 6], S13, 2821735955); b = FF(b, c, d, a, x[k + 7], S14, 4249261313); a = FF(a, b, c, d, x[k + 8], S11, 1770035416); d = FF(d, a, b, c, x[k + 9], S12, 2336552879); c = FF(c, d, a, b, x[k + 10], S13, 4294925233); b = FF(b, c, d, a, x[k + 11], S14, 2304563134); a = FF(a, b, c, d, x[k + 12], S11, 1804603682); d = FF(d, a, b, c, x[k + 13], S12, 4254626195); c = FF(c, d, a, b, x[k + 14], S13, 2792965006); b = FF(b, c, d, a, x[k + 15], S14, 1236535329); a = GG(a, b, c, d, x[k + 1], S21, 4129170786); d = GG(d, a, b, c, x[k + 6], S22, 3225465664); c = GG(c, d, a, b, x[k + 11], S23, 643717713); b = GG(b, c, d, a, x[k + 0], S24, 3921069994); a = GG(a, b, c, d, x[k + 5], S21, 3593408605); d = GG(d, a, b, c, x[k + 10], S22, 38016083); c = GG(c, d, a, b, x[k + 15], S23, 3634488961); b = GG(b, c, d, a, x[k + 4], S24, 3889429448); a = GG(a, b, c, d, x[k + 9], S21, 568446438); d = GG(d, a, b, c, x[k + 14], S22, 3275163606); c = GG(c, d, a, b, x[k + 3], S23, 4107603335); b = GG(b, c, d, a, x[k + 8], S24, 1163531501); a = GG(a, b, c, d, x[k + 13], S21, 2850285829); d = GG(d, a, b, c, x[k + 2], S22, 4243563512); c = GG(c, d, a, b, x[k + 7], S23, 1735328473); b = GG(b, c, d, a, x[k + 12], S24, 2368359562); a = HH(a, b, c, d, x[k + 5], S31, 4294588738); d = HH(d, a, b, c, x[k + 8], S32, 2272392833); c = HH(c, d, a, b, x[k + 11], S33, 1839030562); b = HH(b, c, d, a, x[k + 14], S34, 4259657740); a = HH(a, b, c, d, x[k + 1], S31, 2763975236); d = HH(d, a, b, c, x[k + 4], S32, 1272893353); c = HH(c, d, a, b, x[k + 7], S33, 4139469664); b = HH(b, c, d, a, x[k + 10], S34, 3200236656); a = HH(a, b, c, d, x[k + 13], S31, 681279174); d = HH(d, a, b, c, x[k + 0], S32, 3936430074); c = HH(c, d, a, b, x[k + 3], S33, 3572445317); b = HH(b, c, d, a, x[k + 6], S34, 76029189); a = HH(a, b, c, d, x[k + 9], S31, 3654602809); d = HH(d, a, b, c, x[k + 12], S32, 3873151461); c = HH(c, d, a, b, x[k + 15], S33, 530742520); b = HH(b, c, d, a, x[k + 2], S34, 3299628645); a = II(a, b, c, d, x[k + 0], S41, 4096336452); d = II(d, a, b, c, x[k + 7], S42, 1126891415); c = II(c, d, a, b, x[k + 14], S43, 2878612391); b = II(b, c, d, a, x[k + 5], S44, 4237533241); a = II(a, b, c, d, x[k + 12], S41, 1700485571); d = II(d, a, b, c, x[k + 3], S42, 2399980690); c = II(c, d, a, b, x[k + 10], S43, 4293915773); b = II(b, c, d, a, x[k + 1], S44, 2240044497); a = II(a, b, c, d, x[k + 8], S41, 1873313359); d = II(d, a, b, c, x[k + 15], S42, 4264355552); c = II(c, d, a, b, x[k + 6], S43, 2734768916); b = II(b, c, d, a, x[k + 13], S44, 1309151649); a = II(a, b, c, d, x[k + 4], S41, 4149444226); d = II(d, a, b, c, x[k + 11], S42, 3174756917); c = II(c, d, a, b, x[k + 2], S43, 718787259); b = II(b, c, d, a, x[k + 9], S44, 3951481745); a = addUnsigned(a, AA); b = addUnsigned(b, BB); c = addUnsigned(c, CC); d = addUnsigned(d, DD) } var tempValue = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); return tempValue.toLowerCase() }; const ttrotateLeft = (lValue, iShiftBits) => { return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)) }; var addUnsigned = function (lX, lY) { var lX4, lY4, lX8, lY8, lResult; lX8 = (lX & 2147483648); lY8 = (lY & 2147483648); lX4 = (lX & 1073741824); lY4 = (lY & 1073741824); lResult = (lX & 1073741823) + (lY & 1073741823); if (lX4 & lY4) { return (lResult ^ 2147483648 ^ lX8 ^ lY8) } if (lX4 | lY4) { if (lResult & 1073741824) { return (lResult ^ 3221225472 ^ lX8 ^ lY8) } else { return (lResult ^ 1073741824 ^ lX8 ^ lY8) } } else { return (lResult ^ lX8 ^ lY8) } }; var F = function (x, y, z) { return (x & y) | ((~x) & z) }; var G = function (x, y, z) { return (x & z) | (y & (~z)) }; var H = function (x, y, z) { return (x ^ y ^ z) }; var I = function (x, y, z) { return (y ^ (x | (~z))) }; var FF = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac)); return addUnsigned(ttrotateLeft(a, s), b) }; var GG = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac)); return addUnsigned(ttrotateLeft(a, s), b) }; var HH = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac)); return addUnsigned(ttrotateLeft(a, s), b) }; var II = function (a, b, c, d, x, s, ac) { a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac)); return addUnsigned(ttrotateLeft(a, s), b) }; var convertToWordArray = function (string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWordsTempOne = lMessageLength + 8; var lNumberOfWordsTempTwo = (lNumberOfWordsTempOne - (lNumberOfWordsTempOne % 64)) / 64; var lNumberOfWords = (lNumberOfWordsTempTwo + 1) * 16; var lWordArray = Array(lNumberOfWords - 1); var lBytePosition = 0; var lByteCount = 0; while (lByteCount < lMessageLength) { lWordCount = (lByteCount - (lByteCount % 4)) / 4; lBytePosition = (lByteCount % 4) * 8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition)); lByteCount++ } lWordCount = (lByteCount - (lByteCount % 4)) / 4; lBytePosition = (lByteCount % 4) * 8; lWordArray[lWordCount] = lWordArray[lWordCount] | (128 << lBytePosition); lWordArray[lNumberOfWords - 2] = lMessageLength << 3; lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29; return lWordArray }; var wordToHex = function (lValue) { var WordToHexValue = "", WordToHexValueTemp = "", lByte, lCount; for (lCount = 0; lCount <= 3; lCount++) { lByte = (lValue >>> (lCount * 8)) & 255; WordToHexValueTemp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValueTemp.substr(WordToHexValueTemp.length - 2, 2) } return WordToHexValue }; var uTF8Encode = function (string) { string = string.replace(/\x0d\x0a/g, "\x0a"); var output = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { output += String.fromCharCode(c) } else { if ((c > 127) && (c < 2048)) { output += String.fromCharCode((c >> 6) | 192); output += String.fromCharCode((c & 63) | 128) } else { output += String.fromCharCode((c >> 12) | 224); output += String.fromCharCode(((c >> 6) & 63) | 128); output += String.fromCharCode((c & 63) | 128) } } } return output }; function md5(string) { var x = Array(); var k, AA, BB, CC, DD, a, b, c, d; var S11 = 7, S12 = 12, S13 = 17, S14 = 22; var S21 = 5, S22 = 9, S23 = 14, S24 = 20; var S31 = 4, S32 = 11, S33 = 16, S34 = 23; var S41 = 6, S42 = 10, S43 = 15, S44 = 21; string = uTF8Encode(string); x = convertToWordArray(string); a = 1732584193; b = 4023233417; c = 2562383102; d = 271733878; for (k = 0; k < x.length; k += 16) { AA = a; BB = b; CC = c; DD = d; a = FF(a, b, c, d, x[k + 0], S11, 3614090360); d = FF(d, a, b, c, x[k + 1], S12, 3905402710); c = FF(c, d, a, b, x[k + 2], S13, 606105819); b = FF(b, c, d, a, x[k + 3], S14, 3250441966); a = FF(a, b, c, d, x[k + 4], S11, 4118548399); d = FF(d, a, b, c, x[k + 5], S12, 1200080426); c = FF(c, d, a, b, x[k + 6], S13, 2821735955); b = FF(b, c, d, a, x[k + 7], S14, 4249261313); a = FF(a, b, c, d, x[k + 8], S11, 1770035416); d = FF(d, a, b, c, x[k + 9], S12, 2336552879); c = FF(c, d, a, b, x[k + 10], S13, 4294925233); b = FF(b, c, d, a, x[k + 11], S14, 2304563134); a = FF(a, b, c, d, x[k + 12], S11, 1804603682); d = FF(d, a, b, c, x[k + 13], S12, 4254626195); c = FF(c, d, a, b, x[k + 14], S13, 2792965006); b = FF(b, c, d, a, x[k + 15], S14, 1236535329); a = GG(a, b, c, d, x[k + 1], S21, 4129170786); d = GG(d, a, b, c, x[k + 6], S22, 3225465664); c = GG(c, d, a, b, x[k + 11], S23, 643717713); b = GG(b, c, d, a, x[k + 0], S24, 3921069994); a = GG(a, b, c, d, x[k + 5], S21, 3593408605); d = GG(d, a, b, c, x[k + 10], S22, 38016083); c = GG(c, d, a, b, x[k + 15], S23, 3634488961); b = GG(b, c, d, a, x[k + 4], S24, 3889429448); a = GG(a, b, c, d, x[k + 9], S21, 568446438); d = GG(d, a, b, c, x[k + 14], S22, 3275163606); c = GG(c, d, a, b, x[k + 3], S23, 4107603335); b = GG(b, c, d, a, x[k + 8], S24, 1163531501); a = GG(a, b, c, d, x[k + 13], S21, 2850285829); d = GG(d, a, b, c, x[k + 2], S22, 4243563512); c = GG(c, d, a, b, x[k + 7], S23, 1735328473); b = GG(b, c, d, a, x[k + 12], S24, 2368359562); a = HH(a, b, c, d, x[k + 5], S31, 4294588738); d = HH(d, a, b, c, x[k + 8], S32, 2272392833); c = HH(c, d, a, b, x[k + 11], S33, 1839030562); b = HH(b, c, d, a, x[k + 14], S34, 4259657740); a = HH(a, b, c, d, x[k + 1], S31, 2763975236); d = HH(d, a, b, c, x[k + 4], S32, 1272893353); c = HH(c, d, a, b, x[k + 7], S33, 4139469664); b = HH(b, c, d, a, x[k + 10], S34, 3200236656); a = HH(a, b, c, d, x[k + 13], S31, 681279174); d = HH(d, a, b, c, x[k + 0], S32, 3936430074); c = HH(c, d, a, b, x[k + 3], S33, 3572445317); b = HH(b, c, d, a, x[k + 6], S34, 76029189); a = HH(a, b, c, d, x[k + 9], S31, 3654602809); d = HH(d, a, b, c, x[k + 12], S32, 3873151461); c = HH(c, d, a, b, x[k + 15], S33, 530742520); b = HH(b, c, d, a, x[k + 2], S34, 3299628645); a = II(a, b, c, d, x[k + 0], S41, 4096336452); d = II(d, a, b, c, x[k + 7], S42, 1126891415); c = II(c, d, a, b, x[k + 14], S43, 2878612391); b = II(b, c, d, a, x[k + 5], S44, 4237533241); a = II(a, b, c, d, x[k + 12], S41, 1700485571); d = II(d, a, b, c, x[k + 3], S42, 2399980690); c = II(c, d, a, b, x[k + 10], S43, 4293915773); b = II(b, c, d, a, x[k + 1], S44, 2240044497); a = II(a, b, c, d, x[k + 8], S41, 1873313359); d = II(d, a, b, c, x[k + 15], S42, 4264355552); c = II(c, d, a, b, x[k + 6], S43, 2734768916); b = II(b, c, d, a, x[k + 13], S44, 1309151649); a = II(a, b, c, d, x[k + 4], S41, 4149444226); d = II(d, a, b, c, x[k + 11], S42, 3174756917); c = II(c, d, a, b, x[k + 2], S43, 718787259); b = II(b, c, d, a, x[k + 9], S44, 3951481745); a = addUnsigned(a, AA); b = addUnsigned(b, BB); c = addUnsigned(c, CC); d = addUnsigned(d, DD) } var tempValue = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d); return tempValue.toLowerCase() };
\ No newline at end of file \ No newline at end of file
const SDKConfig = { const tt_SDKConfig = {
// 配置项目参数 // 配置项目参数
sdk_domain: 'https://account.jinsdk.com', // SDK上报的接口域名 sdk_domain: 'https://account.jinsdk.com', // SDK上报的接口域名
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论