优考试_国产伦精品一区二区三区_免费在线考试系统_国产伦精品一区二区三_培训考试系统_国产伦精品_题库系统_组卷答题系统_匡优考试

跳轉至

考生數據管理接口

注: 所有接口只針對旗艦會員提供,非旗艦會員無法調用,所有開放平臺接口默認共享10QPS

1、獲取考生字段信息

獲取考生字段信息:

GET https://api.kyexam.com/api/v1/student/getFields?code=xxx&time=當前時間戳

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "data":[
        {
            "sfid":1,
            "label":"姓名"
        },
        {
            "sfid":2,
            "label":"性別"
        },
        {
            "sfid":4,
            "label":"手機"
        },
        {
            "sfid":10,
            "label":"密碼"
        }
    ],
    "status":"ok"
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "os"
    "strconv"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/getFields"

    client := &http.Client{}
    fullPath := host + resource

    req, _ := http.NewRequest(http.MethodGet, fullPath, nil)
    time64 := time.Now().UTC().Unix()
    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    q := req.URL.Query()
    q.Add("code", Code)
    q.Add("time", strconv.Itoa(int(time64)))

    req.URL.RawQuery = q.Encode()

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    // fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

2、批量插入考生信息

批量插入考生信息:

POST https://api.kyexam.com/api/v1/student/addStudents

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • info 要插入的數據。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "fail":[
        //如插入失敗,返回數據對應的下標位置
    ],
    "status":"ok",
    "success":[//插入成功的數據...
        {
            "sid":170603,//插入后學生的sid
            "index":1 //數據所在傳入數據的位置
        },
        {
            "sid":170604,
            "index":2
        }
    ]
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/addStudents"

    client := &http.Client{}
    fullPath := host + resource

    info := `
[
    {
        "gid": "2993",
        "fields": [
            {
                "sfid": 4,
                "value": "2993"
            },
            {
                "sfid": 1,
                "value": "stufor2993"
            }
        ]
    },
    {
        "gid": "2994",
        "fields": [
            {
                "sfid": 10,
                "value": "2994"
            },
            {
                "sfid": 1,
                "value": "stufor2994"
            }
        ]
    }
]
    `
    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["info"] = []string{info}
    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

3、批量修改考生信息

批量插入考生信息:

POST https://api.kyexam.com/api/v1/student/changeStuinfo

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • info 要插入的數據。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "fail":[
        //如失敗,返回數據對應的下標位置
    ],
    "status":"ok",
    "success":[
        "170603",//修改成功的sid
        "170604"
    ]
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/changeStuinfo"

    client := &http.Client{}
    fullPath := host + resource

    info := `
[
    {
        "sid":170603,
        "loginValue": "",
        "fields": [
            {
                "sfid": 1,
                "value": "stufor2993change"
            },
            {
                "sfid": 4,
                "value": "18320320xxx"
            }
        ]
    },
    {
        "sid":170604,
        "loginValue": "",
        "fields": [
            {
                "sfid": 1,
                "value": "stufor2994change"
            },
            {
                "sfid": 10,
                "value": "29944"
            }
        ]
    }
]
    `

    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["info"] = []string{info}
    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

4、批量刪除考生信息

批量刪除考生信息:

POST https://api.kyexam.com/api/v1/student/delStu

參數:

code=權限碼&time=當前時間戳&sids=學生唯一id(二選一字段)

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • sids(二選一) 學生唯一id。格式如下:[170603,170604] 也可參照實例代碼

  • loginValues(二選一) 管理員設定的登錄字段,例如名字,手機等。格式如下: ["李三","張四"] 也可參照實例代碼

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "fail":[
        //如失敗,返回數據對應的下標位置
    ],
    "status":"ok",
    "success":[
        "170603",//刪除成功的sid
        "170604"
    ]
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/delStu"

    client := &http.Client{}
    fullPath := host + resource

    sids := "[170603,170604]"
    // loginValues := "[\"登錄字段xx\",\"登錄字段xxx\"]"

    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["sids"] = []string{sids}
    // data["loginValues"] = []string{loginValues}

    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

