|
- package svc
-
- import (
- "applet/app/lib/zhimeng"
- "encoding/json"
- "github.com/gin-gonic/gin"
- "github.com/tidwall/gjson"
-
- "applet/app/utils"
- "applet/app/utils/logx"
- )
-
- var DWZ_TOKEN = "eecdf4b18f416b0cf26fef98f7e1f4ff"
-
- // KuaiZhanShortURL is 快站短链
- func KuaiZhanShortURL(c *gin.Context, url string) string {
- args := map[string]interface{}{
- "appkey": SysCfgGet(c, "third_zm_app_key"),
- "secret_key": SysCfgGet(c, "third_zm_app_key"),
- "url": utils.Base64StdEncode(url),
- }
- resp, err := zhimeng.Send("kuaizhan", "short_url", args)
- if err != nil {
- return ""
- }
- kurl := gjson.GetBytes(resp, "data.shortUrl").String()
- if kurl == "" {
- kurl = url
- }
- return kurl
- }
-
- func ShortenUrl(url string) (string, error) {
- host := "https://dwz.cn/admin/v2/create"
- args := map[string]string{
- "Url": url,
- "TermOfValidity": "1-year",
- }
-
- resp, err := utils.CurlPost(host, utils.Serialize(args), map[string]string{
- "Content-Type": "application/json",
- "Token": DWZ_TOKEN,
- })
- // {"Code":0,"IsNew":true,"ShortUrl":"https://dwz.cn/4kSgiKVl","LongUrl":"https://open.taobao.com/search.htm?q=taobao.tbk.sc.material","ErrMsg":""}
- if err != nil {
- return "", logx.Warn(err)
- }
- var tmp struct {
- Code int `json:"Code"`
- IsNew bool `json:"IsNew"`
- ShortURL string `json:"ShortUrl"`
- LongURL string `json:"LongUrl"`
- ErrMsg string `json:"ErrMsg"`
- }
- if err = json.Unmarshal(resp, &tmp); err != nil {
- return url, logx.Warn("resp: " + string(resp) + ", err:" + err.Error())
- }
- if tmp.ShortURL == "" {
- tmp.ShortURL = url
- }
- return tmp.ShortURL, nil
- }
|