From 581b544864f2c35a97b84e281930ef9213d8e0d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 29 Nov 2019 14:34:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BA=AC=E4=B8=9C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdapi/store_page.go | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go index ce2152ab..8dc3751e 100644 --- a/platformapi/jdapi/store_page.go +++ b/platformapi/jdapi/store_page.go @@ -263,8 +263,9 @@ var ( regexpTable = regexp.MustCompile(`([\s\S]*?)
`) regexpTd = regexp.MustCompile(`([0-9].*)`) regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`) - regexpJDUserList = regexp.MustCompile(`([\s\S]*?)(.*)`) + regexpJDTr = regexp.MustCompile(`([\s\S]*?)`) + regexpJDUserInfo = regexp.MustCompile(`([\s\S]*?)`) + regexpJDUserID = regexp.MustCompile(`value="(.*)"`) ) const ( @@ -594,24 +595,31 @@ func (a *API) GetJdUserBindStoreIDs(userID int) (vendorStoreIDs []string, err er // https://login-o2o.jddj.com/jpuser/list?doPage=false&pageNo=1&appCode=lsp-store&pageSize=20&autoCount=false&_=1574936207872 func (a *API) PrivilegeSearchUser(pageNo int) (storeUserList []*StoreUserInfo, totalCount, totalPage int, err error) { params := map[string]interface{}{ - "pageNo": pageNo, - "appCode": "lsp-store", + "pageNo": pageNo, + "appCode": "lsp-store", + "doPage": false, + "autoCount": false, + "pageSize": 20, } body, err := a.AccessStorePage2("https://login-o2o.jddj.com/jpuser/list", params, false, "") if err != nil { return nil, 0, 0, err } bodyStr := body.(string) - list := regexpJDUserList.FindAllStringSubmatch(bodyStr, -1) + list := regexpJDTr.FindAllStringSubmatch(bodyStr, -1) totalCount = int(utils.Str2Int64(regexpJDUserPage.FindStringSubmatch(bodyStr)[2])) totalPage = int(utils.Str2Int64(regexpJDUserPage.FindStringSubmatch(bodyStr)[1])) for _, v := range list { tdList := regexpJDUserInfo.FindAllStringSubmatch(v[1], -1) - storeUserInfo := &StoreUserInfo{ - LoginName: tdList[0][1], - LockStatus: tdList[9][1], + if len(tdList) > 0 { + id := regexpJDUserID.FindStringSubmatch(tdList[10][0])[1] + storeUserInfo := &StoreUserInfo{ + LoginName: tdList[0][1], + LockStatus: tdList[9][1], + ID: int(utils.Str2Int64(id)), + } + storeUserList = append(storeUserList, storeUserInfo) } - storeUserList = append(storeUserList, storeUserInfo) } return storeUserList, totalCount, totalPage, err }