1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package ali
- import (
- "fmt"
- "github.com/smartwalle/alipay/v3"
- "io/ioutil"
- "sync"
- "xiaoniaokuaiyan.com/xiaoniao/config"
- )
- /**
- * @Author: qz
- * @Date: 2021/8/6 10:41
- * @Description:
- */
- var aliClient *alipay.Client
- var once sync.Once
- type Config map[string]string
- var DefaultConfig Config
- func createClient() {
- sec := config.IniConf.Section("ali")
- DefaultConfig = Config{
- "appid": sec.Key("ali.appid").Value(),
- "private_key": sec.Key("ali.private_key").Value(),
- "app_crt": sec.Key("ali.app_crt").Value(),
- "ali_crt": sec.Key("ali.ali_crt").Value(),
- "ali_root_crt": sec.Key("ali.ali_root_crt").Value(),
- }
- privateKey, err := ioutil.ReadFile(DefaultConfig["private_key"])
- if err != nil {
- fmt.Println(err)
- return
- }
- aliClient, _ = alipay.New(DefaultConfig["appid"], string(privateKey), true)
- aliClient.LoadAliPayPublicCertFromFile(DefaultConfig["ali_crt"])
- aliClient.LoadAliPayRootCertFromFile(DefaultConfig["ali_root_crt"])
- aliClient.LoadAppPublicCertFromFile(DefaultConfig["app_crt"])
- }
- func GetAliClient() *alipay.Client {
- once.Do(func() {
- createClient()
- config.RegistChangeCallback(createClient)
- })
- return aliClient
- }
|