提交 e597e520 作者: 王进

游客支付弹窗

上级 2abf9f74
...@@ -42,7 +42,7 @@ class TTSDK { ...@@ -42,7 +42,7 @@ class TTSDK {
} }
public async Login() { public async Login() {
const _selt = this; const _selt = this;
const loginPromise = await _selt._login().catch(err => { const loginPromise = await _selt._login(false).catch(err => {
console.log("$$SDK登录异常::Login", err); console.log("$$SDK登录异常::Login", err);
}); });
_selt.sdkParams.source = 'TOUTIAO'; _selt.sdkParams.source = 'TOUTIAO';
...@@ -55,10 +55,10 @@ class TTSDK { ...@@ -55,10 +55,10 @@ class TTSDK {
_selt.Login(); _selt.Login();
}); });
if (sdkLoginData.code == 0) { if (sdkLoginData.code == 0) {
_selt.ReportParams.openId = _selt.sdkParams.open_id = sdkLoginData.data.openid || ''; _selt.sdkParams.open_id = sdkLoginData.data.openid || '';
_selt.sdkParams.anonymous_openid = sdkLoginData.data.anonymous_openid || ''; // 如果是游客登录服务端会返回openid _selt.ReportParams.openId = _selt.sdkParams.anonymous_openid = sdkLoginData.data.anonymous_openid || ''; // 游客openid
_selt.sdkParams.session_key = sdkLoginData.data.session_key || ''; _selt.sdkParams.session_key = sdkLoginData.data.session_key || '';
_selt.sdkParams.uniqueid = _selt.sdkParams.open_id != '' ? _selt.sdkParams.open_id : sdkLoginData.data.anonymous_openid; _selt.sdkParams.uniqueid = sdkLoginData.data.anonymous_openid;
} }
return _selt.sdkActive(); return _selt.sdkActive();
} }
...@@ -76,7 +76,7 @@ class TTSDK { ...@@ -76,7 +76,7 @@ class TTSDK {
private async sdkLogin() { private async sdkLogin() {
const _selt = this const _selt = this
// 获取用户信息 // 获取用户信息
_selt.sdkParams.token = '' // 强制清空登录toekn _selt.sdkParams.token = '' // 强制清空登录token
let sdkLoginData = await _selt.sdkRequest(ttLinks.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);
...@@ -91,15 +91,35 @@ class TTSDK { ...@@ -91,15 +91,35 @@ class TTSDK {
}); });
// _selt.createGameRecorder(); // _selt.createGameRecorder();
return LoginCallBack; return LoginCallBack;
} else {
_selt.sdkAlert(sdkLoginData.msg);
} }
} }
public async payOrderStatus(Params) { public async payOrderStatus(Params) {
let payResult = await this.payOrder(Params, false); let payResult = await this.payOrder(Params, false);
return payResult; return payResult;
} }
private async checkUserLogin() {
return new Promise((resolve, reject) => {
(tt as any).checkSession({
success(res) {
resolve(0)
},
fail(res) {
resolve(-1);
}
});
});
}
// SDK支付接口 // SDK支付接口
public async payOrder(Params, showSDKAlert = true) { public async payOrder(Params, showSDKAlert = true) {
const _selt = this; const _selt = this;
// 支付前先判断用户是否登录
let isLogin = await _selt.checkUserLogin();
if(isLogin == -1) {
isLogin = await _selt.reLogin();
if(isLogin == -1) return false;
}
_selt.LoadingOn(); _selt.LoadingOn();
// 支付前先获取用户订单状态,如果没有未完成订单则继续支付 // 支付前先获取用户订单状态,如果没有未完成订单则继续支付
let res = await _selt.sdkRequest(ttLinks.order, _selt.deepCopy({}, _selt.sdkParams, Params)).catch(err => { let res = await _selt.sdkRequest(ttLinks.order, _selt.deepCopy({}, _selt.sdkParams, Params)).catch(err => {
...@@ -147,7 +167,7 @@ class TTSDK { ...@@ -147,7 +167,7 @@ class TTSDK {
msg = ' 财经方失败'; msg = ' 财经方失败';
break; break;
case -16000: case -16000:
msg = ' 用户未登录'; msg = '用户未登录';
break; break;
case 2: case 2:
msg = '重复发起支付请求'; msg = '重复发起支付请求';
...@@ -162,7 +182,7 @@ class TTSDK { ...@@ -162,7 +182,7 @@ class TTSDK {
msg = '其他错误'; msg = '其他错误';
break; break;
} }
if (showSDKAlert) _selt.sdkAlert(msg); if (showSDKAlert && msg != '') _selt.sdkAlert(msg);
resolve(err.errCode); resolve(err.errCode);
} }
})); }));
...@@ -373,7 +393,32 @@ class TTSDK { ...@@ -373,7 +393,32 @@ class TTSDK {
} }
}) })
} }
private _login(): Promise<any> { private async reLogin() {
const _selt = this;
const loginPromise = await _selt._login(true).catch(err => {
console.log("$$SDK登录异常::Login", err);
});
if(loginPromise == -1) return false; // 用户取消登录
let loginPostData = _selt.deepCopy({}, _selt.sdkParams, { // 拼上appid和code
anonymous_code: loginPromise.anonymousCode || '',
appid: tt_SDKConfig.appid,
code: loginPromise.code || ''
});
let sdkLoginData = await _selt.sdkRequest(ttLinks.init, loginPostData).catch(err => {
_selt.reLogin();
});
if (sdkLoginData.code == 0) {
_selt.sdkParams.open_id = sdkLoginData.data.openid || '';
_selt.ReportParams.openId = _selt.sdkParams.anonymous_openid = sdkLoginData.data.anonymous_openid || ''; // 游客openid
_selt.sdkParams.session_key = sdkLoginData.data.session_key || '';
_selt.sdkParams.uniqueid = sdkLoginData.data.anonymous_openid;
_selt.sdkParams.type = 'bind'
}
const res = await _selt.sdkLogin();
if(res) return 0;
else return -1;
}
private _login(showLoginView: boolean): Promise<any> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
(tt as any).login({ (tt as any).login({
...@@ -381,9 +426,9 @@ class TTSDK { ...@@ -381,9 +426,9 @@ class TTSDK {
resolve(res); resolve(res);
}, },
fail: (res) => { fail: (res) => {
resolve(res); resolve(-1);
}, },
force: false // 不强制调起登录框 force: showLoginView // 不强制调起登录框
}); });
} catch (err) { } } catch (err) { }
}); });
...@@ -465,12 +510,12 @@ class TTSDK { ...@@ -465,12 +510,12 @@ class TTSDK {
this.GameRecorder = (tt as any).getGameRecorderManager(); this.GameRecorder = (tt as any).getGameRecorderManager();
this.GameRecorder.onStart(res => { this.GameRecorder.onStart(res => {
console.log("$$开始录屏::麦克风状态", res); console.log("$$开始录屏::麦克风状态", res);
if(startEventCallBack) startEventCallBack(); if (startEventCallBack) startEventCallBack();
}); });
this.GameRecorder.onStop(res => { this.GameRecorder.onStop(res => {
console.log("$$结束录屏::视频路径", res); console.log("$$结束录屏::视频路径", res);
if (res) _self.videoPath = res.videoPath; if (res) _self.videoPath = res.videoPath;
if(stopEventCallBack) stopEventCallBack(); if (stopEventCallBack) stopEventCallBack();
}) })
} catch (err) { } catch (err) {
console.log("$$SDK录屏异常::gameRecorder", err); console.log("$$SDK录屏异常::gameRecorder", err);
...@@ -731,7 +776,8 @@ class TTSDK { ...@@ -731,7 +776,8 @@ class TTSDK {
unionid: '', // 用户Unionid,用于切支付 unionid: '', // 用户Unionid,用于切支付
pay_channel: '', // 支付方式,初始化接口返回 pay_channel: '', // 支付方式,初始化接口返回
client_type: 'toutiao_minigame', // 客户端类型 client_type: 'toutiao_minigame', // 客户端类型
session_key: '' // 用户session_key session_key: '', // 用户session_key
type: '' // 登录类型
} }
} }
// SDK后端接口(勿改) // SDK后端接口(勿改)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论