Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
package userctrl
import "91porn-server/models/commod"
// PageRule 通用分页验证结构体
type PageRule struct {
UID uint64 `json:"uid" form:"uid"`
//hot 热度值排序;watch 最多播放;like 最多点赞(收藏);new 最新视频
Type string `json:"type" form:"type"`
// 点赞类型: SP:长视频 SHORT:短视频 COVER:图文帖子 PIC:图集帖子 SEED_LINK:种子/黄油帖子 TAG:标签 COMMENT:评论 video:动漫 image:漫画 text:小说"
LikeType string `json:"likeType" form:"likeType"`
//0 默认全部 1 长视频 2 短视频 3-帖子 4-图集
PlayTimeType int `json:"playTimeType" form:"playTimeType"`
commod.Page
}
var portrait = []string{
"image/gy/8j/hw/la/aa283b9a2c6c443883da2c6dec05c19a.jpeg",
"image/e5/oq/hd/hi/2a120f6ebb44468b92a1f0c55b4a475c.jpeg",
"image/tl/gc/lk/5p/96586678db814f579e6eaf8ef55165bc.jpeg",
"image/hm/21/19/57/e5c625d1a903453e8fc8e3e3575c860b.jpeg",
"image/0v/h7/g1/tb/f3d02445d42e49b7915b843aecfb7c7c.jpeg",
"image/en/fl/su/8w/d7e168beed5c4742be13cf998613d112.jpeg",
"image/25/2q/gh/fd/a122e79c556c40c1a61e4ad55219134f.jpeg",
"image/6h/2k/gs/5x/6fe68e9d41ae4cbda2a5e34e64ba4af9.jpeg",
"image/kz/2y/xv/a9/ad29c0e2fb7e43c282a9c1d4d70e1185.jpeg",
"image/1s/h3/hi/ht/1de64b74f1c34545ae8013553b12c6c1.jpeg",
"image/6n/os/7a/24/7e5031e18874496bb7481fbe27a85d34.jpeg",
"image/vo/g9/nj/l2/f288707eeb9041b8b471f0ac5f25fcdd.jpeg",
"image/of/cg/cb/zm/90280c2e0c2c4198b677c0e0430c3166.jpeg",
"image/ex/yb/so/l0/5011e1a5415c400783ab5d29d1d68129.jpeg",
"image/0b/4n/ct/hs/9d84d100aba340558f68e638e45c6203.jpeg",
"image/2b/bz/6w/g5/bbb4d6d1c0064491a5131a75a0d23546.jpeg",
"image/qf/n1/oq/m6/a29791ca041541c192205e1c82073398.jpeg",
"image/oa/u8/w3/f6/d149a55b4e894fbba332fa06889a091a.jpeg",
"image/ar/8x/9u/xw/e69e7be1a7174e6d96049b9b84888989.jpeg",
"image/g0/uu/64/mu/3bdcdd6c86a64b589bfcd0c9fac2d7da.jpeg",
"image/xa/a2/gs/dz/406b619f79684992837334ec2c21cffb.jpeg",
"image/eq/wo/4y/8e/749252631f5c40bda89d19150bfc661c.jpeg",
"image/ox/z3/3u/tr/227819454ccf4851b0905c2c74331394.jpeg",
"image/75/fj/s5/b4/afeeaada5460465982cc8539d7c1ff03.jpeg",
"image/jr/8v/e2/84/4e75fdfcf8404700b3f1e3b352ed45e0.jpeg",
"image/pd/1s/ld/mp/779ce7c27d71446188b40cdf11774df0.jpeg",
"image/nb/92/0s/gc/f158a9166e3648c8be5de39259556caa.jpeg",
"image/kh/bj/aa/zp/a5088e99962049a398f92033838c97ad.jpeg",
}
+40
View File
@@ -0,0 +1,40 @@
package userctrl
import (
"91porn-server/app/service/userser"
"91porn-server/common"
"91porn-server/common/stderr"
"github.com/gin-gonic/gin"
)
// ConsumePrivilege doc
// @Summary 消耗预售卡预付权益
// @Description 消耗预售卡预付权益
// @Tags user
// @Accept mpfd,json
// @Produce json,html
// @Param q body userser.ConsumeReq false "请求参数"
// @Success 200 {string} string "操作成功"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /mine/privilege/consume [post]
func ConsumePrivilege(ctx *gin.Context) {
// 获取用户当前配置
uid, err := common.GetUID(ctx)
if err != nil {
common.ServeJSON(ctx, stderr.ErrNoToken, err)
return
}
var args userser.ConsumeReq
if err := ctx.ShouldBind(&args); err != nil {
common.ServeJSON(ctx, stderr.ErrParamError, nil)
return
}
err = userser.Consume(uid, args.PrivilegeType, args.Count)
if err != nil {
common.ServeJSON(ctx, stderr.Failure, nil)
}
common.ServeJSON(ctx, stderr.Success, nil)
}
File diff suppressed because it is too large Load Diff
+40
View File
@@ -0,0 +1,40 @@
package userctrl
import (
"91porn-server/app/service/userwatchrecordserver"
"91porn-server/common"
"91porn-server/common/stderr"
"91porn-server/models/v/userwatchrecordmod"
"github.com/gin-gonic/gin"
)
// WatchRecord doc
// @Summary 用户观看记录列表
// @Description 观看记录列表
// @Tags user
// @Accept json
// @Produce json
// @Param pageNumber query int true "第几页"
// @Param pageSize query int true "每页数量"
// @Success 200 object userwatchrecordmod.ListResponse "成功后返回"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /mine/watch_record/list [get]
func WatchRecord(c *gin.Context) {
uid, err := common.GetUID(c)
if err != nil {
common.ServeJSON(c, stderr.ErrNoToken, err)
return
}
var req userwatchrecordmod.ListRequest
if err = c.ShouldBindQuery(&req); err != nil {
common.ServeJSON(c, stderr.ErrNoToken, err)
return
}
data, code := userwatchrecordserver.List(uid, &req)
if code != stderr.Success {
common.ServeJSON(c, code, err)
return
}
common.ServeJSON(c, code, data)
}