mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 21:02:25 +08:00
* [feature] Format the code and improve Mini Program authorization to obtain openid(miniprogram/auth/auth.go Code2Session) * [feature] CheckEncryptedData (https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.checkEncryptedData.html) * upgrade json error * upgrade json error Co-authored-by: houseme <houseme@outlook.com>
42 lines
751 B
Go
42 lines
751 B
Go
package util
|
|
|
|
// SliceChunk 用于将字符串切片分块
|
|
func SliceChunk(src []string, chunkSize int) (chunks [][]string) {
|
|
total := len(src)
|
|
chunks = make([][]string, 0)
|
|
if chunkSize < 1 {
|
|
chunkSize = 1
|
|
}
|
|
if total == 0 {
|
|
return
|
|
}
|
|
|
|
chunkNum := total / chunkSize
|
|
if total%chunkSize != 0 {
|
|
chunkNum++
|
|
}
|
|
|
|
chunks = make([][]string, chunkNum)
|
|
|
|
for i := 0; i < chunkNum; i++ {
|
|
for j := 0; j < chunkSize; j++ {
|
|
offset := i*chunkSize + j
|
|
if offset >= total {
|
|
return
|
|
}
|
|
|
|
if chunks[i] == nil {
|
|
actualChunkSize := chunkSize
|
|
if i == chunkNum-1 && total%chunkSize != 0 {
|
|
actualChunkSize = total % chunkSize
|
|
}
|
|
chunks[i] = make([]string, actualChunkSize)
|
|
}
|
|
|
|
chunks[i][j] = src[offset]
|
|
}
|
|
}
|
|
|
|
return
|
|
}
|