接口簡介
AI舌診高級版接口主要通過拍攝舌頭圖片進行識別,返回十種舌像出現的概率值,加上身體不妨出現的證型和對應的調理办法。
接口地址
訪問地址:https://www.swugb.com/admin/api/tongue_analysis_advance
請求方式:POST
請求格局:application/x-www-form-urlencode
* 所有的請求和響應數據編碼為utf-8格局,URL里的所有參數名和參數值請做URL編碼
請求參數
| 字段 | 類型 | 是否必傳 | 說明 |
|---|---|---|---|
| appid | String | 是 | 開放平臺創建的appid |
| imgpath | String | 是 | 傳入進行識別的網絡圖片地址 |
| timestamp | String | 是 | 請求端口的時間,時間格式yyyyMMddHHmmss |
| version | String | 是 | api版本,默認為1.0 |
| sign | String | 是 | 簽名。把timestamp用MD5進行加密加上appid對應的key,然后再次用MD5進行加密天生簽名,所有的MD5加密為大寫。 |
響應參數
| 字段 | 類型 | 說明 |
|---|---|---|
| msg | String | 響應信息,成功為ok,錯誤為對應的錯誤信息 |
| code | Int | 響應碼,200-胜利 201-沒有可用次數 400-參數缺失或錯誤 500-異常 |
| data | json | 識別結果數據 |
返回結果示例:
{
"msg":"成功",
"code":200,
"data":{
"cutTongue":"http://tonguecut.oss-cn-beijing.aliyuncs.com/6c12e3d6-1669-11eb-ac43-f990dea5f70f.jpg",
"tizhi":{
"xueyu":0.024614405,
"shire":0.025916621,
"tebing":0.09500812247087398,
"yangxu":0.5017460499999999,
"yinxu":0.0260680735,
"tanshi":0.48473511015,
"pinghe":0.019101860029586897,
"qiyu":0.08836177221440236,
"qixu":0.6264306500000001
},
"tiaoli":{
"tizhi_name":"氣虛體質",
"changjianbiaoxian":"平日語音低弱,氣短懶言,方便疲乏,死气沉沉,自汗出,動則,肌肉松軟不實。性格內向,不喜冒險。",
"jingshentiaoyang":"氣虛質之人可不时品茶會友,吟詩作畫,垂釣養鳥,培養耐力、毅力和愛心,使人魂魄上愉悅和享受,增強心肺功能,促進全身氣血和調,益氣增壽。",
"fabingqingxiang":"不耐受風、寒、暑、濕邪,易患伤风、各臟器功能不敷如心悸、慢性胃炎、慢性支氣管炎等病;病后康復緩慢。",
"yuletiaoshe":"調養重在早春、初秋,春季需要“春捂”,不僅利于陽氣的生發,而且能抵御严寒刺激,促進機體免外邪刺激,倒春寒期間不宜進補;秋季虛“防燥”,干燥時需解暑潤津,氣溫低時要注意防寒保暖,且不能過度進補,可吃清淡、易消化的食品,溫養脾胃,減輕脾胃的負擔;冬季可適量進補。",
"sijiyangsheng":"選用柔緩的方式進行鍛煉,如廣播體操、太極拳、漫步、慢跑、按摩四肢或胸腹等。氣功方面,可練“六字訣”中的“吹”功。因为體質虛弱,故應防范過度運動勞累。",
"tiyuduanlian":"動靜結合、量力而行。可通過運動保持情緒的健康穩定,如器械訓練、打球、爬山、跑步、漫步、太極拳、健美操等。",
"qijutiaoshe":"注意保暖,不要大汗當風,以防感觉風寒;勞則氣耗,注意不成過于勞作,省得傷正氣。",
"yinyuetiaoli":"適合多收聽宮音、商音、徵音。如:「陽春白雪」「紫竹調」「十面埋伏」、「流水」、「陽春」、「長清」、「鶴鳴九皋」、「文王操」等。",
"jingluobaojian":"按足三里穴、氣海穴、關元穴促進氣血天生,提高人體正氣。",
"yongyaijinji":"慎少苦寒攻伐之品",
"yaowuyangsheng":"可適量服用玉屏風散升迁正氣。",
"shiliao":[
"黃芪稚童雞。將稚童雞一只洗凈,用紗布袋包好生黃芪9克,取一根細線,一端扎緊袋口,置于鍋內,另一端綁在鍋柄上。在鍋中插足蔥姜蒜鹽酒等調料,用文火慢燉時,食肉喝湯。有補中益氣,增強機體抗病本事的功效,適用于體質虛弱、易患風寒感冒者。",
"山藥粥。山藥30g及粳米180g沿途插手鍋中,適量净水煮粥,煮熟即可。具有補中益氣、固肺澀精的作用。",
"合適的食品。粳米、小米、黃米、大麥、莜麥、黃豆、白扁豆、豇豆、蠶豆、豌豆、土豆、白薯、山藥、胡蘿卜、香菇、鯽魚、鵪鶉、鵝肉、鴿蛋、鴿肉、羊心、羊肚、蓮子、菱角、猴頭菇、蘑菇、芡實、紅薯、栗子、人參、黃鱔、蝦等。",
"少吃的食物。蕎麥、柚子、生蘿卜、柑橘、檳榔、空心菜等。"
],
"second_tizhi_name":"陽虛體質"
},
"char":[
{
"type":"深白苔",
"probability":"0.96793604"
},
{
"type":"薄苔",
"probability":"0.9984659"
},
{
"type":"有齒痕",
"probability":"0.5031761"
},
{
"type":"無點刺",
"probability":"0.7591451"
},
{
"type":"裂紋少",
"probability":"0.45037863"
},
{
"type":"膩苔",
"probability":"0.8273132"
},
{
"type":"胖大舌",
"probability":"0.6586307"
},
{
"type":"潤苔",
"probability":"0.70896816"
},
{
"type":"淡紅舌",
"probability":"0.5942306"
},
{
"type":"舌苔不剝",
"probability":"0.9999211"
}
],
"zhengxing":[
{
"zhengxing_name":"濕熱熏蒸",
"jieshi":"濕熱上乘,是由于脾胃運化功能減弱,酿成身體水濕代謝障礙,體內濕濁郁而化熱上蒸酿成頭昏,惡心,頭重如裹,口干口渴等癥狀",
"shiyishiwu":"紅花、山楂、金針菇、草菇、平菇、西米、糯米、黑木耳、甘蔗、酸梅湯、葡萄、百合、水煮花生等",
"jinjishiwu":"吸煙、飲酒、忌生冷寒涼、油炸食品、腌制品、咖啡等刺激性食品、茶葉、醬油、蟹蚌、辣椒、胡椒、花椒等",
"shiyiyundong":"八段錦、五禽戲、太極拳、易筋經、慢跑、室外有氧運動",
"jinjiyundong":"激烈運動",
"shiyiyaoshan":"紅豆綠豆粥",
"shiyiyinyue":" 廣陵散(戴紫茹)"
},
{
"zhengxing_name":"熱盛傷陰",
"jieshi":"是感想四時溫熱病邪所引起的急性熱病,其發病迅速,熱象偏重,故最易化燥傷陰",
"shiyishiwu":"枸杞子、黨參、山藥、龍眼肉、胡蘿卜、蓮藕、豬骨、紅棗、豬肝、橄欖、青菜、粟子、牛肉、雞肉、豇豆、小白菜等",
"jinjishiwu":"吸煙、飲酒、忌生冷寒涼、油炸食物、腌成品、咖啡等刺激性食物等",
"shiyiyundong":"慢跑、溜达、八段錦、五禽戲、太極拳、易筋經、室外有氧運動",
"jinjiyundong":"激烈運動",
"shiyiyaoshan":"竹葉石膏粥",
"shiyiyinyue":"陽春白雪傳奇樂坊 "
},
{
"zhengxing_name":"真陰不足",
"jieshi":"陰虛只是引起虛火上炎原因之一,就是說腎水不足,陰包不住陽,虛陽上逆為害",
"shiyishiwu":"鈴薯、洋蔥、平菇、藕、粟子、山藥、牛肉、雞肉、豇豆、小白菜、西紅柿、蘋果、香蕉、葡萄、牛肉、羊肉等",
"jinjishiwu":"吸煙、飲酒、忌生冷寒涼、油炸食品、腌成品、咖啡等刺激性食物、辣椒等",
"shiyiyundong":"八段錦、五禽戲、太極拳、易筋經、室外有氧運動",
"jinjiyundong":"激烈運動",
"shiyiyaoshan":"天花粉粥",
"shiyiyinyue":"陽春白雪傳奇樂坊 "
},
{
"zhengxing_name":"脾虛或氣虛",
"jieshi":"脾虛指脾胃虛弱。氣虛的范圍廣,包括心氣,肺氣,脾氣,肝氣,腎氣。具體的要根據實時癥狀辯證病癥",
"shiyishiwu":"核桃仁、榴蓮、冬瓜、黑芝麻、 羊腎、牛骨髓、豬腰子、驢肉、烏骨雞、鴨肉、泥鰍、魚肚魚翅、鰻魚",
"jinjishiwu":"辣椒、荔枝、巧克力,香蕉、柑橘、土豆、西紅柿、南瓜、茶葉、醬油,魚蝦蟹蚌、啤酒、戒煙戒酒",
"shiyiyundong":"溜达,八段錦,五禽戲,太極拳,易筋經,吐吶法",
"jinjiyundong":"激烈運動",
"shiyiyaoshan":"蚌肉燉老鴨",
"shiyiyinyue":"十面埋伏傳奇樂坊"
},
{
"zhengxing_name":"寒癥或者寒濕癥",
"jieshi":"寒證分外肝風寒和內寒。寒濕證,中醫認為寒濕包孕外感寒濕和內生寒濕兩個方面。外感寒濕:外感寒濕邪氣,氣血運行受阻。內生寒濕:寒濕內困而損傷脾陽,或脾腎陽虛而寒濕內停",
"shiyishiwu":"馬蹄、橄欖、石榴、青菜、芹菜、菠菜、柑橘、烏梅、檸檬、魚肉等",
"jinjishiwu":"吸煙、飲酒、忌生冷寒涼、油炸食品、腌制品、咖啡等刺激性食品、茶葉、醬油、蟹蚌、辣椒、胡椒、花椒等",
"shiyiyundong":"慢跑、溜达、八段錦、五禽戲、太極拳、易筋經、室外有氧運動",
"jinjiyundong":"激烈運動",
"shiyiyaoshan":"生姜羊肉湯",
"shiyiyinyue":"紫竹調(純樂古箏)"
}
],
"message":"調用成功"
}
}
返回參數說明
| 返回參數 | 說明 |
|---|---|
| cutTongue | 切割后的舌頭圖片url路徑 |
| tizhi | 九種體質對應的概率 |
| xueyu | 血瘀體質對應的概率 |
| shire | 濕熱體質對應的概率 |
| tebing | 特稟體質對應的概率 |
| yangxu | 陽虛體質對應的概率 |
| yinxu | 陰虛體質對應的概率 |
| tanshi | 痰濕體質對應的概率 |
| pinghe | 平和體質對應的概率 |
| qiyu | 氣郁體質對應的概率 |
| qixu | 氣虛體質對應的概率 |
| tiaoli | 概率最高的體質對應的調理建議 |
| tizhi_name | 體質名稱 |
| changjianbiaoxian | 常見表現 |
| jingshentiaoyang | 精神調養 |
| fabingqingxiang | 發病傾向 |
| yuletiaoshe | 娛樂調攝 |
| sijiyangsheng | 四季養生 |
| tiyuduanlian | 體育鍛煉 |
| qijutiaoshe | 起居調攝 |
| yinyuetiaoli | 音樂調理 |
| jingluobaojian | 經絡保健 |
| yongyaojinji | 用藥禁忌 |
| shiliao | 兩種具體的藥膳、適合吃的食物和禁忌食物 |
| zhengxing | 可能的證型和對應的調理方法 |
| zhengxing_name | 證型名稱 |
| jieshi | 證型具體的解釋 |
| shiyishiwu | 適宜食物 |
| jinjishiwu | 禁忌食物 |
| shiyiyundong | 適宜運動 |
| jinjiyundong | 禁忌運動 |
| shiyiyaoshan | 適宜藥膳 |
| shiyiyinyue | 適宜音樂 |
| message | 返回的各種情況,具體說明如下 |
| message參數 | 說明 |
|---|---|
| 圖片路徑有誤 | 原始圖片url路徑有誤 |
| 圖片質量過低 | 拍攝舌頭圖片模糊或無舌頭圖片 |
| 服務器繁忙 | 服務器并發過高 |
| 切割圖片失敗 | 舌頭圖片不完整 |
| 無對應證型 | 有舌頭和體質相關結果,沒有對應的證型結果 |
| 調用成功 | 正常返回所有結果 |
java調用代碼示例
import com.alibaba.fastjson.JSON;
import com.util.HttpClient;
import java.io.IOException;
import java.security.MessageDigest;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class DemoObj {
public static String MD5(String data) throws Exception {
System.out.println(data);
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] array = md.digest(data.getBytes("UTF-8"));
StringBuilder sb = new StringBuilder();
for (byte item : array) {
sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
}
System.out.println(sb.toString().toUpperCase());
return sb.toString().toUpperCase();
}
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String timestamp=df.format(new Date());
Map body = new HashMap<>();
body.put("appid", "你的APPID");
System.out.println(timestamp);
body.put("timestamp", timestamp);
body.put("version", "1.0");
body.put("imgpath", "舌頭圖片地址");
try {
body.put「"sign", MD5「MD5「timestamp」+"你的APPID對應的key"」」;
} catch (Exception e) {
e.printStackTrace();
}
try {
String s = new HttpClient().doPostMap("https://www.swugb.com/admin/api/tongue_analysis_advance", body);
System.out.println(s);
Map maps = (Map) JSON.parse(s);
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
python調用代碼示例
import hashlib
# 導入time模塊
import time
import requests
import json
def Md5(res):
print(res)
md = hashlib.md5() # 構造一個md5
md.update(res.encode(encoding='utf-8'))
# 加密
print(md.hexdigest().upper())
return md.hexdigest().upper()
def testapi():
tures={}
restime=time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
# restime="20190829114035"
#傳入參數
tures['timestamp']=restime
tures['appid']="你的APPID"
tures['version']='1.0'
tures['imgpath']='https://wxr-tongue.oss-cn-beijing.aliyuncs.com/images/tongue/IMG_20200913_134618.jpg'
tures['sign']=Md5「Md5「restime」+"你的APPID對應的key"」
url = "https://www.swugb.com/admin/api/tongue_analysis_advance"
response = requests.post(url, params=tures)
# print(response.text)
print(type(response.text))
load=json.loads(response.text)
print(load)
C#調用代碼示例
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
namespace APITest
{
class Program
{
static void Main(string[] args)
{
Dictionary myDictionary = new Dictionary();
DateTime dt = DateTime.Now;
string ds = dt.ToString("yyyyMMddHHmmss");
myDictionary.Add("timestamp",ds);
myDictionary.Add「"appid", "你的APPID"」;
myDictionary.Add("version","1.0");
myDictionary.Add「"imgpath", "待測圖片的云服務地址"」;
myDictionary.Add「"sign",GetMD5「GetMD5「ds」+ "你的APPID對應的key"」」;
string finalresult = Post("https://www.swugb.com/admin/api/tongue_analysis_advance",myDictionary);
Object jo = JsonConvert.DeserializeObject「finalresult」; //此處結果為结尾的調用結果
Console.WriteLine(jo);
Console.ReadKey();
}
//構造MD5
public static string GetMD5(string sDataIn)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytValue, bytHash;
bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
bytHash = md5.ComputeHash(bytValue);
md5.Clear();
string sTemp = "";
for (int i = 0; i
/// 指定Post地址使用Get 方式獲取全部字符串
///
/// 請求后臺地址
///
public static string Post(string url, Dictionary dic)
{
string result = "";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
#region 添加Post 參數
StringBuilder builder = new StringBuilder();
int i = 0;
foreach (var item in dic)
{
if (i > 0)
builder.Append("&");
builder.AppendFormat("{0}={1}", item.Key, item.Value);
i++;
}
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
#endregion
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//獲取響應內容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
return result;
}
}
}
javascript調用代碼示例
$.ajax({
type: "POST",
url: "https://www.swugb.com/admin/api/tongue_analysis_advance",
data: {
timestamp:restime,
#restime時間格式為YYmmddHHMMSS
appid='你的APPID',
version='1.0',
imgpath='https://wxr-tongue.oss-cn-beijing.aliyuncs.com/images/tongue/IMG_20200913_134618.jpg',
sign=Md5「Md5「restime」+'你的APPID對應的key'」
},
success: function(msg) {
console.log('返回的數據:'+msg);
}
});