|
@@ -0,0 +1,49 @@
|
|
|
+package servers
|
|
|
+
|
|
|
+import (
|
|
|
+ . "app.yhyue.com/moapp/jybase/api"
|
|
|
+ "app.yhyue.com/moapp/jybase/common"
|
|
|
+ "app.yhyue.com/moapp/jybase/go-xweb/xweb"
|
|
|
+ "fmt"
|
|
|
+ "github.com/SKatiyar/qr"
|
|
|
+ "jy-docs/config"
|
|
|
+ "log"
|
|
|
+)
|
|
|
+
|
|
|
+type Share struct {
|
|
|
+ *xweb.Action
|
|
|
+ shareUrl xweb.Mapper `xweb:"/share/url"` //地址分享
|
|
|
+ shareImg xweb.Mapper `xweb:"/share/img"` //链接分享
|
|
|
+}
|
|
|
+
|
|
|
+func (share *Share) ShareUrl() {
|
|
|
+ userId := common.ObjToString(share.GetSession("userId"))
|
|
|
+ rData, errMsg := func() (interface{}, error) {
|
|
|
+ docId := share.GetString("docId") //分享地址
|
|
|
+ return map[string]interface{}{
|
|
|
+ "url": getShareUrl(userId, docId),
|
|
|
+ }, nil
|
|
|
+ }()
|
|
|
+ if errMsg != nil {
|
|
|
+ log.Printf("%s Share err:%s\n", errMsg.Error(), userId)
|
|
|
+ }
|
|
|
+ share.ServeJson(NewResult(rData, errMsg))
|
|
|
+}
|
|
|
+
|
|
|
+func (share *Share) ShareImg() {
|
|
|
+ userId := common.ObjToString(share.GetSession("userId"))
|
|
|
+ docId := share.GetString("docId") //分享地址
|
|
|
+ data := getShareUrl(userId, docId)
|
|
|
+
|
|
|
+ w := share.ResponseWriter
|
|
|
+ w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
|
|
|
+ w.Header().Set("Pragma", "no-cache")
|
|
|
+ w.Header().Set("Expires", "0")
|
|
|
+ w.Header().Set("Content-Type", "image/png")
|
|
|
+ r, _ := qr.Encode(data, qr.M)
|
|
|
+ _, _ = w.Write(r.PNG())
|
|
|
+}
|
|
|
+
|
|
|
+func getShareUrl(userId, docId string) string {
|
|
|
+ return fmt.Sprintf(config.JyDocsAppConfig.ShareUrl+"?userId=%s", docId, userId)
|
|
|
+}
|