提交 9af99f49 作者: 王进

更新百度SDK

上级 7c99e386
......@@ -3,51 +3,68 @@
* @author 推广技术部
* @time: 2018-09-19
*/
class WechatSDK {
private sdkVersion: string = '1.0';
class SwanSDK {
private sdkVersion: string = '1.5'
public constructor() {
this.sdkInit();
this.timerInit();
}
private onlineTime: number = 0; // 在线时长(单位:分钟)
private timerInit() { // 用户在线时间
const _selt = this;
let loginTime = new Date().getTime(); // 登录时间
let offTime = (swan as any).getStorageSync('offlineTime'); // 离线前记录的时间点
let offlineTime = offTime ? ((loginTime - offTime) / (1000 * 60)).toFixed(2) : 0; // 离线时长(分钟)
if (offlineTime > 299) {
_selt.onlineTime = 0;
} else {
_selt.onlineTime = (swan as any).getStorageSync('onlineMinute') || 0;
}
setInterval(function () { // 每分钟记录一次
_selt.onlineTime++;
let curTime = new Date().getTime();
(swan as any).setStorageSync("onlineMinute", _selt.onlineTime);
(swan as any).setStorageSync("offlineTime", curTime);
}, 60000);
}
private async sdkInit() {
const _selt = this
_selt.ReportParams.productCode = _selt.sdkParams.product_code = SDKConfig.productCode
_selt.sdkParams.appid = SDKConfig.appid
_selt.sdkParams.version = _selt.sdkVersion
const options = _selt.getOptionsInfo() // 返回参数对象
_selt.ReportParams.from = options.from || 0
_selt.ReportParams.tag = options.tag || 0
_selt.ReportParams.fromOpenId = options.fromOpenId || ''
await _selt.getNetworkType()
await _selt.getSystemInfo()
console.log("@@SDK初始化结束", _selt.ReportParams)
const _selt = this;
_selt.ReportParams.productCode = _selt.sdkParams.product_code = bdSDKConfig.productCode;
_selt.sdkParams.appid = bdSDKConfig.appid;
_selt.sdkParams.version = _selt.sdkVersion;
const options = _selt.getOptionsInfo(); // 返回参数对象
_selt.ReportParams.from = options.from || 0;
_selt.ReportParams.tag = options.tag || 0;
_selt.ReportParams.fromOpenId = options.fromOpenId || '';
await _selt.getNetworkType();
await _selt.getSystemInfo();
console.log("@@SDK初始化结束", _selt.ReportParams);
}
public async Login() {
const _selt = this
const loginPromise = await _selt._login() // 微信登录换取code
const _selt = this;
const loginPromise = await _selt._login(); // 登录换取code
let loginPostData = _selt.deepCopy({}, _selt.sdkParams, { // 拼上appid和code
appid: SDKConfig.appid,
appid: bdSDKConfig.appid,
code: loginPromise.code
})
let sdkLoginData = await _selt.sdkRequest(Links.init, loginPostData).catch(err => {
_selt.Login()
})
let sdkLoginData = await _selt.sdkRequest(bdLinks.init, loginPostData).catch(err => {
_selt.Login();
});
if (sdkLoginData.code == 0) {
_selt.ReportParams.openId = _selt.sdkParams.open_id = _selt.sdkParams.uniqueid = sdkLoginData.data.openid
_selt.sdkParams.session_key = sdkLoginData.data.session_key
_selt.ReportParams.openId = _selt.sdkParams.open_id = _selt.sdkParams.uniqueid = sdkLoginData.data.openid;
_selt.sdkParams.session_key = sdkLoginData.data.session_key;
}
return _selt.sdkActive()
return _selt.sdkActive();
}
private getAuthorize // 根据渠道判断是否开启用户授权
// SDK激活
private async sdkActive() {
const _selt = this
console.log("@@SDK激活", _selt.sdkParams)
let sdkActData = await _selt.sdkRequest(Links.active, this.sdkParams).catch(err => {
let sdkActData = await _selt.sdkRequest(bdLinks.active, this.sdkParams).catch(err => {
console.log("@@SDK激活异常:", err)
_selt.sdkAlert("@@SDK激活异常:" + err)
});
_selt.sdkParams.pay_channel = sdkActData.data.default_pay_channel;
_selt.getAuthorize = sdkActData.data.weixin_from;
_selt.sdkParams.pay_channel = sdkActData.data.default_pay_channel || '';
_selt.ActiReport(); // 上报激活
return _selt.sdkLogin();
}
......@@ -55,9 +72,8 @@ class WechatSDK {
const _selt = this
// 获取用户信息
_selt.sdkParams.token = '' // 强制清空登录toekn
let sdkLoginData = await _selt.sdkRequest(Links.login, _selt.sdkParams).catch(err => {
console.log("@@SDK登陆异常:", err)
_selt.sdkAlert("@@SDK登陆异常:" + err)
let sdkLoginData = await _selt.sdkRequest(bdLinks.login, _selt.sdkParams).catch(err => {
console.log("@@SDK登陆异常:", err);
});
if (sdkLoginData.code == 0) {
// 根据SDK返回用户状态来判断用户是否注册
......@@ -71,172 +87,96 @@ class WechatSDK {
return LoginCallBack
}
}
public async payOrderStatus(Params) {
let payResult = await this.payOrder(Params, false);
return payResult;
}
// SDK支付接口
public payOrder(Params) {
const _selt = this
_selt.MidasPaymentParams.offerId = SDKConfig.offerid
public async payOrder(Params, showSDKAlert = true) {
let _selt = this;
_selt.LoadingOn();
// 支付前先获取用户订单状态,如果没有未完成订单则继续支付
_selt.sdkRequest(Links.order, _selt.deepCopy({}, _selt.sdkParams, Params)).then(res => {
console.log("@@订单返回---->", res)
if (res.code == 0) {
if (res.data.weixin_mini_program_app_id) { // 跳小程序支付
const postParams = _selt.deepCopy({}, _selt.sdkParams, Params, {
weixin_mini_program_app_id: res.data.weixin_mini_program_app_id, // 跳转小程序的appid,获取新openid用
sub_product_code: res.data.sub_product_code, // 跳转小程序的productcode
pay_channel: res.data.pay_channel, // 支付方式改变
productKey: SDKConfig.productKey
}) // 合并后附上签名参数
const params = { // 跳转参数
appId: res.data.weixin_mini_program_app_id, // 跳转的小程序appid
path: '', // 跳转到首页
envVersion: SDKConfig.navPayEnv, //跳转方式
extraData: postParams,
success: () => { console.log("跳转成功") },
fail: () => { console.log("跳转失败") }
}
_selt.navigateToMiniProgram(params)
} else {
// 根据返回的用户订单状态判断是新订单还是未完成订单
if (res.data.order_type == 1) { // 新订单
_selt.MidasPaymentParams.buyQuantity = <number>(Params.money / 100) * <number>res.data.weixin_proportion // 充值金额
console.log("@@SDK -> 发起支付参数:", _selt.MidasPaymentParams);
// 调微信米大师支付接口
(wx as any).requestMidasPayment(_selt.deepCopy({}, _selt.MidasPaymentParams, {
success: function (data) {
console.log("@@SDK -> 支付成功:", data)
_selt.getCoins(_selt.deepCopy({}, _selt.sdkParams, { order_num: res.data.order_num }))
},
fail: function (err) {
// console.log("SDK -> 支付失败:", err);
var msg = '';
switch (err.errCode) {
case -1:
msg = '系统失败';
break;
case -2:
msg = '支付取消';
break;
case -15001:
msg = '缺少参数';
break;
case -15002:
msg = '参数不合法';
break;
case -15003:
msg = '订单重复';
break;
case -15004:
msg = '后台错误';
break;
case -15006:
msg = '货币类型不支持';
break;
case -15007:
msg = '订单已支付';
break;
case 1:
msg = '用户取消支付';
break;
case 3:
msg = 'Android 独有错误:用户使用 Google Play 支付,而手机未安装 Google Play';
break;
case 4:
msg = '用户操作系统支付状态异常';
break;
}
_selt.sdkAlert(msg);
}
}));
} else { // 已有未完成订单,弹窗提示
const params = {
title: SDKConfig.shareTitle,
content: '订单发货中,请稍候下单..'
}
_selt.showModal(params);
}
}
} else if (res.code == 3023) {
const params = {
title: '支付提示',
content: '受苹果政策影响,IOS暂未开放充值,目前可前往安卓系统上充值'
}
_selt.showModal(params)
} else { // 输出订单失败消息
const errmsg = res.msg || '支付失败..'
_selt.sdkAlert(errmsg)
}
let res = await _selt.sdkRequest(bdLinks.order, _selt.deepCopy({}, _selt.sdkParams, Params)).catch(err => {
_selt.LoadingOff();
}, err => {
_selt.LoadingOff();
console.log(err)
})
console.log("@@SDK异常::payOrder", err);
});
console.log("@@订单返回---->", res);
_selt.LoadingOff();
if (res.code == 0) {
// 调微信米大师支付接口
return new Promise((resolve, reject) => {
(swan as any).requestPolymerPayment({
orderInfo: res.data.orderInfo,
bannedChannels: res.data.bannedChannels,
success: async function (data) {
console.log("@@SDK -> 支付成功:", data);
let coinsResult = await _selt.getCoins(_selt.deepCopy({}, _selt.sdkParams, { order_num: res.data.order_num }));
if (coinsResult.code == 0) resolve(200);
else resolve(0);
},
fail: function (err) {
var msg = err.errMsg || '支付失败...';
if (showSDKAlert) _selt.sdkAlert(msg);
resolve(err);
}
});
});
} else if (res.code == 3023) {
if (showSDKAlert) _selt.sdkAlert(res.msg);
return 3023;
} else { // 输出订单失败消息
const errmsg = res.msg || '支付失败..'
if (showSDKAlert) _selt.sdkAlert(errmsg);
return 0;
}
}
private getCoins(orderParams) { // 通知服务端扣费
private async getCoins(orderParams) { // 通知服务端扣费
console.log("@@SDK通知扣费", orderParams)
this.sdkRequest(Links.pay, orderParams).then(res => {
console.log("@@SDK -> 扣费成功:")
})
let coinsResult = await this.sdkRequest(bdLinks.pay, orderParams).catch(err => {
console.log("@@SDK异常::getCoins", err);
});
return coinsResult;
}
public async getUserPaymentType(roleInfo) { // 是否支持切支付
public async checkUserPhoneBind() { // 查询用户绑定状态
const _selt = this;
const postData = _selt.deepCopy({}, _selt.sdkParams, roleInfo);
let payType = await _selt.sdkRequest(Links.payType, postData);
return (payType.code === 0);
let postData = _selt.deepCopy({}, _selt.sdkParams, { uid: _selt.ReportParams.userId });
let bindType = await _selt.sdkRequest(bdLinks.bindPhone, postData);
return (bindType.code == 0);
}
public async phoneCode(phoneInfo) {
public async phoneCode(phoneInfo, callback) {
const _selt = this;
let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo);
postData.type = 'SDK.BIND_MOBILE'; // 小程序专属短信类型
// 发送验证码接口
let res = await this.sdkRequest(Links.sendCode, postData).catch(err => {
let res = await this.sdkRequest(bdLinks.sendCode, postData).catch(err => {
console.log("@@SDK::验证码发送失败", err);
_selt.sdkAlert("发送失败,请重试..");
});
if (res.code != 0) _selt.sdkAlert(res.msg);
if (res.code == 0) {
callback(true);
} else {
callback(false);
}
}
public async userPhone(phoneInfo, callback) {
const _selt = this;
let postData = this.deepCopy({}, _selt.sdkParams, phoneInfo);
postData.source = 'WEIXIN'; // 用户平台来源
postData.source = 'BAIDU'; // 用户平台来源
//保存用户手机信息
let res = await this.sdkRequest(Links.saveNum, postData).catch(err => {
let res = await this.sdkRequest(bdLinks.saveNum, postData).catch(err => {
console.log("@@SDK::保存手机失败", err);
});
if (res.code == 0) {
console.log("绑定成功...");
callback(true);
} else {
console.log("@@绑定失败::", res.msg);
callback(false);
}
}
public async checkUserAdvised() { // 防沉迷验证
public checkUserAdvised() { // 防沉迷验证
const _selt = this;
// const postData: Object = {};
// let time = await _selt.sdkRequest(Links.playTime, postData);
let time = 80000;
return new Promise((resolve, reject) => {
(swan as any).checkIsUserAdvisedToRest({
todayPlayedTime: time,
success: function (res) {
resolve(res.result);
},
fail: function (res) {
reject(res);
},
})
});
}
// 米大师支付参数
private MidasPaymentParams = {
mode: 'game', // 支付的类型
env: SDKConfig.midasPayEnv, // 米大师环境
offerId: null, // 在米大师侧申请的应用id
currencyType: 'CNY', // 币种
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)
zoneId: '1', // 分区ID,默认1
let time = _selt.onlineTime * 60; // 转成成秒
return time;
}
//把字符串转换成json
private toJson(str: string) {
......@@ -248,6 +188,18 @@ class WechatSDK {
}
return json
}
public async exitApp() {
return new Promise((resolve, reject) => {
(swan as any).exit({
success: function(res) {
resolve(1);
},
fail: function(err) {
resolve(0);
}
});
});
}
//接口签名,直接返回完整对象
private md5_sign(obj) {
obj.time = Date.parse(new Date().toString()) // 获取请求的时间戳秒
......@@ -256,7 +208,7 @@ class WechatSDK {
for (let i = 0; i < keys.length; i++) {
if (keys[i] != 'sign') key_url += keys[i] + '=' + obj[keys[i]] + '&'
}
key_url = key_url + SDKConfig.productKey
key_url = key_url + bdSDKConfig.productKey
obj.sign = md5(key_url)
return obj
}
......@@ -324,11 +276,10 @@ class WechatSDK {
return target
}
// 获取启动参数
public getOptionsInfo(all?) {
public getOptionsInfo() {
const _selt = this
const options = (swan as any).getLaunchOptionsSync()
console.log("@@启动参数--->", options)
if (all) return options
const options = (swan as any).getLaunchOptionsSync();
console.log("@@启动参数--->", options);
if (options.query && Object.keys(options.query).length > 0) {
if (options.query.scene && options.query.scene != '') { // 扫码参数
const scene = _selt.toJson(decodeURIComponent(options.query.scene))
......@@ -341,7 +292,7 @@ class WechatSDK {
}
}
public getLaunchOptions() {
return (swan as any).getLaunchOptionsSync()
return (swan as any).getLaunchOptionsSync();
}
private async getNetworkType() {
const _selt = this
......@@ -390,26 +341,11 @@ class WechatSDK {
} catch (err) { }
});
}
// 退出小游戏
public async exitApp(): Promise<any> {
return new Promise((resolve, reject) => {
(wx as any).exitMiniProgram({
success: (res) => {
console.log('退出成功')
resolve(res)
},
fail: (res) => {
console.log('退出失败')
reject(res)
}
})
})
}
// SDK上报接口
private sdkRequest(link: string, portData) {
private sdkRequest(link: string, portData, method?) {
this.md5_sign(portData) // 附上签名参数
console.log("##SDK激活上报参数", portData)
return this.request(link, portData)
return this.request(link, portData, method)
}
// 上报激活
public ActiReport() {
......@@ -425,13 +361,15 @@ class WechatSDK {
}
// 数据上报接口,外部调用,参数中必须含有action值
public ReportData(portData) {
const that = this
portData = that.deepCopy({}, that.ReportParams, portData)
const that = this;
portData = that.deepCopy({}, that.ReportParams, portData);
portData.time = Date.parse(new Date().toString()) // 获取当前时间戳秒
console.log("##SDK统计上报参数", portData)
this.request(SDKConfig.report, portData, 'POST')
console.log("##SDK统计上报参数", portData);
this.request(bdSDKConfig.report, portData, 'POST').catch(err => {
console.log("##SDK统计上报异常", err);
});
}
// 调用微信请求接口
// 调用请求接口
private request(URI: string, Params: any, Method = 'GET') {
return this.fetchUri(URI, Params, Method).then(res => res.data)
}
......@@ -443,7 +381,8 @@ class WechatSDK {
method: METHOD,
data: DATA,
header: {
'Content-Type': 'json'
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
},
success: resolve,
fail: reject
......@@ -455,29 +394,11 @@ class WechatSDK {
}
// 消息提示框
public sdkAlert(str) {
this.showMsg(str)
}
private showMsg(str) {
(swan as any).showToast({
title: str,
icon: 'none',
duration: 3000
})
}
// 客服
public Customer() {
try {
(wx as any).openCustomerServiceConversation({})
} catch (err) {
console.log("访问客服异常-->", err)
}
}
private navigateToMiniProgram(params) {
if (this.ReportParams.SDKVersion < '2.2') {
this.sdkAlert('微信版本不兼容,请升级..')
} else {
(wx as any).navigateToMiniProgram(params)
}
});
}
private LoadingOn() {
(swan as any).showLoading({
......@@ -488,107 +409,44 @@ class WechatSDK {
private LoadingOff() {
(swan as any).hideLoading()
}
private showModal(DATA) {
(wx as any).showModal(this.deepCopy({}, DATA, {
cancelText: '取消',
confirmText: '确认'
}))
}
// 定义wechat方法
public async getUserInfo(): Promise<any> {
const _selt = this
return new Promise(async function (resolve, reject) {
let status = await _selt._getSetting();
console.log("@@SDK用户授权状态", status)
switch (status) {
case 1:
try {
// 用户已授权,可以直接调用相关 API
let userInfo = await _selt._getUserInfo();
if (status == 0) {
(swan as any).authorize({ // 拉起授权
scope: 'scope.userInfo',
success: async function (res) {
let userInfo = await _selt._getUserInfo().catch(err => {
console.log("$$SDK授权失败", err);
});
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
nickName: encodeURI(userInfo.nickName)
}))
}));
resolve(userInfo);
} catch (err) {
let userBtn = _selt.createUserInfoButton();
userBtn.onTap(
function (res) {
if (res.userInfo) {
//上报授权
userBtn.offTap(this);
userBtn.destroy();
userBtn = null;
var userInfo = res["userInfo"];
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
nickName: encodeURI(userInfo.nickName)
}))
resolve(userInfo);
}
}
);
},
fail: function (err) {
resolve(-1); // 用户取消授权
}
break;
case 0:
// 用户已拒绝授权,再调用相关 API 或者 wx.authorize 会失败,需要引导用户到设置页面打开授权开关
var w = (swan as any).getSystemInfoSync().windowWidth;
var h = (swan as any).getSystemInfoSync().windowHeight;
var OpenSettingButton = (swan as any).createOpenSettingButton({
type: "text",
text: "",
style: {
left: 0,
top: 0,
width: w,
height: h
}
});
OpenSettingButton.onTap(async function (res) {
let t_status = await _selt._getSetting();
console.log("@@SDK:点击设置按钮返回t_status=", t_status);
if (t_status == 1) {
OpenSettingButton.offTap(this);
OpenSettingButton.destroy();
OpenSettingButton = null;
var userInfo = await _selt._getUserInfo();
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
nickName: encodeURI(userInfo.nickName)
}))
resolve(userInfo);
}
});
break;
case -1:
let userBtn = _selt.createUserInfoButton();
userBtn.onTap(
function (res) {
if (res.userInfo) {
//上报授权
userBtn.offTap(this);
userBtn.destroy();
userBtn = null;
var userInfo = res["userInfo"];
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
nickName: encodeURI(userInfo.nickName)
}))
resolve(userInfo);
}
}
);
break;
});
} else {
// 用户已授权,可以直接调用相关 API
let userInfo = await _selt._getUserInfo();
// 上报用户授权
_selt.ReportData(_selt.deepCopy({}, userInfo, {
action: 'authorize',
nickName: encodeURI(userInfo.nickName)
}));
resolve(userInfo);
}
})
}
private createUserInfoButton() {
const _selt = this;
// 未询问过用户授权,调用相关 API 或者 wx.authorize 会弹窗询问用户
// 未询问过用户授权,调用相关 API 或者 swan.authorize 会弹窗询问用户
var w = (swan as any).getSystemInfoSync().windowWidth;
var h = (swan as any).getSystemInfoSync().windowHeight;
let userBtn = (swan as any).createUserInfoButton({
......@@ -671,13 +529,10 @@ class WechatSDK {
(swan as any).shareAppMessage(_selt.deepCopy(DATA, {
withShareTicket: true,
success: res => {
resolve(1)
resolve(1);
},
fail: res => {
resolve(-1)
},
complete() {
resolve(0);
resolve(-1);
}
}))
setTimeout(function () { // 两秒后直接当分享成功返回,避免回调取消引起await问题
......@@ -698,13 +553,13 @@ class WechatSDK {
})
}
// 分享
public addShareEvent(shareInfo: shareInfo, callback?) {
public addShareEvent(shareInfo: bfshareInfo, callback?) {
const that = this;
(swan as any).onShareAppMessage(() => {
if (callback) callback();
const ShareParams = {
title: shareInfo.title ? shareInfo.title : SDKConfig.shareTitle,
imageUrl: shareInfo.image ? shareInfo.image : SDKConfig.shareImageUrl,
title: shareInfo.title ? shareInfo.title : bdSDKConfig.shareTitle,
imageUrl: shareInfo.image ? shareInfo.image : bdSDKConfig.shareImageUrl,
query: 'fromOpenId=' + that.ReportParams.openId + '&from=share&tag=0&' + (shareInfo.query ? shareInfo.query : ''),
withShareTicket: true,
success: shareInfo.success,
......@@ -713,14 +568,14 @@ class WechatSDK {
};
return ShareParams
})
that.shareInit()
that.shareInit();
}
public ShareApp(params?: string) {
const that = this
// 参数,记录分享的用户openid
const ShareParams = {
title: SDKConfig.shareTitle,
imageUrl: SDKConfig.shareImageUrl,
title: bdSDKConfig.shareTitle,
imageUrl: bdSDKConfig.shareImageUrl,
query: 'fromOpenId=' + that.ReportParams.openId + '&from=share&tag=0&' + (params ? params : '')
}
return this.share(ShareParams)
......@@ -740,48 +595,48 @@ class WechatSDK {
language: null, // 选填,微信设置的语言,微信api获取
version: null, // 选填,微信版本号,微信api获取
SDKVersion: null, // 选填,微信客户端基础库版本
appVersion: null, // 选填,产品版本号,配置文件配置
screenWidth: null, // 选填,屏幕宽度,微信api获取
screenHeight: null, // 选填,屏幕高度,微信api获取
appVersion: bdSDKConfig.appVersion, // 选填,产品版本号,配置文件配置
screenWidth: null, // 选填,屏幕宽度,微信api获取
screenHeight: null, // 选填,屏幕高度,微信api获取
time: null // 必填,请求的时间戳(秒)
}
// SDK上报参数
private sdkParams = {
product_code: null, // 产品code
appid: null, // 小游戏appid
time: null, // 当前时间戳秒
product_code: "", // 产品code
appid: "", // 小游戏appid
time: "", // 当前时间戳秒
uniqueid: '', // 设备唯一号
mac: '', // 网卡mac地址
idfa: '', // 苹果设备IDFA
open_id: null, // 用户openid
password: '', // 登录密码(微信免密)
source: 'WEIXIN', // 用户来源
open_id: "", // 用户openid
password: '', // 登录密码(免密)
source: 'BAIDU', // 用户来源
token: '', // 登录成功返回
os: 'H5', // 系统类型
equipmentos: null, // 系统版本
equipmentname: null, // 手机型号
version: null, // SDK版本
equipmentos: "", // 系统版本
equipmentname: "", // 手机型号
version: "", // SDK版本
package_code: '', // 渠道标识
sign: null, // 签名
sign: "", // 签名
unionid: '', // 用户Unionid,用于切支付
pay_channel: '', // 支付方式,初始化接口返回
client_type: 'weixin_minigame', // 客户端类型
client_type: 'baidu_minigame', // 客户端类型
session_key: '' // 用户session_key
}
}
// SDK后端接口(勿改)
const Links = {
init: SDKConfig.sdk_domain + '/weixin/access_token.php', // 获取openid
active: SDKConfig.sdk_domain + '/appInit.php', // SDK初始化接口
login: SDKConfig.sdk_domain + '/login.php', // SDK登录接口,获取用户平台信息
order: SDKConfig.pay_domain + '/pay.php', //订单接口
pay: SDKConfig.pay_domain + '/notify/midas/pay.php', //扣费接口
payType: SDKConfig.pay_domain + '/pay_channel/status.php', // 查询支付状态
sendCode: SDKConfig.sdk_domain + '/sms/send.php', // 发送验证
saveNum: SDKConfig.sdk_domain + '/bind/mobile.php', // 保存手机号码
playTime: SDKConfig.sdk_domain + '' // 获取用户在线时长
const bdLinks = {
init: bdSDKConfig.sdk_domain + '/v2/baidu/code2accessToken', // 获取openid
active: bdSDKConfig.sdk_domain + '/appInit.php', // SDK初始化接口
login: bdSDKConfig.sdk_domain + '/login.php', // SDK登录接口,获取用户平台信息
order: bdSDKConfig.pay_domain + '/pay.php', //订单接口
pay: bdSDKConfig.pay_domain + '/notify/midas/pay.php', //扣费接口
sendCode: bdSDKConfig.sdk_domain + '/sms/send.php', // 发送验证码
saveNum: bdSDKConfig.sdk_domain + '/bind/mobile.php', // 保存手机号
playTime: bdSDKConfig.sdk_domain + '', // 获取用户在线时长
bindPhone: bdSDKConfig.sdk_domain + '/bind/is_bind_mobile.php', // 用户手机绑定状态
}
class shareInfo {
class bfshareInfo {
title?: string
image?: string
query?: string
......
const SDKConfig = {
const bdSDKConfig = {
// 配置项目参数
sdk_domain: 'https://account.jinsdk.com', // SDK上报的接口域名
sdk_domain: 'https://account.pthc8.com', // SDK上报的接口域名
pay_domain: 'https://pay.jinsdk.com', // 支付接口域名
pay_domain: 'https://pay.pthc8.com', // 支付接口域名
report: 'https://s.jinsdk.com/weixinmp/api.php', // 数据上报接口域名
report: 'https://s.pthc8.com/xyx/baidu/api.php', // 数据上报接口域名
appid: "wx953104af9b9484c8", // 换openid
appid: "14833581", // 换openid
appName: "推广部测试应用", // 应用名称
productCode: "bae1e6462676d2e41991e7589fe12979", // 产品code
productCode: "8ccdae27ceaf32736663198f31547b64", // 产品code
productKey: "8b4dd1cf4e5b8f100c44d427953f9892", // 产品key,用于生成签名
productKey: "dc7c83c87db860e3757269963c9fa2a0", // 产品key,用于生成签名
appVersion: "产品版本号(cp)", // 产品版本号
offerid: "1450018223", // 支付
midasPayEnv: '1', // 米大师支付环境 0:正式环境, 1:沙盒模式
navPayEnv: 'trial', //切支付跳转方式 体验版:trial 开发版:develop 正式版:release
payEnv: '0', // 米大师支付环境 0:正式环境, 1:沙盒模式
shareTitle: "鲸鱼推广部", // 分享标题
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论