狂团KtAdmin框架开发文档

狂团KtAdmin框架开发文档


打通应用系统商接口要求

<p>[TOC]</p> <h5>应用说明</h5> <ul> <li>1: 此应用中心思想是 通过认证后,免登录跳转</li> <li>2: 此文件展示系统商系统需要返回的接口数据示例</li> <li>3: 认证(检查已有账户), 注册, 登录逻辑需要系统商根据自身系统编辑逻辑; 认证,注册需要返回值, 数据格式,参考返回值; 登录则是有框架重定向到 系统商编辑登录方法</li> </ul> <h5>配置</h5> <p>双方系统需共同绑定key,key默认 0KRJ04auDJJof3fNv, 上线之后需更换(建议后台做上配置,用户可随时更换)</p> <h5>框架请求</h5> <p>说明: 框架应用请求共三个方法, 认证(检查已有账户), 注册, 登录 框架执行逻辑: 1: 认证-&gt;登录 2:注册-&gt;登录 下面是访问系统商接口的路由:</p> <ul> <li><code>http://xx.com/路由? 加密字符串</code> 注: 加密字符串,框架通过 双方系统共同的 key,通过加密获得的加密字符串,加密字符串解密之后,参数为数组格式, 具体参考参数, 解密方法参考代码示例, 对于加解密方式, 可以和平台方沟通, 用不同的加密方式</li> </ul> <h5>请求方式</h5> <ul> <li>GET </li> </ul> <h5>参数</h5> <p>解密之后的参数: check: [&quot;username&quot;=&gt;&quot;ddad&quot;,&quot;pasword&quot;=&gt;&quot;dada&quot;,&quot;method&quot;=&gt;&quot;check&quot;] register: [&quot;username&quot;=&gt;&quot;ddad&quot;,&quot;pasword&quot;=&gt;&quot;dada&quot;,&quot;method&quot;=&gt;&quot;register&quot;] login: [&quot;username&quot;=&gt;&quot;ddad&quot;,&quot;method&quot;=&gt;&quot;login&quot;] </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">username</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>用户名, 此参数在三个方法中必存在</td> </tr> <tr> <td style="text-align: left;">pasword</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>密码, 此参数在 认证,注册 中必存在</td> </tr> <tr> <td style="text-align: left;">method</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>方式: check: 认证, register: 注册, login:登录</td> </tr> </tbody> </table> <h5>系统商系统代码示例</h5> <pre><code> &lt;?php /* * 注意: * 1: 此文件展示 接口示例, * 2: 此应用中心思想是 通过认证后,免登录跳转 */ //可根据自身系统编辑逻辑 class ktadmin { protected $key = "0KRJ04auDJJof3fNv"; //建议总后台做个配置,可以直接修改此处key(修改此key,需要和框架配置统一),也可以不做 private $data; //解密后的参数 public function __construct() { $this-&gt;data = $this-&gt;getParam(); //获取传的参数,数组 } //已有账户认证, 根据自身系统编写 public function check(){ $data = $this-&gt;data; //["username"=&gt;"ddad","pasword"=&gt;"dada","method"=&gt;"check"] //认证逻辑 //根据账户和密码查询账户, 存在即返回值 success, 失败为 error, // $msg 即为状态描述 $code = "success"; return json(['code'=&gt;$code,"msg"=&gt;$msg]); } //注册账户, 根据自身系统编写 public function register(){ $data = $this-&gt;data; //["username"=&gt;"ddad","pasword"=&gt;"dada","method"=&gt;"register"] //注册逻辑 //根据账户,密码注册账户, 如果还需其它字段,可与平台沟通, 注册即返回值 success, 失败为 error, // $msg 即为状态描述, $code = "success"; return json(['code'=&gt;$code,"msg"=&gt;$msg]); //返回值结构 } //登录账户, 根据自身系统编写 public function login(){ $data = $this-&gt;data; //["username"=&gt;"ddad","method"=&gt;"login"] //登录逻辑,注意,此时参数只有账户 //认证通过之后, 框架会通过header跳转系统商系统, //登录跳转逻辑 $url = "https://www.baidu.com"; header($url); } //获取参数 private function getParam() { $data = $this-&gt;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-&gt;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; } }</code></pre> <h5>系统商需要返回的结果</h5> <p>注: 认证, 注册, 需要有返回值, 登录 则会有框架 重定向到系统商系统login方法 注: 返回值需要按一定规则 返回值示例, {&quot;code&quot;:&quot;success&quot;,&quot;mgs&quot;:&quot;认证成功&quot;}</p>

页面列表

ITEM_HTML