提交 185f7e35 作者: 王进

支付返回对象增加msg字段,返回支付信息

上级 6bf5b6cf
......@@ -177,7 +177,7 @@ class WechatSDK {
complete: () => { _selt.LoadingOff(); }
}
_selt.navigateToMiniProgram(params);
return { order_code: 2 }; // 切支付状态
return { order_code: 2, msg: '' }; // 切支付状态
} else if (res.data.open_customer_service) { // 客服切支付
let order = {
sessionFrom: 'order_id=' + (res.data.order_num || '') + '&payload=' + (res.data.payload || ''),
......@@ -195,7 +195,7 @@ class WechatSDK {
}
}
_selt.showModal(params);
return { order_code: 2 };
return { order_code: 2, msg: '' };
} else {
// 根据返回的用户订单状态判断是新订单还是未完成订单
if (res.data.order_type == 1) { // 新订单
......@@ -208,14 +208,14 @@ class WechatSDK {
console.log("@@SDK -> 支付成功:", data);
let coinsResult = await _selt.getCoins(_selt.deepCopy({}, _selt.sdkParams, { order_num: res.data.order_num }));
if (coinsResult.code == 0 || coinsResult.code == 3012) {
resolve({ order_code: 200 });
resolve({ order_code: 200, msg: '' });
}
else {
resolve({ order_code: 0 });
resolve({ order_code: 0, msg: (coinsResult.msg || '') });
}
},
fail: function (err) {
var msg = '';
let msg = '支付异常';
switch (err.errCode) {
case -1:
msg = '系统失败';
......@@ -250,6 +250,12 @@ class WechatSDK {
case 4:
msg = '用户操作系统支付状态异常';
break;
case 1000:
msg = '参数错误';
break;
case 1003:
msg = '米大师Portal错误';
break;
}
if (showSDKAlert) {
const params = {
......@@ -259,7 +265,7 @@ class WechatSDK {
}
_selt.showModal(params);
}
resolve({ order_code: err.errCode });
resolve({ order_code: err.errCode, msg: msg });
}
}));
});
......@@ -267,7 +273,8 @@ class WechatSDK {
let payback = {
order_code: res.data.order_type,
order_num: res.data.order_num,
payload: res.data.payload
payload: res.data.payload,
msg: ''
}
return payback;
}
......@@ -285,7 +292,7 @@ class WechatSDK {
content: res.msg
}
if (res.dialog == 1) _selt.showModal(params);
return { order_code: 3023 };
return { order_code: 3023, msg: res.msg };
} else { // 输出订单失败消息
const errmsg = res.msg || '支付失败..'
if (showSDKAlert) {
......@@ -296,7 +303,7 @@ class WechatSDK {
}
_selt.showModal(params);
}
return { order_code: 0 };
return { order_code: 0, msg: errmsg };
}
}
private async getCoins(orderParams) { // 通知服务端扣费
......@@ -310,7 +317,7 @@ class WechatSDK {
const _selt = this;
const postData = _selt.deepCopy({}, _selt.sdkParams, roleInfo);
let payType = await _selt.sdkRequest(Links.payType, postData);
return (payType.code === 0);
return payType && (payType.code === 0);
}
public async checkUserPhoneBind() { // 查询用户绑定状态
const _selt = this;
......@@ -387,24 +394,24 @@ class WechatSDK {
return obj
}
private isArray(arr) {
var toStr = Object.prototype.toString;
let toStr = Object.prototype.toString;
if (typeof Array.isArray === 'function') {
return Array.isArray(arr);
}
return toStr.call(arr) === '[object Array]';
}
private isPlainObject(obj) {
var toStr = Object.prototype.toString;
var hasOwn = Object.prototype.hasOwnProperty;
let toStr = Object.prototype.toString;
let hasOwn = Object.prototype.hasOwnProperty;
if (!obj || toStr.call(obj) !== '[object Object]') {
return false;
}
var hasOwnConstructor = hasOwn.call(obj, 'constructor');
var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
let hasOwnConstructor = hasOwn.call(obj, 'constructor');
let hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
return false;
}
var key;
let key;
for (key in obj) { /**/ }
return typeof key === 'undefined' || hasOwn.call(obj, key);
}
......@@ -596,12 +603,12 @@ class WechatSDK {
}
// 上报等级
public RoleLevelReport(roleInfo) {
var reportData = this.deepCopy(roleInfo, { action: 'roleUpgrade' });
let reportData = this.deepCopy(roleInfo, { action: 'roleUpgrade' });
this.ReportData(reportData);
}
// 自定义上报
public CustomReport(custInfo) {
var reportData = this.deepCopy(custInfo, { action: 'customevent' });
let reportData = this.deepCopy(custInfo, { action: 'customevent' });
this.ReportData(reportData);
}
// 数据上报接口,外部调用,参数中必须含有action值
......@@ -726,7 +733,7 @@ class WechatSDK {
userBtn.offTap(this);
userBtn.destroy();
userBtn = null;
var userInfo = res["userInfo"];
let userInfo = res["userInfo"];
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
......@@ -740,9 +747,9 @@ class WechatSDK {
break;
case 0:
// 用户已拒绝授权,再调用相关 API 或者 wx.authorize 会失败,需要引导用户到设置页面打开授权开关
var w = (wx as any).getSystemInfoSync().windowWidth;
var h = (wx as any).getSystemInfoSync().windowHeight;
var OpenSettingButton = (wx as any).createOpenSettingButton({
let w = (wx as any).getSystemInfoSync().windowWidth;
let h = (wx as any).getSystemInfoSync().windowHeight;
let OpenSettingButton = (wx as any).createOpenSettingButton({
type: "text",
text: "",
style: {
......@@ -759,7 +766,7 @@ class WechatSDK {
OpenSettingButton.offTap(this);
OpenSettingButton.destroy();
OpenSettingButton = null;
var userInfo = await _selt._getUserInfo();
let userInfo = await _selt._getUserInfo();
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
......@@ -778,7 +785,7 @@ class WechatSDK {
userBtn.offTap(this);
userBtn.destroy();
userBtn = null;
var userInfo = res["userInfo"];
let userInfo = res["userInfo"];
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
......@@ -795,8 +802,8 @@ class WechatSDK {
private createUserInfoButton() {
const _selt = this;
// 未询问过用户授权,调用相关 API 或者 wx.authorize 会弹窗询问用户
var w = (wx as any).getSystemInfoSync().windowWidth;
var h = (wx as any).getSystemInfoSync().windowHeight;
let w = (wx as any).getSystemInfoSync().windowWidth;
let h = (wx as any).getSystemInfoSync().windowHeight;
let userBtn = (wx as any).createUserInfoButton({
type: "text",
text: "",
......@@ -815,7 +822,7 @@ class WechatSDK {
(wx as any).getUserInfo({
withCredentials: false,//获取用户信息,withCredentials 为 true 时需要先调用 wx.login 接口。需要用户授权 scope.userInfo。
success: (res) => {
var userInfo = res["userInfo"];
let userInfo = res["userInfo"];
resolve(userInfo);
},
fail: (res: any) => {
......@@ -832,7 +839,7 @@ class WechatSDK {
return new Promise(async function (resolve, reject) {
(wx as any).getSetting({
success: function (res) {
var authSetting = res.authSetting;
let authSetting = res.authSetting;
if (authSetting['scope.userInfo'] === true) {
resolve(1);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论