Bläddra i källkod

fix: improve xcx haibao screenshot rendering

Codex 1 vecka sedan
förälder
incheckning
1acf0512e9

+ 5 - 0
go/gopath/src/fohow.com/apps/controllers/balance_controller/balance_controller.go

@@ -77,6 +77,7 @@ func (self *BalanceController) GetBalanceList() {
 	for _, item := range list {
 		item.SourceName = item.GetSourceName()
 		item.CTime = item.CreatedAt.Unix()
+		item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	}
 
 	self.Data["json"] = &BalanceInfo{BalanceList: list, BalanceCount: count}
@@ -97,6 +98,7 @@ func (self *BalanceController) GetBalanceDetail() {
 		self.ReturnError(403, apps.BalanceNotExist, "", nil)
 	}
 	item.CTime = item.CreatedAt.Unix()
+	item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	item.SourceName = item.GetSourceName()
 	self.Data["json"] = item
 	self.ServeJSON()
@@ -116,6 +118,7 @@ func (self *BalanceController) GetCashBalanceDetail() {
 		self.ReturnError(403, apps.BalanceNotExist, "", nil)
 	}
 	item.CTime = item.CreatedAt.Unix()
+	item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	item.SourceName = item.GetSourceName()
 	self.Data["json"] = item
 	self.ServeJSON()
@@ -144,6 +147,7 @@ func (self *BalanceController) GetCashBalanceList() {
 	for _, item := range list {
 		// item.SourceName = item.GetSourceName()
 		item.CTime = item.CreatedAt.Unix()
+		item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	}
 
 	self.Data["json"] = &BalanceInfo{BalanceList: list, BalanceCount: count}
@@ -436,6 +440,7 @@ func (self *BalanceController) GetCashToBalanceList() {
 	for _, item := range list {
 		// item.SourceName = item.GetSourceName()
 		item.CTime = item.CreatedAt.Unix()
+		item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	}
 
 	self.Data["json"] = &BalanceInfo{BalanceList: list, BalanceCount: count}

+ 4 - 3
go/gopath/src/fohow.com/apps/controllers/balance_controller/silver_controller.go

@@ -7,7 +7,7 @@ import (
 	"strconv"
 )
 
-//银豆和银豆余额
+// 银豆和银豆余额
 func (self *BalanceController) GetSilverInfo() {
 	type BalanceInfo struct {
 		Total int64 `orm:"-" json:"total"` //余额,单位分
@@ -24,7 +24,7 @@ func (self *BalanceController) GetSilverInfo() {
 	self.ServeJSON()
 }
 
-//银豆变动列表
+// 银豆变动列表
 func (self *BalanceController) GetSilverList() {
 	page, _ := self.GetInt64("page", 1)
 	perPage, _ := self.GetInt64("per_page", 20)
@@ -45,13 +45,14 @@ func (self *BalanceController) GetSilverList() {
 	for _, item := range list {
 		item.SourceName = item.GetSourceName()
 		item.CTime = item.CreatedAt.Unix()
+		item.CreatedAtText = item.CreatedAt.Format("2006-01-02 15:04:05")
 	}
 
 	self.Data["json"] = &BalanceInfo{BalanceList: list, BalanceCount: count}
 	self.ServeJSON()
 }
 
-//资金详情
+// 资金详情
 func (self *BalanceController) GetSilverDetail() {
 	_id := self.Ctx.Input.Param(":id")
 	id, _ := strconv.ParseInt(_id, 10, 64)

+ 15 - 2
go/gopath/src/fohow.com/apps/controllers/tool_controller/qrcode_controller.go

@@ -72,6 +72,7 @@ func (self *ToolController) GetHaibaoWithGoogle() {
 	}
 
 	beego.BeeLogger.Info("GetHaibaoWithGoogle start url=[%s]", maskURLForLog(decodedUri))
+	renderURL := appendHaibaoCacheBuster(decodedUri)
 	//title := self.GetString("title")
 	// 创建上下文
 	ctx, cancel := chromedp.NewContext(context.Background(), chromedp.WithErrorf(chromedpErrorLogf))
@@ -84,7 +85,7 @@ func (self *ToolController) GetHaibaoWithGoogle() {
 	// 运行任务(导航到网页,并捕获屏幕截图)
 	err = chromedp.Run(ctx,
 		chromedp.EmulateViewport(1400, 800), // 设置视口宽度为 1400,高度为 800
-		chromedp.Navigate(decodedUri),       // 替换为你想截图的网页地址
+		chromedp.Navigate(renderURL),        // 替换为你想截图的网页地址
 		chromedp.WaitReady("body", chromedp.ByQuery),
 	)
 	if err != nil {
@@ -118,6 +119,7 @@ func (self *ToolController) GetOtherHaibaoWithGoogle() {
 	}
 
 	beego.BeeLogger.Info("GetOtherHaibaoWithGoogle start url=[%s]", maskURLForLog(decodedUri))
+	renderURL := appendHaibaoCacheBuster(decodedUri)
 	//title := self.GetString("title")
 	// 创建上下文
 	ctx, cancel := chromedp.NewContext(context.Background(), chromedp.WithErrorf(chromedpErrorLogf))
@@ -130,7 +132,7 @@ func (self *ToolController) GetOtherHaibaoWithGoogle() {
 	// 运行任务(导航到网页,并捕获屏幕截图)
 	err = chromedp.Run(ctx,
 		chromedp.EmulateViewport(1400, 800),          // 设置视口宽度为 1400,高度为 800
-		chromedp.Navigate(decodedUri),                // 替换为你想截图的网页地址
+		chromedp.Navigate(renderURL),                 // 替换为你想截图的网页地址
 		chromedp.WaitReady("body", chromedp.ByQuery), // 等待页面的 <body> 元素加载完成
 	)
 	if err != nil {
@@ -219,6 +221,17 @@ func chromedpErrorLogf(format string, args ...interface{}) {
 	beego.BeeLogger.Error("chromedp error: %s", msg)
 }
 
+func appendHaibaoCacheBuster(rawURL string) string {
+	u, err := url.Parse(rawURL)
+	if err != nil {
+		return rawURL
+	}
+	q := u.Query()
+	q.Set("_haibao_ts", fmt.Sprintf("%d", time.Now().UnixNano()))
+	u.RawQuery = q.Encode()
+	return u.String()
+}
+
 func captureNonBlankScreenshot(ctx context.Context, safeURL string, quality int) ([]byte, error) {
 	waitPlan := []time.Duration{
 		3 * time.Second,

+ 18 - 17
go/gopath/src/fohow.com/apps/models/balance_model/balance.go

@@ -61,17 +61,18 @@ const (
 )
 
 type Balance struct {
-	Id         int64     `orm:"column(id);pk"                                  json:"id"`          // int(11)
-	UserId     int64     `orm:"column(user_id);null"                           json:"user_id"`     // int(11)
-	WxUserId   int64     `orm:"column(wx_user_id);null"                        json:"wx_user_id"`  // int(11)
-	Count      int64     `orm:"column(count);null"                             json:"count"`       // int(11)
-	Source     string    `orm:"column(source);null"                            json:"source"`      // varchar(20)
-	SourceName string    `orm:"-"                                              json:"source_name"` // varchar(20)
-	RelateId   string    `orm:"column(relate_id);null"                         json:"relate_id"`   // varchar(255)
-	Remark     string    `orm:"column(remark);null"                            json:"remark"`      // varchar(255)
-	CreatedAt  time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"`           // datetime
-	CTime      int64     `orm:"-"                                              json:"ctime"`       // datetime
-	UpdatedAt  time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"`           // datetime
+	Id            int64     `orm:"column(id);pk"                                  json:"id"`          // int(11)
+	UserId        int64     `orm:"column(user_id);null"                           json:"user_id"`     // int(11)
+	WxUserId      int64     `orm:"column(wx_user_id);null"                        json:"wx_user_id"`  // int(11)
+	Count         int64     `orm:"column(count);null"                             json:"count"`       // int(11)
+	Source        string    `orm:"column(source);null"                            json:"source"`      // varchar(20)
+	SourceName    string    `orm:"-"                                              json:"source_name"` // varchar(20)
+	RelateId      string    `orm:"column(relate_id);null"                         json:"relate_id"`   // varchar(255)
+	Remark        string    `orm:"column(remark);null"                            json:"remark"`      // varchar(255)
+	CreatedAt     time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"`           // datetime
+	CreatedAtText string    `orm:"-"                                              json:"created_at"`  // datetime
+	CTime         int64     `orm:"-"                                              json:"ctime"`       // datetime
+	UpdatedAt     time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"`           // datetime
 }
 
 func (self *Balance) TableName() string {
@@ -120,7 +121,7 @@ func (self *Balance) Create(wxUId, uId, c int64, s, rId, remark string) (item *B
 	return item
 }
 
-//返回source名称
+// 返回source名称
 func (self *Balance) GetSourceName() string {
 	sourceName := ""
 	switch self.Source {
@@ -162,7 +163,7 @@ func GetBalanceById(id int64) *Balance {
 	return item
 }
 
-//获取某人的现金流列表
+// 获取某人的现金流列表
 func GetBalanceListByWxUId(wxUId, page, perPage int64, useCache bool) (list []*Balance) {
 	k := fmt.Sprintf("balance_model.GetBalanceList.wxUId(%d).page(%d).perPage(%d)", wxUId, page, perPage)
 	if useCache {
@@ -185,7 +186,7 @@ func GetBalanceListByWxUId(wxUId, page, perPage int64, useCache bool) (list []*B
 	return list
 }
 
-//获取某人的现金流列表总条数
+// 获取某人的现金流列表总条数
 func GetBalanceCountByWxUId(wxUId int64) int64 {
 	item := new(Balance)
 	o := orm.NewOrm()
@@ -193,7 +194,7 @@ func GetBalanceCountByWxUId(wxUId int64) int64 {
 	return count
 }
 
-//获取某个用户的余额
+// 获取某个用户的余额
 func GetUserTotalBalance(wxUId int64) int64 {
 	type Ret struct {
 		Count int64
@@ -213,7 +214,7 @@ func GetUserTotalBalance(wxUId int64) int64 {
 	return ret.Count
 }
 
-//获取某个source累计余额
+// 获取某个source累计余额
 func GetBalanceCountBySource(wxUId int64, source string) int64 {
 	type Ret struct {
 		Count int64
@@ -339,7 +340,7 @@ func (self *BalanceOrder) GetOrderIdPrefix() string {
 	return prefix
 }
 
-//生成订单ID
+// 生成订单ID
 func createOrderId(prefix string) string {
 	if prefix == "" {
 		return ""

+ 11 - 10
go/gopath/src/fohow.com/apps/models/balance_model/cash_balance.go

@@ -94,16 +94,17 @@ const (
 
 // 现金余额表
 type CashBalance struct {
-	Id         int64     `orm:"column(id);pk"                                       json:"id"`        // int(11)
-	WxUId      int64     `orm:"column(wx_uid)"                                      json:"wx_uid"`    // int(11)
-	Count      int64     `orm:"column(count)"                                       json:"count"`     // int(11)
-	Source     string    `orm:"column(source);null"                                 json:"source"`    // varchar(64)
-	SourceName string    `orm:"-"                                 json:"source_name"`                 // varchar(64)
-	RelateId   string    `orm:"column(relate_id);null"                              json:"relate_id"` // varchar(255)
-	Remark     string    `orm:"column(remark);null"                                 json:"remark"`    // varchar(255)
-	CTime      int64     `orm:"-"                                       json:"ctime"`                 // int(11)
-	CreatedAt  time.Time `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"`         // datetime
-	UpdatedAt  time.Time `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"`         // datetime
+	Id            int64     `orm:"column(id);pk"                                       json:"id"`        // int(11)
+	WxUId         int64     `orm:"column(wx_uid)"                                      json:"wx_uid"`    // int(11)
+	Count         int64     `orm:"column(count)"                                       json:"count"`     // int(11)
+	Source        string    `orm:"column(source);null"                                 json:"source"`    // varchar(64)
+	SourceName    string    `orm:"-"                                 json:"source_name"`                 // varchar(64)
+	RelateId      string    `orm:"column(relate_id);null"                              json:"relate_id"` // varchar(255)
+	Remark        string    `orm:"column(remark);null"                                 json:"remark"`    // varchar(255)
+	CTime         int64     `orm:"-"                                       json:"ctime"`                 // int(11)
+	CreatedAt     time.Time `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"`         // datetime
+	CreatedAtText string    `orm:"-"                                       json:"created_at"`            // datetime
+	UpdatedAt     time.Time `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"`         // datetime
 }
 
 // 充值订单表

+ 12 - 11
go/gopath/src/fohow.com/apps/models/balance_model/silver.go

@@ -13,17 +13,18 @@ const (
 )
 
 type Silver struct {
-	Id         int64     `orm:"column(id);pk"                                  json:"id"`          // int(11)
-	UserId     int64     `orm:"column(user_id);null"                           json:"user_id"`     // int(11)
-	WxUserId   int64     `orm:"column(wx_user_id);null"                        json:"wx_user_id"`  // int(11)
-	Count      int64     `orm:"column(count);null"                             json:"count"`       // int(11)
-	Source     string    `orm:"column(source);null"                            json:"source"`      // varchar(20)
-	SourceName string    `orm:"-"                                              json:"source_name"` // varchar(20)
-	RelateId   string    `orm:"column(relate_id);null"                         json:"relate_id"`   // varchar(255)
-	Remark     string    `orm:"column(remark);null"                            json:"remark"`      // varchar(255)
-	CreatedAt  time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"`           // datetime
-	CTime      int64     `orm:"-"                                              json:"ctime"`       // datetime
-	UpdatedAt  time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"`           // datetime
+	Id            int64     `orm:"column(id);pk"                                  json:"id"`          // int(11)
+	UserId        int64     `orm:"column(user_id);null"                           json:"user_id"`     // int(11)
+	WxUserId      int64     `orm:"column(wx_user_id);null"                        json:"wx_user_id"`  // int(11)
+	Count         int64     `orm:"column(count);null"                             json:"count"`       // int(11)
+	Source        string    `orm:"column(source);null"                            json:"source"`      // varchar(20)
+	SourceName    string    `orm:"-"                                              json:"source_name"` // varchar(20)
+	RelateId      string    `orm:"column(relate_id);null"                         json:"relate_id"`   // varchar(255)
+	Remark        string    `orm:"column(remark);null"                            json:"remark"`      // varchar(255)
+	CreatedAt     time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"`           // datetime
+	CreatedAtText string    `orm:"-"                                              json:"created_at"`  // datetime
+	CTime         int64     `orm:"-"                                              json:"ctime"`       // datetime
+	UpdatedAt     time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"`           // datetime
 }
 
 func (self *Silver) TableName() string {