3 Star 2 Fork 1

fotomxq/weeekj_core

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
core.go 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
fotomxq 提交于 2025-02-05 18:52 +08:00 . 修改项目路径;
package MapAMap
import (
"encoding/json"
"errors"
"fmt"
BaseConfig "gitee.com/fotomxq/weeekj_core/v5/base/config"
CoreFilter "gitee.com/fotomxq/weeekj_core/v5/core/filter"
CoreHttp "gitee.com/fotomxq/weeekj_core/v5/core/http"
"github.com/golang-module/carbon"
"sync"
)
//高德地图API
type dataConfigType struct {
//AppName
AppName string `json:"appName"`
//AppKey
AppKey string `json:"appKey"`
}
const (
//URL前缀
baseURL = "https://restapi.amap.com/v3/"
)
var (
//上次获取配置时间
configLock sync.Mutex
configData dataConfigType
configLastAt carbon.Carbon
)
// GetAppName 获取api name
func getAppName() (name string, err error) {
if err = refConfig(); err != nil {
return
}
name = configData.AppName
return
}
// GetAppKey 获取api key
func getAppKey() (key string, err error) {
if err = refConfig(); err != nil {
return
}
key = configData.AppKey
return
}
// refConfig 更新配置
func refConfig() (err error) {
if configLastAt.Time.Unix()+30 > CoreFilter.GetNowTimeCarbon().Time.Unix() {
return
}
configLock.Lock()
defer configLock.Unlock()
configData.AppName, err = BaseConfig.GetDataString("MapAMapServerKeyName")
if err != nil {
return
}
configData.AppKey, err = BaseConfig.GetDataString("MapAMapServerKey")
if err != nil {
return
}
configLastAt = CoreFilter.GetNowTimeCarbon()
return
}
// 通用get形式获取数据包
func httpGet(url string, params map[string]string, data interface{}) (err error) {
var key string
key, err = getAppKey()
if err != nil {
err = errors.New("get app key, " + err.Error())
return
}
postURL := fmt.Sprint(baseURL, url, "&key=", key)
for k, v := range params {
postURL = fmt.Sprint(postURL, "&", k, "=", CoreHttp.GetURLEncode(v))
}
var dataByte []byte
dataByte, err = CoreHttp.GetData(postURL, nil, "", false)
if err != nil {
return
}
if err = json.Unmarshal(dataByte, data); err != nil {
return
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fotomxq/weeekj_core.git
git@gitee.com:fotomxq/weeekj_core.git
fotomxq
weeekj_core
weeekj_core
v5.4.14

搜索帮助