|
@@ -118,3 +118,38 @@ func AddUserLogs(T_uuid, T_class, T_title string, T_txt interface{}) {
|
|
|
// 发布-订阅 模式,向 test1 发布一个 `Hello World` 数据
|
|
|
_ = Nats.Publish("Cold_User_AddUserLogs", b)
|
|
|
}
|
|
|
+
|
|
|
+func CheckUserPermissions(Power_Id int, Req_Url string) bool {
|
|
|
+ type T_Req struct {
|
|
|
+ Power_Id int `xml:"Power_Id"` // 权限id
|
|
|
+ Req_Url string `xml:"Req_Url"` // 请求url
|
|
|
+ }
|
|
|
+ t_Req := T_Req{
|
|
|
+ Power_Id: Power_Id,
|
|
|
+ Req_Url: Req_Url,
|
|
|
+ }
|
|
|
+ b, _ := msgpack.Marshal(&t_Req)
|
|
|
+
|
|
|
+ // 请求-响应, 向 verification 发布一个 `ToKey` 请求数据,设置超时间3秒,如果有多个响应,只接收第一个收到的消息
|
|
|
+ msg, err := Nats.Request("Cold_User_CheckUserPermissions", b, 3*time.Second)
|
|
|
+ fmt.Printf("CheckUserPermissions : %s\n", string(msg.Data))
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ type T_R struct {
|
|
|
+ Code int16 `xml:"Code"`
|
|
|
+ Msg string `xml:"Msg"`
|
|
|
+ Pass bool `xml:"Pass"` // 泛型
|
|
|
+ }
|
|
|
+
|
|
|
+ var t_R T_R
|
|
|
+
|
|
|
+ err = msgpack.Unmarshal(msg.Data, &t_R)
|
|
|
+ if err != nil {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+ return t_R.Pass
|
|
|
+}
|