package utils

import (
	"github.com/kinisky564477/wechat/component"
)

// Component 微信开放平台
var Component *component.ComponentClient

// ComponentInit 第三方初始化
func ComponentInit(cert map[string]string, updateToken func(map[string]interface{})) {
	Component = component.NewComponentClient(cert, updateToken)
	LogError(Component)
}

// RefreshComponentTicket ticket
func RefreshComponentTicket(ticket string) {
	Component.RefreshTicket(ticket)
}

// WechatInit 微信初始化
func WechatInit(cert map[string]string, reflashToken func(map[string]interface{})) *component.WxClient {
	wechatClient := component.NewWxClient(
		cert,
		Component.GetToken,
		Component.GetCertificate,
		reflashToken,
	)

	return wechatClient
}

// AppendWxClient 增加微信实例
func AppendWxClient(wx *component.WxClient) {
	Component.AppendWxClient(wx)
}