This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/plugin/wechat-integration/service"
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type MiniStatisticsApi struct{}
|
||||
|
||||
var miniStatisticsService = service.ServiceGroupApp.MiniStatisticsService
|
||||
|
||||
// GetMiniStatistics 获取小程序基础统计数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取小程序基础统计数据
|
||||
// @Description 获取小程序基础统计数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=response.MiniStatisticsResponse} "获取成功"
|
||||
// @Router /wechat/mini/statistics [get]
|
||||
func (m *MiniStatisticsApi) GetMiniStatistics(c *gin.Context) {
|
||||
statistics, err := miniStatisticsService.GetMiniStatistics()
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取小程序基础统计数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(statistics, c)
|
||||
}
|
||||
|
||||
// GetVisitTrendData 获取访问趋势数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取访问趋势数据
|
||||
// @Description 获取小程序访问趋势数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param startDate query string false "开始日期"
|
||||
// @Param endDate query string false "结束日期"
|
||||
// @Success 200 {object} response.Response{data=[]response.VisitTrendData} "获取成功"
|
||||
// @Router /wechat/mini/statistics/visit-trend [get]
|
||||
func (m *MiniStatisticsApi) GetVisitTrendData(c *gin.Context) {
|
||||
startDate := c.Query("startDate")
|
||||
endDate := c.Query("endDate")
|
||||
|
||||
trendData, err := miniStatisticsService.GetVisitTrendData(startDate, endDate)
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取访问趋势数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(trendData, c)
|
||||
}
|
||||
|
||||
// GetSourceData 获取用户来源分布数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取用户来源分布数据
|
||||
// @Description 获取小程序用户来源分布数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=[]response.SourceData} "获取成功"
|
||||
// @Router /wechat/mini/statistics/source [get]
|
||||
func (m *MiniStatisticsApi) GetSourceData(c *gin.Context) {
|
||||
sourceData, err := miniStatisticsService.GetSourceData()
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取用户来源分布数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(sourceData, c)
|
||||
}
|
||||
|
||||
// GetPageData 获取页面访问数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取页面访问数据
|
||||
// @Description 获取小程序页面访问数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=[]response.PageData} "获取成功"
|
||||
// @Router /wechat/mini/statistics/page [get]
|
||||
func (m *MiniStatisticsApi) GetPageData(c *gin.Context) {
|
||||
pageData, err := miniStatisticsService.GetPageData()
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取页面访问数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(pageData, c)
|
||||
}
|
||||
|
||||
// GetRetentionData 获取用户留存数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取用户留存数据
|
||||
// @Description 获取小程序用户留存数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=[]response.RetentionData} "获取成功"
|
||||
// @Router /wechat/mini/statistics/retention [get]
|
||||
func (m *MiniStatisticsApi) GetRetentionData(c *gin.Context) {
|
||||
retentionData, err := miniStatisticsService.GetRetentionData()
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取用户留存数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(retentionData, c)
|
||||
}
|
||||
|
||||
// GetDeviceData 获取设备分布数据
|
||||
// @Tags MiniStatistics
|
||||
// @Summary 获取设备分布数据
|
||||
// @Description 获取小程序设备分布数据
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} response.Response{data=[]response.DeviceData} "获取成功"
|
||||
// @Router /wechat/mini/statistics/device [get]
|
||||
func (m *MiniStatisticsApi) GetDeviceData(c *gin.Context) {
|
||||
deviceData, err := miniStatisticsService.GetDeviceData()
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("获取设备分布数据失败!", zap.Error(err))
|
||||
response.FailWithMessage("获取失败: "+err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
response.OkWithData(deviceData, c)
|
||||
}
|
||||
Reference in New Issue
Block a user