FB体育H5/PC投注网页,是基于FB体育app服务接口进行开发的投注网站,该网页提供了FB体育的所有功能,可直接嵌入使用,节约客户开发时间。
通过一定规则,拼接 url 即可打开FB体育投注网站,接入规则如下,请仔细阅读
注意:该工具不会维护传递 token 的有效性,如果 token 失效,请重新进行规则拼接访问在接入投注网页前,商户服务端必须先接入FB体育数据服务的几个接口 点击进入文档
/fb/data/api/v2/user/create 创建FB体育投注用户接口
/fb/data/api/v2/user/detail 查询用户信息和余额接口,异常情况可用于校验用户是否创建成功
/fb/data/api/v2/token/get 获取网页端鉴权token接口
/fb/data/api/v2/transfer/in 转入用户余额到FB体育接口(转账钱包模式)
/fb/data/api/v2/transfer/out 转出用户余额接口(转账钱包模式)
/fb/data/api/v2/transfer/detail 查询转账详情,异常情况下可用于检验转账是否成功(转账钱包模式)
其他FB体育数据服务接口,可按商户需求进行接入
FB体育支持游客模式浏览数据,即在非登陆模式下浏览官方客户端内容,当用户触发登陆的操作时(投注、查看订单等),则弹框提示未登录,点击“确认登录”按钮可跳转到商户登陆页,跳转页面需由贵公司对接,点击“取消”按钮则继续留在当前页面浏览数据。
注意:1、token要传字符串 guestMode 实现游客模式
2、该方法仅支持 Iframe 方式接入FB体育官方客户端,触发登录跳转的接入示例如下
addEventListener('message', e => {
//Iframe子页面触发确认时,父页面拿到e.data.relogin,贵公司需要跳转的地址
if(e.data.relogin){
window.location.href = 'https://www.google.com/'
}
//Iframe子页面点击新旧版切换,父页面拿到e.data.changeUrl,跳转地址
if(e.data.changeUrl){
this.cradSrc = e.data.changeUrl
}
/Iframe子页面点击新旧版切换,父页面拿到e.data.version,新旧版本标识
if (e.data.version) {
storage.put('version', e.data.version)
}
})
FB体育支持打开指定赛事详情页,根据运动Id以及赛事Id打开对应详情页;若实现从赛事详情页直接返回FB首页,需拼接参数&gohome=1
H5: {域名}/index.html#/match-detail?matchId=888888&sportId=1
PC: {域名}/index.html#/detail/888888/1
通过FB数据服务接口文档内的/fb/data/api/v2/token/get 接口, 获取到 token 和 serverInfo对象,并将您的用户 token 和 serverInfo(对象) 为下一步做准备。
serverInfo = {
apiServerAddress:"http://fsports.com" api接口地址
h5Address:"http://h5-fsports.com" H5投注页面地址
pcAddress:"http://pc-fsports.com" PC投注页面地址
ouPcAddress:"http://ou-pc-fsports.com" 新版PC投注页面地址
pushServerAddress:"ws://push-fsports.com" 推送服务地址
virtualAddress:"http://virapp-fsports.com" 虚拟体育地址
};
该步骤为生成 PC/H5 的有效访问地址的规则,H5 和 PC 均采用 HASH 模式路由,拼接规则如下:
PC 或者 H5 域名地址:
(serverInfo对象里的h5Address/pcAddress)/index.html#/
?token={第一步存储的 token}&nickname={第一步存储的昵称}
&apiSrc={第一步serverInfo对象里的apiServerAddress}
&pushSrc={第一步serverInfo对象里的pushServerAddress}
&virtualSrc={第一步serverInfo对象里的virtualAddress (可选)}
&platformName={平台名称 例:FB体育 (可选)}
&icoUrl={网页的ico 例:https://fsports.co/favicon.ico (可选)}
&handicap={盘口 例:传Number类型1和2,目前暂时支持两种盘口(1是欧洲盘、2是香港盘) (可选)}
&language={多语言 例:CMN-中文, ENG-英语, ZHO-繁体中文, VIE-越南语 (可选)}
&color={日间/黑夜模式 例:传dark或者daily(目前暂时支持两种模式dark为黑夜模式,daily为日间模式) (可选)}
¤cyId={默认币种 例:1-人民币, 2-美元, 10-越南盾, 200-USDT等等 (可选)}
&themeBg={第一步data对象里的themeBgColor (H5默认背景色,如果想通过url自己传选择十六进制颜色值去掉# 例:'6D060D')}
&themeText={第一步data对象里的themeFgColor (H5/PC默认选中色,如果想通过url自己传看格式 例:"{"h5FgColor":"333333","pcFgColor":"888888","columnType":1}")}
注释: banner功能归类在主题themeText里,如需展示banner可按照上述对接主题的方式,即对接themeBg,themeText这两个参数
&type=1&sportId=1{type类型只支持传(1-滚球, 3-今日, 4-早盘, 5-热门联赛);sportId传运动的ID,leagueId传联赛ID 注意type和(sportId/leagueId)要同时传,如果type=5,要传leagueId (可选)}
&controlMenu=1{今日/早盘是否收起暂无数据运动 例:1-默认收起, 2-默认展开, 3-隐藏暂无数据运动 (可选)}
&tutorialPop=1{首次登录弹窗教程提示 例:1-不提示, 不传默认 (可选)}
&hideBalance=1{隐藏H5首页头部余额 例:1-不显示, 不传默认 (可选)}
&noType=2{隐藏FB网页多语言入口,多语言通过url多语言参数更改 (可选)}
&cbs={币种展示列表 例:1-人民币, 2-美元, 10-越南盾, 200-USDT等等(cbs=1,2,200) (可选)}
&themeHeadText='6D060D'{H5头部图标和字体颜色,传选择十六进制颜色值去掉# 例:'6D060D' (可选)}
&ouPcAddress={新版入口展示 (可选)}
&pcAddress={旧版入口展示 (可选)}
拼接示例:
const token = token(步骤一中的token);
const h5Src = serverInfo.h5Address(步骤一中的serverInfo对象里,可选旧版pc(serverInfo.pcAddress)/新版pc(serverInfo.ouPcAddress));
const nickname = Storage.get("user-nickname")(步骤一中的nickname);
const apiSrc = serverInfo.apiServerAddress(步骤一中的serverInfo对象里);
const pushSrc = serverInfo.pushServerAddress(步骤一中的serverInfo对象里);
const virtualSrc = serverInfo.virtualAddress(步骤一中的serverInfo对象里);
const platformName = "FB体育"(自己平台名称,不传则默认FB体育);
const icoUrl = "https://fsports.co/favicon.ico"(自己网页ico,不传则默认FB体育ico);
const handicap = "1"(盘口名称,不传则默认欧洲盘);
const language = "CMN"(多语言,不传则默认中文);
const color = "dark"(日间/黑夜模式,不传则默认黑夜模式);
const cid = "1"(传币种id,不传则默认取接口里第一个币种展示);
const themeBg = "6D060D"(只支持十六进制颜色代码背景色,不传则默认展示,暂支持H5);
const tutorialPop = "1"(首次登录弹窗教程提示:传1则不提示,不传则默认);
const hideBalance = "1"(隐藏H5首页头部余额:传1则不提示,不传则默认);
const noType = "2"(隐藏FB网页多语言入口,多语言通过url多语言参数更改);
const themeText = "{"h5FgColor":"333333","pcFgColor":"888888"}"(不传则默认展示,暂支持H5/PC);
const ouPcAddress = serverInfo.ouPcAddress(步骤一中的serverInfo对象里,URL上拼接该参数,新版入口才会显示);
const pcAddress = serverInfo.pcAddress(步骤一中的serverInfo对象里,URL上拼接该参数,旧版入口才会显示);
const URL_SRC = `${h5Src}/index.html#/?token=${token}&nickname=${nickname}&apiSrc=${apiSrc}&ouPcAddress=${ouPcAddress}&pcAddress=${pcAddress}&virtualSrc=${virtualSrc}&pushSrc=${pushSrc}&platformName=${platformName}&icoUrl=${icoUrl}&handicap=${handicap}&language=${language}&color=${color}¤cyId=${cid}&themeBg=${themeBg}&themeText=${themeText}&type=1&sportId=1&controlMenu=1&noType=2&themeHeadText=6D060D`(以H5为例子);
上面步骤我们已经获取到所需的 H5/PC 验证后地址,在项目内直接引入就可以直接使用了,下面是几个平台的引入实例:
接入参考:
方法 1:使用 Iframe 方式引入
在dom节点内任意位置插入
<iframe name="iframe"
allowfullscreen="allowfullscreen"
webkitallowfullscreen="true"
mozallowfullscreen="true"
allowtransparency="true"
auto="autoplay"
muted="muted"
frameborder="0" src="{上一个步骤存储的URL_SRC}" />
并设置好宽高(注意:Iframe上属性一定要设置完全,不然视频点击全屏会失效)
方法 2: 使用新窗口打开投注选项
window.open({ 上一个步骤存储的URL_SRC });