Repository: nacos-group/nacos-sdk-go (go)

Issue:
PublishConfig 不支持传递修改人
如标题，PublishConfig 的参数中没有修改人字段，而 nacos api 里有 src_user 参数，可传递修改人。

我们内部使用的 nacos 并不需要登录，也不使用 nacos 原生控台，二开的 控台可同时管理多个 nacos 集群，这是背景。

以前，我们通过 http 接口和 nacos server 交互，最近准备用 golang，发现 golang 的sdk PublishConfig 没有 src_user 字段，期望添加。

Pull request:
ConfigParam add SrcUser 
ConfigParam 添加 SrcUser 字段，PublishConfig 允许指定修改人。

Patch:
diff --git a/clients/config_client/config_client.go b/clients/config_client/config_client.go
index 34e90f3..132cb86 100644
--- a/clients/config_client/config_client.go
+++ b/clients/config_client/config_client.go
@@ -247,6 +247,7 @@ func (client *ConfigClient) PublishConfig(param vo.ConfigParam) (published bool,
 	request.AdditionMap["appName"] = param.AppName
 	request.AdditionMap["betaIps"] = param.BetaIps
 	request.AdditionMap["type"] = param.Type
+	request.AdditionMap["src_user"] = param.SrcUser
 	request.AdditionMap["encryptedDataKey"] = param.EncryptedDataKey
 	rpcClient := client.configProxy.getRpcClient(client)
 	response, err := client.configProxy.requestProxy(rpcClient, request, constant.DEFAULT_TIMEOUT_MILLS)
diff --git a/vo/config_param.go b/vo/config_param.go
index 87698b2..e7e7d7f 100644
--- a/vo/config_param.go
+++ b/vo/config_param.go
@@ -27,6 +27,7 @@ type ConfigParam struct {
 	BetaIps          string `param:"betaIps"`
 	CasMd5           string `param:"casMd5"`
 	Type             string `param:"type"`
+	SrcUser          string `param:"srcUser"`
 	EncryptedDataKey string `param:"encryptedDataKey"`
 	OnChange         func(namespace, group, dataId, data string)
 }


Test patch:
diff --git a/clients/config_client/config_client_test.go b/clients/config_client/config_client_test.go
index 5239026..04a66fc 100644
--- a/clients/config_client/config_client_test.go
+++ b/clients/config_client/config_client_test.go
@@ -145,6 +145,7 @@ func Test_PublishConfig(t *testing.T) {
 	success, err := client.PublishConfig(vo.ConfigParam{
 		DataId:  localConfigTest.DataId,
 		Group:   "group",
+		SrcUser: "nacos-client-go",
 		Content: "hello world"})
 
 	assert.Nil(t, err)