From 0877eaa4f4e05a375f2dee3f6573230af2116587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 21 Apr 2020 14:12:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E5=A3=B0=E9=9F=B3=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/feieapi/feieapi.go | 2 + platformapi/feieapi/feiepage.go | 65 +++++++++++++++++++ platformapi/feieapi/feiepage_test.go | 12 ++++ platformapi/yilianyunapi/yilianyunapi.go | 10 +++ platformapi/yilianyunapi/yilianyunapi_test.go | 7 +- 5 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 platformapi/feieapi/feiepage.go create mode 100644 platformapi/feieapi/feiepage_test.go diff --git a/platformapi/feieapi/feieapi.go b/platformapi/feieapi/feieapi.go index 31e0036c..bbe6402f 100644 --- a/platformapi/feieapi/feieapi.go +++ b/platformapi/feieapi/feieapi.go @@ -52,6 +52,8 @@ var ( ) type API struct { + platformapi.APICookie + user string ukey string client *http.Client diff --git a/platformapi/feieapi/feiepage.go b/platformapi/feieapi/feiepage.go new file mode 100644 index 00000000..98ea90c7 --- /dev/null +++ b/platformapi/feieapi/feiepage.go @@ -0,0 +1,65 @@ +package feieapi + +import ( + "fmt" + "net/http" + "strings" + + "git.rosy.net.cn/baseapi" + "git.rosy.net.cn/baseapi/platformapi" + "git.rosy.net.cn/baseapi/utils" +) + +const ( + url = "http://admin.feieyun.com" +) + +func (a *API) AccessStorePage(subURL string, params map[string]interface{}) (retVal map[string]interface{}, err error) { + if a.GetCookieCount() == 0 { + return nil, fmt.Errorf("需要设置Store Cookie才能使用此方法") + } + err = platformapi.AccessPlatformAPIWithRetry(a.client, + func() *http.Request { + request, _ := http.NewRequest(http.MethodPost, utils.GenerateGetURL(url, subURL, nil), strings.NewReader(utils.Map2URLValues(params).Encode())) + request.Header.Set("Content-Type", "application/x-www-form-urlencoded") + a.FillRequestCookies(request) + return request + }, + a.config, + func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) { + if jsonResult1 == nil { + return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil") + } + retVal = jsonResult1 + baseapi.SugarLogger.Debugf("ebai AccessStorePage failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true)) + return platformapi.ErrLevelSuccess, err + }) + return retVal, err +} + +// 设置打印机声音 +func (a *API) SetSound(sn, beeperalarm string) (err error) { + size := translateSoundSize(beeperalarm) + _, err = a.AccessStorePage("api.php", map[string]interface{}{ + "action": "Printer_setPrinterConfig", + "uid": "2013191", + "sn": sn, + "printautocut": "N", + "beeperalarm": size, + }) + return err +} + +func translateSoundSize(beeperalarm string) (size string) { + switch beeperalarm { + case "0": + size = "N" + case "1": + size = "U" + case "2": + size = "V" + case "3": + size = "W" + } + return size +} diff --git a/platformapi/feieapi/feiepage_test.go b/platformapi/feieapi/feiepage_test.go new file mode 100644 index 00000000..5a8daf68 --- /dev/null +++ b/platformapi/feieapi/feiepage_test.go @@ -0,0 +1,12 @@ +package feieapi + +import ( + "testing" + + "git.rosy.net.cn/baseapi" +) + +func TestSetSound(t *testing.T) { + err := api.SetSound("218510310", "2") + baseapi.SugarLogger.Debug(err) +} diff --git a/platformapi/yilianyunapi/yilianyunapi.go b/platformapi/yilianyunapi/yilianyunapi.go index ef08c085..bffd82a1 100644 --- a/platformapi/yilianyunapi/yilianyunapi.go +++ b/platformapi/yilianyunapi/yilianyunapi.go @@ -278,3 +278,13 @@ func (a *API) GetOrderPagingList(machineCode, token string, pageIndex, pageSize } return orderResultList, err } + +// 设置打印机声音 +func (a *API) SetSound(machineCode, voice string) (err error) { + _, err = a.AccessAPI("printer/setsound", map[string]interface{}{ + "machine_code": machineCode, + "response_type": "horn", //蜂鸣器buzzer或喇叭,易连云默认喇叭 + "voice": voice, + }, "") + return err +} diff --git a/platformapi/yilianyunapi/yilianyunapi_test.go b/platformapi/yilianyunapi/yilianyunapi_test.go index f39b0601..a046b83e 100644 --- a/platformapi/yilianyunapi/yilianyunapi_test.go +++ b/platformapi/yilianyunapi/yilianyunapi_test.go @@ -21,7 +21,7 @@ func init() { // 自有应用 api = New("1039586024", "4885d07c2997b661102e4b6099c0bf3b") - api.SetToken("3a38e3cec7974b459a6f0a381c9b0312") + api.SetToken("852dd259dc244c579e2a987857932606") // 开放应用 // api = New("1098307169", "d5eedb40c99e6691b1ca2ba82a363d6a") @@ -103,3 +103,8 @@ func TestGetOrderPagingList(t *testing.T) { handleError(t, err) t.Log(utils.Format4Output(result, true)) } + +func TestSetSound(t *testing.T) { + err := api.SetSound("4004617180", "2") + handleError(t, err) +}