非法操作 login.php,閱文游戲中心 h5游戲接入wiki

閱文游戲中心《h5游戲 CP接口規范》

接口要求規范

游戲方接口說明:游戲方需按照規范提供,閱文進行調用

閱文接口說明:閱文提供,游戲方調用

參數 time 為Unix 時間戳(January 1 1970 00:00:00 GMT 起的秒數) ,單位為秒

編碼統一使用 UTF-8

接口請求方式為 GET

參數sign里的md5 加密要把md5后的字符串轉成小寫

key雙方協定或是一方處理完知會另一方

php中.號,java和c#中 +號代表字符串連接

接口標記為必接的接口是接入閱文平臺的最低標準,沒有達標無法上線,請悉

對接H5游戲必須先接入登錄接口,然后才能加載出游戲,請注意接口返回格式的正確寫法

時序圖

游戲登錄時序圖

85b52a236be8c74cc3a1e1a0cd2601c2.png

游戲充值時序圖

b56f9847760b33914d1002312a81b9ce.png

游戲方接口規范

查詢用戶接口(角色等級驗證)(可選)

URL?username=laodao789&serverid=1&timestamp=1232553600&flag=ed03c2ef6f711c117a94242a7aea50c3

參數說明:

名稱

類型

說明

范例

username

string

閱文集團用戶標識

qq83883

serverid

int

游戲區服id標識,所屬服務器

一區填寫1,二區填寫2,依此類推(可忽略的參數,區服以游戲內的區服為準)

timestamp

long

Unix時間戳(秒)

1495073622

flag

string

key是表示平臺和游戲雙方提前協商約定好的密鑰,請轉換為小寫字母

php MD5(serverid.username.timestamp.key) java或者C# MD5(serverid+username+timestamp+key)

以json格式返回查詢信息,格式如下:

