mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-11-04 11:22:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package push
 | 
						|
 | 
						|
import (
 | 
						|
	"Open_IM/internal/push/jpush/common"
 | 
						|
	"Open_IM/internal/push/jpush/requestBody"
 | 
						|
	"Open_IM/pkg/common/config"
 | 
						|
	"bytes"
 | 
						|
	"encoding/json"
 | 
						|
	"io/ioutil"
 | 
						|
	"net/http"
 | 
						|
)
 | 
						|
 | 
						|
type JPushResp struct {
 | 
						|
}
 | 
						|
 | 
						|
func JGAccountListPush(accounts []string, alert, detailContent, platform string) ([]byte, error) {
 | 
						|
 | 
						|
	var pf requestBody.Platform
 | 
						|
	_ = pf.SetPlatform(platform)
 | 
						|
	var au requestBody.Audience
 | 
						|
	au.SetAlias(accounts)
 | 
						|
	var no requestBody.Notification
 | 
						|
	no.SetAlert(alert, platform)
 | 
						|
	var me requestBody.Message
 | 
						|
	me.SetMsgContent(detailContent)
 | 
						|
	var o requestBody.Options
 | 
						|
	o.SetApnsProduction(false)
 | 
						|
	var po requestBody.PushObj
 | 
						|
	po.SetPlatform(&pf)
 | 
						|
	po.SetAudience(&au)
 | 
						|
	po.SetNotification(&no)
 | 
						|
	po.SetMessage(&me)
 | 
						|
	po.SetOptions(&o)
 | 
						|
 | 
						|
	con, err := json.Marshal(po)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
 | 
						|
	client := &http.Client{}
 | 
						|
 | 
						|
	req, err := http.NewRequest("POST", config.Config.Push.Jpns.PushUrl, bytes.NewBuffer(con))
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	req.Header.Set("Authorization", common.GetAuthorization(config.Config.Push.Jpns.AppKey, config.Config.Push.Jpns.MasterSecret))
 | 
						|
 | 
						|
	resp, err := client.Do(req)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	defer resp.Body.Close()
 | 
						|
	result, err := ioutil.ReadAll(resp.Body)
 | 
						|
	if err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return result, nil
 | 
						|
}
 |