狂团KtAdmin框架开发文档

狂团KtAdmin框架开发文档


打通应用系统商接口要求

[TOC]

应用说明
  • 1: 此应用中心思想是 通过认证后,免登录跳转
  • 2: 此文件展示系统商系统需要返回的接口数据示例
  • 3: 认证(检查已有账户), 注册, 登录逻辑需要系统商根据自身系统编辑逻辑; 认证,注册需要返回值, 数据格式,参考返回值; 登录则是有框架重定向到 系统商编辑登录方法
配置

双方系统需共同绑定key,key默认 0KRJ04auDJJof3fNv, 上线之后需更换(建议后台做上配置,用户可随时更换)

框架请求

说明: 框架应用请求共三个方法, 认证(检查已有账户), 注册, 登录 框架执行逻辑: 1: 认证->登录 2:注册->登录 下面是访问系统商接口的路由:

  • http://xx.com/路由? 加密字符串 注: 加密字符串,框架通过 双方系统共同的 key,通过加密获得的加密字符串,加密字符串解密之后,参数为数组格式, 具体参考参数, 解密方法参考代码示例, 对于加解密方式, 可以和平台方沟通, 用不同的加密方式
请求方式
  • GET
参数

解密之后的参数: check: ["username"=>"ddad","pasword"=>"dada","method"=>"check"] register: ["username"=>"ddad","pasword"=>"dada","method"=>"register"] login: ["username"=>"ddad","method"=>"login"]

参数名 必选 类型 说明
username string 用户名, 此参数在三个方法中必存在
pasword string 密码, 此参数在 认证,注册 中必存在
method string 方式: check: 认证, register: 注册, login:登录
系统商系统代码示例
 <?php
/*
* 注意:  
*  1: 此文件展示 接口示例, 
*  2: 此应用中心思想是 通过认证后,免登录跳转
*/

//可根据自身系统编辑逻辑
class ktadmin
{
    protected $key = "0KRJ04auDJJof3fNv";  //建议总后台做个配置,可以直接修改此处key(修改此key,需要和框架配置统一),也可以不做
    private   $data;                       //解密后的参数
    public function __construct()
    {
        $this->data = $this->getParam();  //获取传的参数,数组 
    }

    //已有账户认证, 根据自身系统编写
    public function check(){
        $data = $this->data;   //["username"=>"ddad","pasword"=>"dada","method"=>"check"] 
        //认证逻辑
        //根据账户和密码查询账户, 存在即返回值 success, 失败为 error, 
        // $msg 即为状态描述
        $code = "success";
        return json(['code'=>$code,"msg"=>$msg]);
    }
    //注册账户, 根据自身系统编写
    public function register(){
        $data = $this->data;   //["username"=>"ddad","pasword"=>"dada","method"=>"register"] 
        //注册逻辑
        //根据账户,密码注册账户, 如果还需其它字段,可与平台沟通, 注册即返回值 success, 失败为 error,
        // $msg 即为状态描述, 
        $code = "success";
        return json(['code'=>$code,"msg"=>$msg]);  //返回值结构
    }
    //登录账户, 根据自身系统编写
    public function login(){
        $data = $this->data;   //["username"=>"ddad","method"=>"login"] 

        //登录逻辑,注意,此时参数只有账户

        //认证通过之后, 框架会通过header跳转系统商系统, 

        //登录跳转逻辑
        $url = "https://www.baidu.com";
        header($url);
    }

    //获取参数
    private function getParam() 
    {
        $data = $this->decrypt(); //执行解密获取参数
        if (!$data || !isset($data['username']) || !$data['username'] || !isset($data['method']) || !$data['method']) {
            exit('参数错误');
        }

        return $data;
    }
    //解密
    private function decrypt()
    {
        $str = $_SERVER['QUERY_STRING'];  //确保此参数为加密后的字符串, 不同框架获取参数方式不一样, 可与平台方沟通调整参数传递方式, 
        if(!$str) return [];
        $str = str_replace(array('-','_'),array('+','/'),$str);
        $str = base64_decode($str);
        $key = md5($this->key);
        $lenKey = strlen($key);
        $sign = substr($str,0,$lenKey);
        if($sign != $key) exit('参数错误');
        $paramStr = substr($str,$lenKey);
        $param = json_decode(base64_decode($paramStr),true);
        return $param;
    }

}
系统商需要返回的结果

注: 认证, 注册, 需要有返回值, 登录 则会有框架 重定向到系统商系统login方法 注: 返回值需要按一定规则 返回值示例, {"code":"success","mgs":"认证成功"}

页面列表

ITEM_HTML