{"ReturnCode":0,"ReturnMessage":"成功","ReturnData":{"userinfo":[{"name":"雷宏茂","server":1,"level":43},{"name":"雷公","server":1,"level":48},{"name":"雷嘉絲","server":1,"level":41},{"name":"雷瑋晴","server":1,"level":40}]}}`返回值

說明

ReturnCode

0成功 -1未創建角色 -2無法識別的服務器 -8網絡異常

ReturnMessage

提示信息

ReturnData

返回數據數組 name 角色名 server區服號 level等級

游戲登錄接口 (必接)

URL/login.php?username={登陸賬號}&serverid={游戲服標識}&timestamp={LINUX時間戳,單位為秒}&isadult={防沉迷標記}&clientid=122&flag={加密簽名}

請注意接口返回格式

參數說明:

名稱

類型

說明

范例

username

string

閱文集團用戶標識

qq99389

serverid

int

游戲區服id標識,所屬服務器

一區填寫1,二區填寫2,依此類推

timestamp

long

Unix時間戳(秒)

1495073622

isadult

int

玩家是否成年(1成年,0未成年,如果運營商不知道該用戶是否成年默認傳-1表示未知是否成年)

0

clientid

int

渠道編號

閱文為 1

flag

string

key是表示平臺和游戲雙方提前協商約定好的密鑰,請轉換為小寫字母

php md5($username.$serverid.$timestamp.$key.$clientid) java或者C# md5(username+serverid+timestamp+key+clientid)

以json格式返回信息,格式如下:

{"ReturnCode":0,"ReturnMessage":"\u6210\u529f","ReturnData":"https:\/\/slth.xxxx.net\/G\/egret.html?token=55435A47589ea20519509ed97e&appId=91284&channelId=18365&egret.runtime.spid=18365"}返回值

說明

ReturnCode

0成功

ReturnMessage

提示信息

ReturnData

返回登錄游戲url地址

充值游戲幣接口 (必接)

URL?username={賬號}&clientid={合作商編號}&serverid={游戲服}&orderid={閱文訂單號}&gorderid ={游戲訂單號}&itemid={道具id}&money={充值金額}&timestamp = LINUX時間戳,單位為秒}&flag={加密簽名}

注意:此接口中游戲方必須驗證訂單號與發貨金額的一致性, 防止非法操作對游戲收入影響

參數說明:

名稱

類型

說明

范例

username

string

閱文集團用戶標識

qq99389

clientid

int

渠道編號

比如閱文為 1

serverid

int

游戲區服id標識,所屬服務器

一區填寫1,二區填寫2,依此類推

orderid

string

閱文訂單號

AC403131801030814

gorderid

string

游戲方訂單號

不要有特殊符號,更不能有中文,長度不要超過50字符

money

float

充值金額 ,(單位)人民幣

66

itemid

int

游戲道具或者金幣等id

1 (如果未在運營同學處配置充值檔, 則不需要傳該字段)

timestamp

long

Unix時間戳(秒)

1495073622

flag

string

key是表示平臺和游戲雙方提前協商約定好的密鑰,請轉換為小寫字母

php md5($username.$serverid.$clientid.$orderid.$timestamp.$itemid.$money.$key) java或者C# md5(username+serverid+clientid+orderid+timestamp+itemid+money+key)

以json格式返回信息,格式如下:

{

"ReturnCode":0,

"ReturnMessage":"成功",

"ReturnData":""

}返回值

說明

ReturnCode

0成功 -1未創建角色 -2無法識別的充值服務器 -8網絡異常,1表示訂單重試成功后返回值(注:訂單重試請求成功后返回為1,狀態0和1我們作為成功處理的,掉單可重復請求)

ReturnMessage

提示信息

ReturnData

閱文 js 接口規范

js接口說明

由于存在不同域問題,因此需要采用跨域通信的方式和業務頁面保持通信。這里采用的方式是postMessage的方案

發起充值游戲幣或者道具請求 (必接)

參數說明:

名稱

類型

說明

范例

action_yw

string

請填寫pay

pay

data

json

充值請求數據

{'serverid':1,'orderid':'6406548075898863641(不能有中文)','money':6,'goodname':'元寶','itemid':12}

data數據參數說明:

名稱

類型

說明

范例

serverid

int

游戲區服id

1

orderid

string

游戲方訂單號最多50個字符

6406548075898863641

money

float

(單位)人民幣

6

goodname

string

購買的游戲幣或者道具名稱

600元寶(請標明充值數量)

itemid

int

游戲道具或者金幣等id

1 (如果未在運營同學處配置充值檔, 則不需要傳該字段)

調用實例:

/**

* [charge 向平臺發起充值游戲道具請求,消息體格式為{'action_yw':'pay','data':data}]

*/

function pay(){

var data={'serverid':1,'orderid':'6406548075898863641','money':6,'goodname':'600元寶','itemid':8791};

var message={'action_yw':'pay','data':data};

window.parent.postMessage(message,'*');

}

用戶登錄游戲區服日志記錄 (可選)

參數說明:

名稱

類型

說明

范例

action_yw

string

請填寫log

log

data

json

用戶登錄數據

{'serverid':1,'username':'霸天虎','level':6}

data數據參數說明:

名稱

類型

說明

范例

serverid

int

游戲區服id

1

username

string

對應游戲區服角色名稱

霸天虎

level

int

用戶登錄時候的等級信息

6

調用實例:

/**

* [log 添加游戲登錄記錄,消息體格式為{'action_yw':'log','data':data}]

*

*/

function log(){

var data={'serverid':1,'username':'霸天虎','level':6};

var message={'action_yw':'log','data':data};

window.parent.postMessage(message,'*');

}

游戲內分享功能 (可選)

參數說明:

名稱

類型

說明

范例

action_yw

string

請填寫 share

share

data

json

分享請求數據

{action_yw: 'share','userId':6406548075898863641}

data數據參數說明:

名稱

類型

說明

范例

action_yw

string

功能標識 share

share

userId

string

用戶唯一ID標識(僅限數字字符串)

6406548075898863641

返回數據參數說明:

名稱

類型

說明

范例

code

int

成功/失敗 標識

1:成功,0:失敗

action_yw

string

功能標識 share

share

userId

string

用戶唯一ID標識(僅限數字字符串)

6406548075898863641

調用實例:

/**

* [share 向平臺發起分享請求,消息體格式為{action_yw: 'share', data: passData};],直接調用下面方法即可

*/

function share(){

var passData = {action_yw: 'share','userId':6406548075898863641};

var data = {action_yw: 'share', data: passData};

window.parent.postMessage(data, "*");

}

/**監控來自平臺側的返回結果*/

window.addEventListener('message',function(e){

console.log(e.data)

//處理代碼

});

/** 區分移動端與PC端方法,PC端目前沒有創建快捷方式與分享的功能 */

function getParentUrl() {

var url = null;

if (parent !== window) {

try {

url = parent.location.href;

} catch (e) {

url = document.referrer;

}

}

return url;

}

/** 移動端域名: m-game.qidian.com,p-game.qidian.com,m-game.book.qq.com,p-game.book.qq.com */

創建桌面快捷功能 (可選)

備注:此功能只支持安卓,不支持IOS

參數說明:

名稱

類型

說明

范例

action_yw

string

請填寫 shortCut

shortCut

data

json

創建快捷方式請求數據

{action_yw: 'shortCut','userId':6406548075898863641}

data數據參數說明:

名稱

類型

說明

范例

action_yw

string

功能標識 shortCut

shortCut

userId

string

用戶唯一ID標識(僅限數字字符串)

6406548075898863641

返回數據參數說明:

名稱

類型

說明

范例

code

int

成功/失敗 標識

1:成功,0:失敗

action_yw

string

功能標識 share

share

userId

string

用戶唯一ID標識(僅限數字字符串)

6406548075898863641

調用實例:

/**

* [share 向平臺發起分享請求,消息體格式為{action_yw: 'shortCut', data: passData};],直接調用下面方法即可

*/

function share(){

var passData = {action_yw: 'shortCut','userId': 6406548075898863641};

var data = {action_yw: 'shortCut', data: passData};

window.parent.postMessage(data, "*");

}

/**監控來自平臺側的返回結果*/

window.addEventListener('message',function(e){

console.log(e.data)

//處理代碼

});

/** 區分移動端與PC端方法,PC端目前沒有創建快捷方式與分享的功能 */

function getParentUrl() {

var url = null;

if (parent !== window) {

try {

url = parent.location.href;

} catch (e) {

url = document.referrer;

}

}

return url;

}

/** 移動端域名: m-game.qidian.com,p-game.qidian.com,m-game.book.qq.com,p-game.book.qq.com */

閱文方接口規范

用戶聊天消息推送(必接)

請求方式:POST

正式:http://api2.game.qidian.com/Cp/Msg/push

參數說明:

名稱類型說明范例

gameId

int

閱文平臺游戲ID(請詢問運營同學)

9999

serverId

int

游戲區服ID

1

serverName

string

區服名稱

區服1

timestamp

int

時間戳

1539314648

sign

string

請求的簽名字串:sha1(gameId+"|"+serverId+"|"+serverName+"|"+timestamp+"|"+key)

將示例所需參數,用豎線"|"拼接字串,在最后面拼接key后sha1加密,并將結果轉換小寫。(key詢問運營同學)

cf0244de65a0db825e6a7ba98fa62517ac015e8e

data

array[json]

消息數據體說明:

fGameUserId(消息發送者gameUserId(即閱文userId))

fNickName(消息發送者昵稱)

tGameUserId(消息接收者gameUserId(即閱文userId))

tNickName(消息接收者昵稱)

type(1私聊,2喇叭,3郵件,4世界,5國家,6工會/幫會,7隊伍,8附近,9其他)

content( 消息內容)

time(消息發送時間戳)

{

"fGameUserId": "123",

"fNickName": "this is fNickName",

"tGameUserId": "456",

"tNickName": "this is toNickName",

"type": 1,

"content": "this is content 1",

"time": 1539234456

}

以?json?格式提交,格式如下:

{

"gameId": 9999,

"serverId": "1",

"serverName": "區服1",

"data": [

{

"fGameUserId": "123",

"fNickName": "jack",

"tGameUserId": "234",

"tNickName": "tom",

"type": 1,

"content": "你好",

"time": 1539234456

}

],

"timestamp": 1539234456,

"sign": "cf0244de65a0db825e6a7ba98fa62517ac015e8e"

}返回值說明

code0成功,其他返回碼失敗

msg返回信息

data返回數據數組,total表示成功推送消息數

測試預覽(測試地址在這里)

gameid請找閱文運營同學提供。注:閱文h5游戲為游戲內選區 不用關心測試地址的serverid參數

起點平臺預覽地址為:

http://m-game.qidian.com/#/fab/(這里為gameid的值)

常見問題回答(FAQ)

什么是serverid?

指選區游戲各個區服編號,只接收int類型(請自行在游戲側做映射)

什么是itemid?

指游戲內充值選項(游戲幣或者道具月卡之類的id,只接收int類型), 如果未在運營同學處配置充值檔, 則不需要傳該字段

為什么接入了游戲在玩游戲頁面是黑屏,白屏或灰屏?

通常是沒有按照指定的json約定格式返回(請查看游戲登錄接口的返回格式),需要把游戲地址加上自己的參數返回到json數組給到閱文平臺,我們會內嵌到到iframe中加載出來

為什么提示游戲方充值返回參數json解析錯誤?

這種提示說明,沒有按照約定的格式返回給我們json數據

閱文的兩個平臺(起點和qq閱讀)只用對接一次?

是的,cp游戲方只用對接一次,登錄、驗證角色、充值等接口使用同一套即可

所有接口都要對接嗎,這些接口使用場景是那些?

對的,都需要對接,使用場景對應如下:

查詢用戶接口(角色等級驗證):在以后做獎勵活動,按等級發放獎勵的時候,會使用到。還有平臺會計劃在充值的時候,去區服驗證角色,角色如果不存在,不給用戶充值。

游戲登錄接口 (返回游戲登錄鏈接):返回游戲登錄鏈接,會將鏈接嵌套到我們平臺iframe里面,展現游戲內容頁面

充值游戲幣接口:給用戶發放游戲幣或者游戲道具接口,請保持該接口的冪等性,允許平臺方一個訂單號可以多次重試,且結果按約定返回

js接口 發起充值游戲幣或者道具請求:提供給cp方iframe跨域發起充值請求

js接口 用戶登錄游戲區服日志記錄:因為大部分H5游戲都是游戲內部選區,所以平臺統計不到用戶的區服登錄和充值數據,應平臺運營需求,此數據不可缺少

在接入過程中提示cp方的serverid不合法、cp方的orderid不合法、cp方的money不合法、cp方的goodname不合法、cp方的itemid不合法,是什么原因導致的?

請檢查是否按照接口約定數據格式傳入了對應數據,亦可按照下圖,在起點渠道進行調試檢查傳入的參數是否正確

1b78a1854df68015232c3b844edcd8a7.png

充值時提示游戲區服未配置

游戲方沒有接入或沒有正確上報用戶登錄游戲區服日志記錄需要的數據,導致調用用戶登錄游戲區服日志記錄和發起充值游戲幣或者道具請求兩個接口的serverid不一致

充值時提示其他文字信息

其他文字信息一般為我方透傳游戲方服務端充值游戲幣接口的返回值,請游戲方自行排查提供接口的問題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/459003.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/459003.shtml
英文地址,請注明出處:http://en.pswp.cn/news/459003.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

串口通信與編程:串口基礎知識

*************************************************** 更多精彩,歡迎進入:http://shop115376623.taobao.com *************************************************** 串口是串行接口(serial port)的簡稱,也稱為串行通信…

jmeter上傳文件搞了一天,才搞定,沒高人幫忙效率就是低,趕緊記下來,以備后用...

jmeter上傳文件搞了一天,才搞定,沒高人幫忙效率就是低,趕緊記下來,以備后用 先用谷歌瀏覽器抓包,抓到的包類似這樣: 在jmeter里添加一個http請求,配置好參數,方法,端口&a…

自定義dialog

2019獨角獸企業重金招聘Python工程師標準>>> R.layout.layout_insert_dialog自定義布局 View mViewLayoutInflater.from(MainActivity.this).inflate(R.layout.layout_insert_dialog, null); AlertDialog.Builder dialognew AlertDialog.Builder (MainActivity.this…

js unescape 對應php的函數,php實現Javascript的escape和unescape函數

由于需要用到php調用js文件,在網上找了相關的資料,并改寫了相關的方法。php實現 Javascript的escape函數方法:function escape($str) {preg_match_all("/[/xc2-/xdf][/x80-/xbf]|[/xe0-/xef][/x80-/xbf]{2}|[/xf0-/xff][/x80-/xbf]{3}|[…

字符數組,字符串、數字轉化

<p style"margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; line-height: 26px; word-wrap: break-word; color: rgb(102, 102, 102); font-family: 宋體, Arial; font-size: 16px;">//****************************************…

PE文件RV轉FOA及FOA轉RVA

/************************************************************************/ /* 功能:虛擬內存相對地址和文件偏移的轉換 參數&#xff1a;stRVA&#xff1a; 虛擬內存相對偏移地址 lpFileBuf: 文件起始地址 返回&#xff1a;轉換后的文件偏移地址 */ /*****************…

SurfaceView類透明背景設置

將SurfaceView背景設置為透明&#xff0c;主要添加以下幾句話就可以了&#xff1a; 在SurfaceView創建后設置一下下面的參數&#xff1a; setZOrderOnTop(true); getHolder().setFormat(PixelFormat.TRANSLUCENT); 還有在draw方法中繪制背景顏色的時候以下面的方式進行繪制就可…

oracle的env函數用法,env命令_Linux env 命令用法詳解:顯示系統中已存在的環境變量...

env命令用于顯示系統中已存在的環境變量&#xff0c;以及在定義的環境中執行指令。該命令只使用"-"作為參數選項時&#xff0c;隱藏了選項"-i"的功能。若沒有設置任何選項和參數時&#xff0c;則直接顯示當前的環境變量。如果使用env命令在新環境中執行指令…

網絡通信的工作原理

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 1、什么是計算機網絡&#xff1f; 計算機網絡是由兩臺或兩臺以上的計算機通過網絡設備…

Bossie Awards 2015: The best open source applicati

2019獨角獸企業重金招聘Python工程師標準>>> Read about more open source winners InfoWorlds Best of Open Source Awards for 2014 celebrate more than 100 open source projects, from the bottom of the stack to the top. Follow these links to more open s…

oracle中pga指什么,oracle學習SGA跟PGA理解

SGA&#xff1a;SystemGlobal Area是OracleInstance的基本組成部分&#xff0c;在實例啟動時分配;系統全局域SGA主要由三部分構成&#xff1a;數據庫緩沖區、日志緩沖區、共享池&#xff0c;還可能包含&#xff1a;大池&#xff0c;JAVA池&#xff0c;流池。注意點&#xff1a;…

oracle重做日志教程,Oracle教程:重做日志文件基本維護

重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer)&#xff0c;它記錄著system global area(sga)當中的database bu重做日志文件最重要的用途就是用來恢復數據(其實你也可以用來logminer)&#xff0c;它記錄著system global area(sga)當中的database buffer…

以太網,局域網,萬維網

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 以太網是一種通信協議標準 萬維網WWW 是 Internet 的多媒體信息查詢工具 以太網: 以…

java的自動類型轉換和強制類型轉換

在程序運行時&#xff0c;經常需要將一種數值類型進行轉換成另一種類型。下面給出了一個合法的轉換。數值之間的合法轉換上圖中有6個實心箭頭&#xff0c;表示無信息丟失的轉換&#xff0c;有三個虛箭頭&#xff0c;表示可能有精度丟失的轉換。例如123456789是一個大整數&#…

Class 泛型

Java Class 泛型的例子說明&#xff1a; http://blog.chinaunix.net/uid-1911213-id-3085866.html http://blog.163.com/sir_876/blog/static/1170522320121216273111/轉載于:https://www.cnblogs.com/yedu/p/4514016.html

java動態代理的實現

動態代理作為代理模式的一種擴展形式&#xff0c;廣泛應用于框架&#xff08;尤其是基于AOP的框架&#xff09;的設計與開發&#xff0c;本文將通過實例來講解Java動態代理的實現過程。友情提示&#xff1a;本文略有難度&#xff0c;讀者需具備代理模式相關基礎知識&#xff0c…

常見的網絡類型

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 我們經常聽到Internet網、星形網等名詞&#xff0c;它們表示什么&#xff1f;是怎樣分…

oracle放在內存里,oracle如中何把小表釘住在內存中

buffer_pool_defualtbuffer_pool_keepbuffer_pool_recycle如果要把表釘死在內存中&#xff0c;也就是把表釘在keep區。相關的命令為&#xff1a;alter table ..... storage(buffer_pool keep);這句命令把表示表如果緩存的話是緩存在keep區。可以通過語句&#xff1a;select tab…

C++基礎之this指針的詳解

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 關于C中的this指針&#xff0c;建議大家看看這篇文章&#xff0c;《C中的this指針》&a…

xcode 開發ios兼容性問題的上下黑邊 和 coco2d-x 游戲分辨率適配 ResolutionPolicy::FIXED_WIDTH 都會引起上下黑邊問題!!!...

1&#xff1a;Xcode6在iPhone5iOS7模擬器上編譯&#xff0c;上下有黑邊問題 問題描述&#xff1a; Xcode6環境下&#xff0c;對iPhone5或iPhone5s模擬器&#xff0c;在iOS7或iOS7.1下運行&#xff0c;屏幕上下有黑邊。在iOS8下沒問題。 問題分析&#xff1a; 這種熟悉的場景又出…