Skip to content
wx-nba-api for wechat by php
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Config
General/Common
Language
Library
PhalApi
Public
Runtime
Wx
sql
.gitignore
README.md

README.md

wx-nba-api

wx-nba-api 是为nba小程序wx-nba提供的api接口、抓取其他网站NBA新闻直播、球队、球员数据抓取整理

  • 拦截器,
  • 接口签名校验、 接口服务列表

如果熟悉php,可以下载项目代码自己部署 在线地址: http://wxapp.it919.cn/wx/listAllApis.php 图片

关于接口签名问题

  • 接口请求签名,客户端与服务端约定好一个appkey
  • 排除签名参数(sign和接口的service)
  • 将剩下的全部参数和appkey,按参数名字进行字典升序排序
  • 将排序好的参数,全部用字符串拼接起来
  • 进行md5运算,生成签名sign

appkey可以在Config/sys.php中配置

  'appkey' => '你设定的秘钥',

关于接口的时间戳参数问题

timestamp 用来保存接口一次请求的时效性,时间戳参数传递客户端当前的时间戳给服务端、服务端将该时间戳与服务器的时间进行对比,当两个时间戳的差距大于300S时, 提示接口请求超时,以保证其他人抓取改接口能重复使用

框架通过过滤器可以设置签名 sign 白名单、一些不需要设置签名的接口可以在app.php中配置

<?php
return array(

    /**
     * 应用接口层的统一参数说
     */
    'apiCommonRules' => array(
        'sign' => array('name' => 'sign', 'require' => true),
        'timestamp' => array('name'=>'timestamp', 'type'=>'string', 'require'=>false, 'desc'=>'时间戳参数')
    ),
    /**
     * 不需要带签名的接口
     */
    'apiFilterRules' => array(
        'Index.index',
        'Nba.img',
        'Nba.website',
    ),

    /**
     * 需要带Token的接口
     */
    'apiTokenRules' => array(
        'User.center',
        'User.wallet'
    ),
);
You can’t perform that action at this time.