5、移動考生到組

移動考生到組:

POST https://api.kyexam.com/api/v1/student/movestugroup

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • mvStuInfo 格式請參照示例代碼,在loginValues與sid中任選其一。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "fail":[
        //如失敗,返回數據對應的下標位置
    ],
    "status":"ok",
    "success":[
        "170606",//移動成功的sid
        "170607"
    ]
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/movestugroup"

    client := &http.Client{}
    fullPath := host + resource

    mvStuInfo := `
    {
        "gids": [2993],
        "loginValues":[],                
        "sid":[170606,170607],
        "action": "moveto" 
    }
`

    /*
        上面以sid為例,如使用loginValues 格式如下  ["登錄字段1","登錄字段2"]
        action 可以為 addto moveto delfrom
        addto: 表示添加到組,這個時候一個考生可能存在多個組
        moveto: 表示移動到組,這個時候考生只存在傳入的組
        delfrom: 表示考生從指定組移除,需注意移除后至少應還存在一個組中,否則移除失敗
    */

    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["mvStuInfo"] = []string{mvStuInfo}
    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

6、獲取考生信息

獲取考生信息:

POST https://api.kyexam.com/api/v1/student/getstudentsinfo

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • loginValues(二選一字段) 管理員設定的登錄字段,例如名字,手機等。格式如下: ["李三","張四"] 也可參照實例代碼。

  • sids(二選一字段) 學生唯一id。格式如下:[170603,170604] 也可參照實例代碼。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "data":[
        {
            "sid":170605,
            "fields":[
                {
                    "sFid":1,
                    "label":"姓名",
                    "value":"newstufor2993"
                }
            ],
            "group":[
                {
                    "gid":2993,
                    "title":"2993"
                }
            ]
        },
        {
            "sid":170606,
            "fields":[
                {
                    "sFid":1,
                    "label":"姓名",
                    "value":"newstufor2994"
                }
            ],
            "group":[
                {
                    "gid":2993,
                    "title":"2993"
                }
            ]
        }
    ],
    "fail":[
        //如失敗,返回對應的sid或loginValues,這種情況可能是因為考生已被刪除
    ],
    "status":"ok"
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/getstudentsinfo"

    client := &http.Client{}
    fullPath := host + resource

    // sids := "[170603,170604]"
    sids := "[170605,170606]"
    // loginValues := "[\"登錄字段xx\",\"登錄字段xxx\"]"

    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["sids"] = []string{sids}
    // data["loginValues"] = []string{loginValues}

    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

7、獲取考生列表

獲取考生列表:

POST https://api.kyexam.com/api/v1/student/getstulist

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • start 分頁參數。

  • limit 查詢個數,最大為100。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "data":[
        {
            "loginValue":"newstufor2993",
            "fields":[
                {
                    "sFid":1,
                    "label":"姓名",
                    "value":"newstufor2993"
                },
                {
                    "sFid":4,
                    "label":"手機",
                    "value":"2993"
                }
            ]
        },
        {
            "loginValue":"newstufor2994",
            "fields":[
                {
                    "sFid":1,
                    "label":"姓名",
                    "value":"newstufor2994"
                },
                {
                    "sFid":10,
                    "label":"密碼",
                    "value":"2994"
                }
            ]
        },
        {
            "loginValue":"newstufor29942",
            "fields":[
                {
                    "sFid":1,
                    "label":"姓名",
                    "value":"newstufor29942"
                },
                {
                    "sFid":10,
                    "label":"密碼",
                    "value":"2994"
                }
            ]
        }
    ],
    "status":"ok",
    "total":12
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/getstulist"

    client := &http.Client{}
    fullPath := host + resource

    time64 := time.Now().UTC().Unix()

    data := make(url.Values)
    data["code"] = []string{Code}
    data["start"] = []string{"0"}
    data["limit"] = []string{"3"}

    data["time"] = []string{strconv.Itoa(int(time64))}

    req, _ := http.NewRequest(http.MethodPost, fullPath, strings.NewReader(data.Encode()))

    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

