123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 |
- const asdkUrl = "https://h5sdk.szzyqw.com"
- let a_params = ''
- let interval = ''
- let a_gameid = "666666100216"//游戏ID,我方分配
- let a_gamekey = "9f9dcda16864e268"//游戏KEY,我方分配
- let a_pub = "oppominih5sdk_cnlccxx_001"//游戏PUB,我方分配
- let a_appid = "32932575"
- let c_cpid = ""
- let iscreate = 0
- let cdate = ''
- let isone = 0
- let isend = 0
- function asdkRequestPsot(url, data) {
- return new Promise((resolve, reject) => {
- var xhr = new XMLHttpRequest();
- xhr.open('POST', asdkUrl+url);
- xhr.setRequestHeader('Accept', 'application/json');
- xhr.setRequestHeader('charset', 'UTF-8');
- xhr.onreadystatechange = function () {
- if (xhr.status === 200) {
- // 获取服务器返回的数据后调用文档的发起支付接口
- console.log('接口返回: ' + JSON.stringify(xhr.response));
- var a_res = JSON.parse(xhr.response);
- resolve(a_res)
- }
- else {
- let a_res = {'code':-1,'msg':'error'}
- resolve(a_res)
- }
- };
- xhr.send(JSON.stringify(data));
- });
- }
- // 初始化
- function asdkInit(callback) {
- qg.hasShortcutInstalled({
- success: function(status) {
- if(status) {
- iscreate = 1
- console.log('已创建')
- }else{
- iscreate = 0
- console.log('未创建')
- }
- }
- })
- var result = localStorage.getItem("keysdK")
- if(result!=""&&result!=null&&result!="null"){
- isone = JSON.parse(result).isone
- isend = JSON.parse(result).isend
- cdate = JSON.parse(result).cdate
- }
-
- if(iscreate==0){
- if(cdate==""){
- cdate = getDate()
- localStorage.setItem("keysdK", '{"isone":1,"isend":0,"cdate":"'+cdate+'"}')
- createIcon(0)
- }else{
- if(getDate()==cdate){//缓存时间一致
- if(isone==0){
- localStorage.setItem("keysdK", '{"isone":1,"isend":'+isend+',"cdate":"'+cdate+'"}')
- createIcon(0)
- }
- }else{
- cdate = getDate()
- localStorage.setItem("keysdK", '{"isone":1,"isend":'+isend+',"cdate":"'+cdate+'"}')
- createIcon(0)
- }
- }
- }
- let url = '/mini/datatrans.php?action=mini_init';
- let data = {
- "a_gameid": a_gameid,
- "a_gamekey": a_gamekey,
- "a_pub": a_pub,
- "a_appid": a_appid,
- "c_cpid": c_cpid,
- }
- asdkRequestPsot(url, data).then(a_res => {
- callback(a_res);
- })
- }
- // 登录
- function asdkLogin(callback) {
- login().then(res => {//每次都重新登录
- callback(res)
- })
- }
- function login(){
- return new Promise((resolve, reject) => {
- if (qg.getSystemInfoSync().platformVersionCode >= 1040) {
- qg.login({
- success: function(res) {
- let url = '/othersdkdatatrans.php?sdkabbr=oppominih5sdk&a_pub='+a_pub+'&a_gameid='+a_gameid+'&a_gamekey='+a_gamekey;
- let data = {
- "a_gameid": a_gameid,
- "a_gamekey": a_gamekey,
- "a_pub": a_pub,
- "a_appid": a_appid,
- "c_cpid": c_cpid,
- "account": res.uid,
- "session": res.token
- }
- asdkRequestPsot(url, data).then(a_res => {
- if (a_res.code == 0) {
- a_params = {
- "a_accountid": a_res.data.account.accountid,
- "a_sessionid": a_res.data.account.sessionid,
- "a_openid": a_res.data.account.extdata1,
- "a_token": res.token,
- }
- }
- resolve(a_res)
- })
- },
- fail: function(res){
- console.log('获取用户信息失败' + JSON.stringify(res));
- let data = {'code':-1,'msg':'获取用户信息失败' + JSON.stringify(res)}
- resolve(data)
- }
- })
- }else{
- console.log('版本不符合,请更新');
- let data = {'code':-1,'msg':'版本不符合,请更新'}
- resolve(data)
- }
- })
- }
- function asdkSendRole(roleInfo,callback) {
- let url = '/datatrans.php?action=mini_uploadinfo';
- let data = {
- "a_gameid": a_gameid,
- "a_gamekey": a_gamekey,
- "a_pub": a_pub,
- "a_sessionid": a_params.a_sessionid,
- "a_accountid": a_params.a_accountid,
- "playerid": roleInfo.playerid,
- "playername": roleInfo.playername,
- "playerlevel": roleInfo.playerlevel,
- "serverid": roleInfo.serverid,
- "servername": roleInfo.servername
- }
- asdkRequestPsot(url, data).then(res => {
- callback(res)
- })
- }
- // 支付
- function asdkPay(payOrder, payCallback) {
- //查询支付列表
- let url = '/datatrans.php?action=generatepayorder'
- let data = {
- "callbackurl": payOrder.callbackurl,
- "paymoney": payOrder.paymoney*100,
- "custominfo": payOrder.custominfo,
- "customorderid": payOrder.customorderid,
- "productdesc": payOrder.productdesc,
- "productfeecode": payOrder.productfeecode,
- "appid":a_appid,
- "openid":a_params.a_token,
- "engineVersion":qg.getSystemInfoSync().platformVersionCode,
- }
- payOrder.a_gameid = a_gameid;
- payOrder.a_gamekey = a_gamekey;
- payOrder.a_pub = a_pub;
- payOrder.a_sessionid = a_params.a_sessionid;
- payOrder.a_accountid = a_params.a_accountid;
- payOrder.extdata = JSON.stringify(data);
- asdkRequestPsot(url, payOrder).then(a_res => {
- if (a_res.code == 0) {
- qg.pay({
- appId:a_appid,
- token: a_params.a_token,
- timestamp: a_res.data.extdata1,
- paySign: a_res.data.extdata2,
- orderNo:a_res.data.extdata3,
- success: function(res){
- console.log("支付成功")
- payCallback(ret)
- },
- fail: function(res){
- console.log("支付失败")
- payCallback(ret)
- }
- });
- }else{
- console.log("支付失败")
- payCallback({'code':-1,'msg':a_res.msg})
- }
- })
- }
- function asdkQuit(){
- console.log('oppo系统退出无效')
- var result = localStorage.getItem("keysdK")
- if(result!=""&&result!=null&&result!="null"){
- isone = JSON.parse(result).isone
- isend = JSON.parse(result).isend
- cdate = JSON.parse(result).cdate
- }
- if(iscreate==0){
- if(getDate()==cdate){//缓存时间一致
- if(isend==0){
- localStorage.setItem("keysdK", '{"isone":'+isone+',"isend":1,"cdate":"'+cdate+'"}')
- createIcon(1)
- }else{
- qg.exitApplication()
- }
- }else{
- cdate = getDate()
- localStorage.setItem("keysdK", '{"isone":'+isone+',"isend":1,"cdate":"'+cdate+'"}')
- createIcon(1)
- }
- }else{
- qg.exitApplication()
- }
- }
- function asdkCreateIcon(payCallback){
- qg.installShortcut({
- success: function() {
- iscreate = 1
- let data = {'code':0,'msg':'创建icon成功'}
- payCallback(data)
- },
- fail:function(){
- let data = {'code':-1,'msg':'创建icon失败'}
- payCallback(data)
- },
- })
- }
- function getDate(){
- var date = new Date()
- var year = date.getFullYear()
- var month = date.getMonth() + 1
- var strDate = date.getDate()
- return year+""+month+""+strDate
- }
- function createIcon(type){
- qg.installShortcut({
- success: function() {
- iscreate = 1
- console.log('创建icon成功')
- if(type==1)
- qg.exitApplication()
- },
- fail:function(){
- if(type==1)
- qg.exitApplication()
- }
- })
- }
- function asdkRewardedAd(payOrder, payCallback){
- try {
- console.log("创建OPPO激励视频广告")
- this.videoAd = window['qg'].createRewardedVideoAd({
- adUnitId: payOrder
- });
- this.videoAd.load()
- this.videoAd.onLoad(() => {
- this.videoAd.show();
- })
- this.videoAd.onError(err => {
- console.log('onError:' + JSON.stringify(err));
- let data = {'code':-1,'msg':'激励视频广告加载失败:'+JSON.stringify(err)}
- payCallback(data)
- })
- this.videoAd.onClose((res) => {
- if (res == undefined) {
- //看完广告,给奖励
- console.log("正常播放结束,可以下发游戏奖励")
- let data = {'code':0,'msg':'播放成功'}
- payCallback(data)
- } else {
- // 用户点击了【关闭广告】按钮
- console.log('==> oppoRewardVideoAd onClose', res)
- if (res.isEnded) {
- //看完广告,给奖励
- console.log("正常播放结束,可以下发游戏奖励");
- let data = {'code':0,'msg':'播放成功'}
- payCallback(data)
- } else {
- console.log("播放中途退出,不下发游戏奖励");
- let data = {'code':1,'msg':'播放失败,不提供奖励'}
- payCallback(data)
- }
- }
- });
- } catch (error) {
- let data = {'code':-1,'msg':'激励视频广告加载失败:'+JSON.stringify(error)}
- payCallback(data)
- }
- }
- qg.asdk = {
- asdkInit,
- asdkLogin,
- asdkSendRole,
- asdkPay,
- asdkQuit,
- asdkCreateIcon,
- asdkRewardedAd,
- }
|