| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -3,6 +3,10 @@ package siterpc | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import ( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"encoding/json" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"errors" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"log" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"reflect" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"git.tetele.net/tgo/helper" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/** | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -10,13 +14,14 @@ import ( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * 2021/09/04 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * GZ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func GetAllConfig(site_id, dbname string, url ...string) ([]map[string]string, error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func GetAllConfig(site_id, dbname string, url ...string) (map[string]string, error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if dbname == "" { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return nil, errors.New("参数错误") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						conn, err := rpc_server_conn(url...) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if err != nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return nil, err | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -50,7 +55,43 @@ func GetAllConfig(site_id, dbname string, url ...string) ([]map[string]string, e | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if err != nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return nil, err | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return res_arr, nil | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						var res_map map[string]string = make(map[string]string) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if len(res_arr) > 0 { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							var value string | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for _, info := range res_arr { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								value = "" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								switch info["Type"] { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								case "select": | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									var content interface{} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									err = json.Unmarshal([]byte(info["Content"]), &content) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if err != nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										log.Println(err) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									content_type := reflect.TypeOf(content).String() //数据字典的类型
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									switch content_type { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									case "[]interface {}": //数组形式,value字段对应数组的key
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										list := content.([]interface{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										val_key := helper.ToInt(info["Value"]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										value = helper.ToString(list[val_key]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									case "map[string]interface {}": //map形式,value字段对应key
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										list := content.(map[string]interface{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										value = helper.ToString(list[info["Value"]]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								default: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									value = info["Value"] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								res_map[info["Name"]] = value | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return res_map, nil | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -59,7 +100,7 @@ func GetAllConfig(site_id, dbname string, url ...string) ([]map[string]string, e | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * 2021/09/04 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * GZ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func GetGroupConfig(site_id, dbname string, groupname string, url ...string) ([]map[string]string, error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func GetGroupConfig(site_id, dbname string, groupname string, url ...string) (map[string]string, error) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if dbname == "" { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return nil, errors.New("参数错误") | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -99,6 +140,43 @@ func GetGroupConfig(site_id, dbname string, groupname string, url ...string) ([] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if err != nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							return nil, err | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return res_arr, nil | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						var res_map map[string]string = make(map[string]string) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if len(res_arr) > 0 { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							var value string | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for _, info := range res_arr { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								value = "" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								switch info["Type"] { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								case "select": | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									var content interface{} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									err = json.Unmarshal([]byte(info["Content"]), &content) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if err != nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										log.Println(err) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									content_type := reflect.TypeOf(content).String() //数据字典的类型
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									switch content_type { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									case "[]interface {}": //数组形式,value字段对应数组的key
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										list := content.([]interface{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										val_key := helper.ToInt(info["Value"]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										value = helper.ToString(list[val_key]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									case "map[string]interface {}": //map形式,value字段对应key
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										list := content.(map[string]interface{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										value = helper.ToString(list[info["Value"]]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								default: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									value = info["Value"] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								res_map[info["Name"]] = value | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return res_map, nil | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} |