8、獲取所有考生或者單一考生的考試記錄

獲取考生列表:

GET https://api.kyexam.com/api/v1/student/queryresults

參數:

code=權限碼&time=當前時間戳

參數說明:

  • code 每個賬戶唯一對應的驗證碼,string類型,旗艦會員及以上可在系統設置->開放平臺設置中獲取。

  • time 當前時間戳,例如1638768935。

  • start 分頁參數。

  • limit 查詢個數,最大為100。

  • loginValues 如需查詢單個考生的考試記錄,需配合eid使用。

  • eid 如需查詢單個考生的考試記錄,需配合loginValues使用,詳見示例代碼。

  • Authorization 放到請求頭的Token,詳見示例代碼。簡單來說就是:將當前時間戳和您的code拼接起來,進行MD5加密而得。

如果操作成功,則返回:

{
    "data":[
        {
            "viewResult":"https://api.kyexam.com/transgetresult?tid=xxx\u0026token=xxx", //試卷詳情鏈接,其中 '\u0026' 為 '&' 符號, 需要轉碼方可正常使用。
            "score":"2",//分數
            "passed":"0",//考試是否及格
            "status":"1",
            "startTime":"1639647217",//考試考試時間
            "endTime":"1639647236",//考試結束時間
            "sid":"170597",
            "loginValue":"n11",//登錄字段
            "name":"n11",//考生名字
            "eid":"107264"//試卷id
        },
        {
            "viewResult":"https://api.kyexam.com/transgetresult?tid=xxx\u0026token=xxx",
            "score":"1",
            "passed":"0",
            "status":"1",
            "startTime":"1639647122",
            "endTime":"1639647132",
            "sid":"170597",
            "loginValue":"n11",
            "name":"n11",
            "eid":"107264"
        }
    ],
    "status":"ok",
    "total":1877
}

如果操作失敗,則返回:


接口使用示例:

package main

import (
    "crypto/md5"
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "os"
    "strconv"
    "time"
)

const (
    Code = "xxx"
)

func main() {
    host := "https://api.kyexam.com"
    resource := "/api/v1/student/queryresults"

    client := &http.Client{}
    fullPath := host + resource

    req, _ := http.NewRequest(http.MethodGet, fullPath, nil)
    time64 := time.Now().UTC().Unix()
    ParseToken := fmt.Sprintf("%x", md5.Sum([]byte(strconv.FormatInt(time64, 10)+Code)))
    req.Header.Set("Authorization", ParseToken)

    q := req.URL.Query()
    q.Add("code", Code)

    q.Add("start", "0")
    q.Add("limit", "2")
    //   ↑↑獲取所有考生考試數據↑↑

    // ↓↓獲取單一考生參與考試的記錄↓↓
    // q.Add("loginValues", "n11")
    // q.Add("eid", "107264")

    q.Add("time", strconv.Itoa(int(time64)))

    req.URL.RawQuery = q.Encode()

    resp, err := client.Do(req)
    if err != nil {
        log.Println(err)
        return
    }

    defer resp.Body.Close()

    b, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Println(err)
        return
    }

    // fmt.Println(string(b))
    f, _ := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
    f.Write(b)
}

主站蜘蛛池模板: 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 广东成考网-广东成人高考网 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 聚合氯化铝价格_聚合氯化铝厂家_pac絮凝剂-唐达净水官网 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 二手注塑机回收_旧注塑机回收_二手注塑机买卖 - 大鑫二手注塑机 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | PVC快速门-硬质快速门-洁净室快速门品牌厂家-苏州西朗门业 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 丹佛斯压力传感器,WISE温度传感器,WISE压力开关,丹佛斯温度开关-上海力笙工业设备有限公司 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 电动手术床,医用护理床,led手术无影灯-曲阜明辉医疗设备有限公司 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 |