亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP接口API文檔轉換SDK神器

2020-03-22 18:03:16
字體:
來源:轉載
供稿:網友
  • PS:GIT版本為開發調試版本,不能保證其穩定。CSDN的版本為GIT上封裝完最穩定的版本,請斟酌下載。

    演示地址:http://222.73.37.41:8001/bbs/document/Example.php?document=truxish4114558de

    效果圖:

    API JSON
    轉換TXT文檔
    轉換JAVA代碼
    轉換SWIFT代碼

    輸出支持:

    TXT文檔JAVASWIFT

    解決問題:

    免手寫html' target='_blank'>Word文檔來告知第三人此API輸出的內容字段含義以及需要哪些接收參數,降低溝通成本每次API升級,輸出內容都會打上版本號以及終端文件。只要在終端項目里面,GIT或者SVN即能看出本次升級更改的內容與終端對接API接口調試,成功率提升到100%終端無需理會數據接口,只需要把大部分的精力用在UI界面上

    功能介紹:

    輸出Txt格式的文檔輸出android端所需要的數據解析類以及數據請求類輸出ios端所需要的數據解析類輸出的數據類,包含原生系統自帶的解析方式與第三方自動序列化方式(如:GSON)針對未注釋字段,自動英漢翻譯自動轉換PHP輸出json字段類型,由通用字符串類型自動歸類(Int,Float,Long,String,Boolean)終端語言模板化,可自行更改終端語言輸出模板自動根據字典文件的最后修改日期轉換為終端語言文件的版本號,如
    /** * push信息表 * @version 20151105.20.39 * @author HuangYi * @link email:95487710@qq.com * */public class PushInfoData {


    配置文件Config.php:

    翻譯設置(目前是接入百度翻譯,需要自行去注冊一個KEY)
    //百度翻譯KEYdefine("BAIDU_LANGUAGE_APPKEY", "6e87261cf9d883ddc2bc4c629991a087");//啟動翻譯模式define("OPEN_LANGUAGE_MODE", true);//翻譯過濾字段,簡單說就是過濾那些一看就明白意思的字段define("AZ_LANGUAGE_FILTER", "{id}{date}{clientdate}{sex}");

    JAVA設置,路徑的設置是為了讓終端開發者直接以文件夾形式下載所有接口文件
    //JAVA包名define("JAVA_PACKNAME", "yousi.com.http.data");//JAVA數據類保存路徑define("JAVA_DATA_SAVE_PATH", "/java/yousi/com/http/data/");//JAVA HTTP包名define("JAVA_HTTP_PACKNAME", "yousi.com.http");// JAVA請求數據類保存路徑define("JAVA_HTTP_DATA_SAVE_PATH", "/java/yousi/com/http/");

    TXT設置,路徑的設置是為了讓終端開發者直接以文件夾形式下載所有接口文件
    //TXT數據類保存路徑define("TXT_DATA_SAVE_PATH", "/txt/http/data/");//TXT請求數據類保存路徑define("TXT_HTTP_DATA_SAVE_PATH", "/txt/http/");

    SWIFT設置,路徑的設置是為了讓終端開發者直接以文件夾形式下載所有接口文件
    //SWIFT數據類保存路徑define("SWIFT_DATA_SAVE_PATH", "/swift/http/data/");//SWIFT請求數據類保存路徑define("SWIFT_HTTP_DATA_SAVE_PATH", "/swift/http/");

    SDK接入:

    /**引用類路徑*/include_once(dirname(__FILE__)."/../document_sdk/Element.php");/**以下為API接口測試數據*/$pinfo = array();$pinfo['id']=2;$pinfo['uid']='10086';$pinfo['rid']='10086';$pinfo['money']=100.25;$pinfo['key']='tokendddsxsedfs115';$pinfo['alias']='techer';$pinfo['aliastype']='yousi.com';$pinfo['date']='2015-11-12 15:17:23';$pinfo['clientdate']=1446450068;$pinfo['info']=$info;$pinfo['grade']=$grade;$pinfo['comments']=$comments;$pinfo['userinfo']=$userinfo;/**測試地址 Example.php?document=truxish4114558de&parse=java*//**<在輸出JSON API接口前面添加以下語句*/document($pinfo,'PushInfoData');/**輸出JSON格式*/Json::echoJson($pinfo);


    其中接口轉換文檔參數 document為請求秘鑰,自行更改,加密作用。
    parse為轉換類型,目前支持java,swift,txt格式。
    azauto為英漢翻譯開關,true開啟,false關閉。
    PushInfoData參數實為Class.PushInfoData.php簡參,JSON輸出數據解析字典
    字典元素分類 key=>注釋,此用來標示普通字段
    /**API數據片段*/$pinfo['rid']='101';/**對應字典寫法*/"rid"=>"回復ID"
    對應輸出的JAVA代碼片段/** 回復ID */ public int rid = 0; 

    key=>array(),此用來標示數組元素又是數組,如
    /**API數據片段*/$comment_data = array();$comment_data['uid'] = 10086;$comment_data['name'] = "大帥";//無論是多維數數組,只需寫一個維度的字典$comments = array($comment_data,$comment_data);$pinfo['comments']=$comments; /**對應字典寫法*/$comments_keys =array("uid"=>"用戶賬號","name"=>"昵稱");$keys['comments'] = $comments_keys;

    對應輸出的JAVA代碼片段,從下面看出Comments 類本身沒有注釋 	/** */   	public class Comments {     	/** 用戶賬號 */     	public int uid = 0;     	/** 昵稱 */     	public String name = "";     	public Comments getBase(Context mContext, JSONObject jsonObject) {       	Comments mBase = new Comments();       	try {         	mBase.uid = HttpBase.jsonToInt(jsonObject, "uid");         	mBase.name = HttpBase.jsonToString(jsonObject, "name");       	} catch (Exception e) {         	e.printStackTrace();         	MyLog.d(RerviceHttp.class, "Comments error e:"+e.getMessage());       	}       	return mBase;     	}   	} 


    key=>array(key=>array()),此用來解決第2條輸出代碼片段沒有注釋,如
    /**API數據片段*/$info = array();$info['up'] =1;$info['down'] =1;$pinfo['info']=$info;/**對應字典寫法*/$info_keys = array("基礎信息" => array("up"=>"支持數","down"=>"反對數"));$keys["info"]=>$info_keys

    對應輸出的JAVA代碼片段,從下面看出類名為key本身	/** 基礎信息 */   	public Info info = new Info();   	/** 基礎信息 */   	public class Info {     	/** 支持數 */     	public int up = 0;     	/** 反對數 */     	public int down = 0;     	public Info getBase(Context mContext, JSONObject jsonObject) {       	Info mBase = new Info();       	try {         	mBase.up = HttpBase.jsonToInt(jsonObject, "up");         	mBase.down = HttpBase.jsonToInt(jsonObject, "down");       	} catch (Exception e) {         	e.printStackTrace();         	MyLog.d(RerviceHttp.class, "Info error e:"+e.getMessage());       	}       	return mBase;     	}   	}
    ClassElement指定類名元素,此用來解決第3條指定類名,如
    /**API數據片段*/$info = array();$info['up'] =1;$info['down'] =1;$pinfo['info']=$info;/**對應字典寫法*/$info_keys = array("基礎信息" => array("up"=>"支持數","down"=>"反對數"));$info_keys = new ClassElement("InfoData",$info_keys);$keys["info"]=>$info_keys

    對應輸出的JAVA代碼片段        /** 基礎信息 */   	public InfoData info = new InfoData();   	/** 基礎信息 */   	public class InfoData {     	/** 支持數 */     	public int up = 0;     	/** 反對數 */     	public int down = 0;     	public InfoData getBase(Context mContext, JSONObject jsonObject) {       	InfoData mBase = new InfoData();       	try {         	mBase.up = HttpBase.jsonToInt(jsonObject, "up");         	mBase.down = HttpBase.jsonToInt(jsonObject, "down");       	} catch (Exception e) {         	e.printStackTrace();         	MyLog.d(RerviceHttp.class, "InfoData error e:"+e.getMessage());       	}       	return mBase;     	}   	} 

    NoteElement指定元素類型,將不會在自動歸類,如
    /**API數據片段*/$pinfo['uid']='10086';/**對應字典寫法*/$uid_keys = new NoteElement("用戶UID",Element::TYPE_KEY_STRING);$keys["uid"]=>$uid_keys

    對應輸出的JAVA代碼片段,從下面看出uid自動歸類應為Int類型,但強制為String類型/** 用戶UID */ public String uid = ""; 

    FileElement指定請求參數為文件上傳,如
    /**對應請求參數字典寫法*/$file = new FileElement("文件上傳");$keys['file'] = $file;
    對應輸出的JAVA代碼片段  	/** 文件上傳 */   	public Map mUploadFile = new HashMap();   	public void setfilePath(String mPath) {     	setPath("file", mPath);   	}   	private void setPath(String mKey, String mPath) {     	mUploadFile.put(mKey, new File(mPath));   	}   	@Override   	public Map getSendFile() {     	if (mUploadFile == null || mUploadFile.size() <= 0) {       	return new HashMap();     	}     	return mUploadFile;   	} 

    代碼:http://download.csdn.net/detail/huangbin95487710/9261841

    GIT地址:http://github.com/aixiaoyi123/php_api_document

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    日本亚洲欧美成人| 中文字幕在线成人| 91chinesevideo永久地址| 91精品美女在线| 午夜精品三级视频福利| 在线播放国产一区中文字幕剧情欧美| 久久免费视频在线| 久久久久久久国产精品| 中文国产成人精品久久一| 日韩欧美国产黄色| 日韩精品中文字幕视频在线| 亚洲小视频在线| 色悠悠久久久久| 久久影视电视剧免费网站清宫辞电视| 欧美激情精品久久久久久黑人| 欧美激情性做爰免费视频| 欧美一区二区三区免费视| 91中文在线观看| 日韩欧美亚洲范冰冰与中字| 57pao精品| 日韩av在线免费| 91免费电影网站| 国产精品美女www| 亚洲国产精品va| 亚洲欧美视频在线| 欧洲成人在线观看| 7m精品福利视频导航| 成人黄色激情网| 欧美日韩激情视频| 欧美激情精品在线| 国产精品一区二区三区在线播放| 精品亚洲一区二区三区在线播放| 国产精品丝袜久久久久久不卡| 中文字幕欧美国内| 国产精品视频在线播放| 亚洲在线免费视频| 免费91麻豆精品国产自产在线观看| 久久精品一区中文字幕| 97成人超碰免| 欧美日韩成人在线观看| 国产精品第七十二页| 国产69精品久久久久9999| 欧美电影免费观看| 亚洲xxxx视频| 最新69国产成人精品视频免费| 国产精品观看在线亚洲人成网| 日韩高清免费观看| 亚洲视频电影图片偷拍一区| 国产精品18久久久久久麻辣| 日韩一二三在线视频播| 亚洲一区二区福利| 久久亚洲精品中文字幕冲田杏梨| 日韩欧美在线视频日韩欧美在线视频| 97视频网站入口| 日韩国产在线看| 亚洲国产日韩欧美综合久久| 成人黄色免费在线观看| 国产精品网站大全| 欧美性猛交xxxx乱大交3| 国产欧美亚洲精品| 久久夜色精品亚洲噜噜国产mv| 国产精品成人一区二区三区吃奶| 7777精品久久久久久| 热99精品只有里视频精品| 欧美亚洲视频在线看网址| 久久99久国产精品黄毛片入口| 久久久久久久97| 欧美成年人视频网站欧美| 日韩中文字幕免费视频| 亚洲第一区中文99精品| 亚洲黄页网在线观看| 日韩精品欧美国产精品忘忧草| 成人福利在线观看| 97视频com| 亚洲天堂av在线免费观看| 午夜精品久久久久久99热| 日韩亚洲欧美中文高清在线| 国产一区二区三区丝袜| 国产免费一区二区三区香蕉精| 欧美在线一区二区三区四| 欧美激情喷水视频| 国产成人精品综合| 日韩精品亚洲元码| 欧美天天综合色影久久精品| 国产美女精彩久久| 欧美中文在线免费| 欧美三级欧美成人高清www| 中文字幕日韩高清| 欧美日韩免费一区| 国产在线一区二区三区| 亚洲欧美综合另类中字| 97香蕉久久夜色精品国产| 欧美精品免费播放| 亚洲综合中文字幕68页| 国产性色av一区二区| 疯狂做受xxxx高潮欧美日本| 亚洲伦理中文字幕| 久久精品最新地址| 国产69精品久久久久久| 亚洲精品美女久久久| 韩国视频理论视频久久| 精品国产1区2区| 亚洲欧美激情一区| 日本精品一区二区三区在线| 久久久久国产一区二区三区| 亚洲欧美国产一区二区三区| 成人欧美一区二区三区黑人| 久久久女人电视剧免费播放下载| 97超碰色婷婷| 日韩成人性视频| 羞羞色国产精品| 久久久中精品2020中文| 亚洲激情国产精品| 中文字幕亚洲综合久久| 亚洲老头同性xxxxx| 亚洲一区二区在线播放| 亚洲国产精品女人久久久| 成人激情视频免费在线| 欧美电影免费观看电视剧大全| 久久久久久久久久久免费| 日韩激情av在线免费观看| 欧美国产日韩xxxxx| 疯狂做受xxxx高潮欧美日本| 国模gogo一区二区大胆私拍| 中文欧美在线视频| 亚洲在线第一页| 国产成人福利网站| 久久精品成人欧美大片古装| 日韩网站免费观看| 欧美日韩亚洲国产一区| 成人写真福利网| 久久久久久久久91| 久久免费成人精品视频| 亚洲欧美日韩视频一区| 日韩电影第一页| 欧美在线不卡区| 亚洲毛片在线观看| 亚洲国产91色在线| 国产精品专区一| 久久久久久久久久久久久久久久久久av| 欧美成人免费大片| 精品偷拍各种wc美女嘘嘘| 国产视频久久久| 亚洲免费精彩视频| 亚洲天堂一区二区三区| 亚洲最新在线视频| 欧美孕妇孕交黑巨大网站| 成人久久久久久久| 亚洲另类xxxx| 国产亚洲欧洲高清| 日韩成人中文电影| 国产aⅴ夜夜欢一区二区三区| 亚洲第一精品电影| 国产欧美日韩精品在线观看| 久久久精品一区二区| 欧美日韩人人澡狠狠躁视频| 久久免费在线观看| 久久久中文字幕| 激情成人在线视频| 国产精品免费看久久久香蕉| 九九视频这里只有精品| 日韩av在线免费观看一区| 欧美激情在线播放| 亚洲免费影视第一页|