|
@@ -1,50 +0,0 @@
|
|
|
-package utils
|
|
|
-
|
|
|
-import (
|
|
|
- "net/http"
|
|
|
- "reflect"
|
|
|
- "strings"
|
|
|
-)
|
|
|
-
|
|
|
-// 把value的值按字段分配给 binding
|
|
|
-func StructAssign(binding interface{}, value interface{}) {
|
|
|
- bVal := reflect.ValueOf(binding).Elem()
|
|
|
- vVal := reflect.ValueOf(value).Elem()
|
|
|
- vTypeOfT := vVal.Type()
|
|
|
- for i := 0; i < vVal.NumField(); i++ {
|
|
|
- name := vTypeOfT.Field(i).Name
|
|
|
- if ok := bVal.FieldByName(name).IsValid(); ok {
|
|
|
- bVal.FieldByName(name).Set(reflect.ValueOf(vVal.Field(i).Interface()))
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-func GetOS(req *http.Request) string {
|
|
|
- s := req.UserAgent()
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), "windows") {
|
|
|
- return "windows"
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), "linux") {
|
|
|
- return "linux"
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), "mac") {
|
|
|
- return "mac"
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), "andriod") {
|
|
|
- return "andriod"
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), " iphone") {
|
|
|
- return " iphone"
|
|
|
- }
|
|
|
-
|
|
|
- if strings.Contains(strings.ToLower(s), "wap") {
|
|
|
- return "wap"
|
|
|
- }
|
|
|
-
|
|
|
- return "unknow os"
|
|
|
-}
|