98 lines
3.1 KiB
Go
98 lines
3.1 KiB
Go
package main
|
||
|
||
import (
|
||
"flag"
|
||
"log"
|
||
"net/http"
|
||
"os"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
"yyjishu.com/rubbish-class/admin"
|
||
"yyjishu.com/rubbish-class/app"
|
||
"yyjishu.com/rubbish-class/public"
|
||
"yyjishu.com/rubbish-class/rubbish"
|
||
)
|
||
|
||
var (
|
||
endpoint = flag.String("s", "localhost:8080", "service endpoint")
|
||
)
|
||
|
||
func main() {
|
||
rubbish.Addr = flag.String("d", "root:root@tcp(127.0.0.1:3306)/rubbish?charset=utf8mb4\u0026parseTime=True\u0026loc=Local", "address for mysql")
|
||
flag.Parse()
|
||
|
||
rubbish.Init()
|
||
|
||
//启动时检查与创建文件夹video,用于存放用户上传的视频文件
|
||
_, err := os.Stat("data")
|
||
if err != nil {
|
||
if os.IsNotExist(err) {
|
||
os.Mkdir("./data", os.ModePerm)
|
||
os.Chmod("./data", 0755)
|
||
}
|
||
}
|
||
|
||
r := gin.Default()
|
||
|
||
r.Use(gin.Recovery())
|
||
|
||
rbGroup := r.Group(`/rubbish`)
|
||
{
|
||
rbGroup.GET(`/community/list`, public.CommunityListHandler) //社区列表,OK
|
||
rbGroup.POST(`/community/create`, public.CommunityCreateHandler) //社区列表,OK
|
||
rbGroup.StaticFS(`/video`, http.Dir("./data"))
|
||
|
||
authorized := rbGroup.Group(`/admin`, gin.BasicAuth(gin.Accounts{
|
||
"foo": "bar",
|
||
"admin": "admin",
|
||
}))
|
||
{
|
||
authorized.GET(`/index`, admin.HomeHandler)
|
||
|
||
userGroup := authorized.Group(`/user`)
|
||
{
|
||
userGroup.GET(`/stat/:commid`, admin.UserStatHandler)
|
||
userGroup.GET(`/stat`, admin.UserStatHandler) //统计当天活跃用户、当天新增用户、历史用户
|
||
}
|
||
integralGroup := authorized.Group(`/integral`) //积分
|
||
{
|
||
integralGroup.GET(`/stat/:count`, admin.IntegralStatHandler) //积分日统计数据
|
||
integralGroup.GET(`/list`, admin.IntegralListHandler) //积分兑换列表
|
||
integralGroup.GET(`/applylist`, admin.IntegralApplylistHandler) //积分兑换申请列表
|
||
integralGroup.GET(`/sort/:houseid`, admin.IntegralSortHandler) //住户总积分排序
|
||
}
|
||
videoGroup := authorized.Group(`/video`)
|
||
{
|
||
videoGroup.GET(`/stat`, admin.VideoStatHandler) //视频数量及大小统计
|
||
videoGroup.GET(`/list/:commid/:month`, admin.VideoListHandler) //视频地址按社区及月份
|
||
videoGroup.GET(`/download/:commid/:month`, admin.VideoDownloadHandler) //视频下载
|
||
}
|
||
}
|
||
|
||
appGroup := rbGroup.Group(`/app`)
|
||
{
|
||
userGroup := appGroup.Group(`/user`)
|
||
{
|
||
userGroup.GET(`/info`, app.UserInfoHandler)
|
||
userGroup.POST(`/info`, app.UserInfoHandler)
|
||
userGroup.GET(`/list/:houseid`, app.UserListHandler)
|
||
userGroup.GET(`/code2session/:jscode`, app.Code2SessionHandler)
|
||
userGroup.GET(`/fee/:houseid`, app.FeeListHandler) //住户付费号码列表
|
||
}
|
||
videoGroup := appGroup.Group(`/video`)
|
||
{
|
||
videoGroup.PUT(`/upload`, app.VideoUploadHandler) //视频上传
|
||
videoGroup.GET(`/list/:houseid`, app.VideoListHandler) // 住户视频URL列表
|
||
}
|
||
integralGroup := appGroup.Group(`/integral`) //积分
|
||
{
|
||
integralGroup.GET(`/query`, app.IntegralQueryHandler) //查询住户积分、社区积表
|
||
integralGroup.POST(`/apply`, app.IntegralApplyHandler) //积分兑换申请
|
||
integralGroup.GET(`/history`, app.IntegralHistoryHandler) //积分兑换历史列表
|
||
}
|
||
}
|
||
}
|
||
|
||
log.Fatal(r.Run(*endpoint))
|
||
}
|