| 123456789101112131415161718192021222324252627282930313233 |
- package util
- import (
- "bytes"
- "sort"
- )
- // OrderParam order params
- func OrderParam(p map[string]string, bizKey string) (returnStr string) {
- keys := make([]string, 0, len(p))
- for k := range p {
- if k == "sign" {
- continue
- }
- keys = append(keys, k)
- }
- sort.Strings(keys)
- var buf bytes.Buffer
- for _, k := range keys {
- if p[k] == "" {
- continue
- }
- if buf.Len() > 0 {
- buf.WriteByte('&')
- }
- buf.WriteString(k)
- buf.WriteByte('=')
- buf.WriteString(p[k])
- }
- buf.WriteString(bizKey)
- returnStr = buf.String()
- return
- }
|