diff --git a/api/core/types/config.go b/api/core/types/config.go index 07d19ff1..05dec367 100644 --- a/api/core/types/config.go +++ b/api/core/types/config.go @@ -131,10 +131,10 @@ func (c RedisConfig) Url() string { } type SystemConfig struct { - Title string `json:"title,omitempty"` // 网站标题 - Slogan string `json:"slogan,omitempty"` // 网站 slogan - AdminTitle string `json:"admin_title,omitempty"` // 管理后台标题 - Logo string `json:"logo,omitempty"` + Title string `json:"title,omitempty"` // 网站标题 + Slogan string `json:"slogan,omitempty"` // 网站 slogan + AdminTitle string `json:"admin_title,omitempty"` // 管理后台标题 + Logo string `json:"logo,omitempty"` // 方形 Logo InitPower int `json:"init_power,omitempty"` // 新用户注册赠送算力值 DailyPower int `json:"daily_power,omitempty"` // 每日赠送算力 InvitePower int `json:"invite_power,omitempty"` // 邀请新用户赠送算力值 diff --git a/api/handler/user_handler.go b/api/handler/user_handler.go index 42ebd8c3..837fecc3 100644 --- a/api/handler/user_handler.go +++ b/api/handler/user_handler.go @@ -452,18 +452,24 @@ func (h *UserHandler) CLoginCallback(c *gin.Context) { // Session 获取/验证会话 func (h *UserHandler) Session(c *gin.Context) { user, err := h.GetLoginUser(c) - if err == nil { - var userVo vo.User - err := utils.CopyObject(user, &userVo) - if err != nil { - resp.ERROR(c) - } - userVo.Id = user.Id - resp.SUCCESS(c, userVo) - } else { - resp.NotAuth(c) + if err != nil { + resp.NotAuth(c, err.Error()) + return } + var userVo vo.User + err = utils.CopyObject(user, &userVo) + if err != nil { + resp.ERROR(c, err.Error()) + return + } + // 用户 VIP 到期 + if user.ExpiredTime > 0 && user.ExpiredTime < time.Now().Unix() { + h.DB.Model(&user).UpdateColumn("vip", false) + } + userVo.Id = user.Id + resp.SUCCESS(c, userVo) + } type userProfile struct { diff --git a/api/store/leveldb.go b/api/store/leveldb.go index 5de00425..ec9ca9f1 100644 --- a/api/store/leveldb.go +++ b/api/store/leveldb.go @@ -29,15 +29,9 @@ func NewLevelDB() (*LevelDB, error) { } func (db *LevelDB) Put(key string, value interface{}) error { - var byteData []byte - if v, ok := value.(string); ok { - byteData = []byte(v) - } else { - b, err := json.Marshal(value) - if err != nil { - return err - } - byteData = b + byteData, err := json.Marshal(value) + if err != nil { + return err } return db.driver.Put([]byte(key), byteData, nil) } diff --git a/web/.env.development b/web/.env.development index 90c5c327..1e54193a 100644 --- a/web/.env.development +++ b/web/.env.development @@ -1,6 +1,6 @@ VUE_APP_API_HOST=http://localhost:5678 VUE_APP_WS_HOST=ws://localhost:5678 -VUE_APP_USER=18575670125 +VUE_APP_USER=18888888888 VUE_APP_PASS=12345678 VUE_APP_ADMIN_USER=admin VUE_APP_ADMIN_PASS=admin123 diff --git a/web/public/images/logo.png b/web/public/images/logo.png index 78753b32..63f187ed 100644 Binary files a/web/public/images/logo.png and b/web/public/images/logo.png differ diff --git a/web/src/assets/css/home.styl b/web/src/assets/css/home.styl index bf257eda..41bd1257 100644 --- a/web/src/assets/css/home.styl +++ b/web/src/assets/css/home.styl @@ -23,6 +23,8 @@ .el-image { width 48px height 48px + background-color #ffffff + border-radius 50% } } diff --git a/web/src/assets/css/index.styl b/web/src/assets/css/index.styl index 8a47c12a..f2e8aa0c 100644 --- a/web/src/assets/css/index.styl +++ b/web/src/assets/css/index.styl @@ -56,6 +56,7 @@ .el-image { height 50px + background-color #ffffff } .el-button { @@ -72,6 +73,9 @@ .content { text-align: center; position relative + display flex + flex-flow: column; + align-items: center; h1 { font-size: 5rem; @@ -88,6 +92,10 @@ max-width 900px padding 20px + .el-space--horizontal { + justify-content center + } + .nav-item { width 200px .el-button { diff --git a/web/src/assets/css/login.styl b/web/src/assets/css/login.styl index 57d11521..32d79ed0 100644 --- a/web/src/assets/css/login.styl +++ b/web/src/assets/css/login.styl @@ -30,6 +30,8 @@ .el-image { width 120px; cursor pointer + background-color #ffffff + border-radius 50% } } diff --git a/web/src/assets/css/luma.styl b/web/src/assets/css/luma.styl index 04b2741d..1f681ed6 100644 --- a/web/src/assets/css/luma.styl +++ b/web/src/assets/css/luma.styl @@ -95,12 +95,49 @@ } - .h-title { - color #ffffff - max-width 56rem + + .video-container { + display flex + flex-flow column width 100% - padding 40px 20 - font-size 36px - text-align left + padding 0 40px + + .h-title { + color #ffffff + width 100% + font-size 36px + text-align left + } + + .videos { + display flex + flex-flow row + + .item { + + .video-box { + width 100% + border-radius 10px + video,img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius 10px + cursor pointer + } + } + + .video-name { + color #e1e1e1 + font-size 16px + white-space nowrap + overflow hidden + text-overflow ellipsis + padding 6px 0 + text-align center + } + } + } } + } \ No newline at end of file diff --git a/web/src/store/cache.js b/web/src/store/cache.js index fdb3284a..46206354 100644 --- a/web/src/store/cache.js +++ b/web/src/store/cache.js @@ -15,7 +15,7 @@ export function checkSession() { httpGet('/api/user/session').then(res => { item.data = res.data // cache expires after 10 secs - item.expire = Date.now() + 1000 * 60 * 5 + item.expire = Date.now() + 1000 * 30 Storage.set(userDataKey, item) resolve(item.data) }).catch(e => { @@ -37,7 +37,7 @@ export function checkAdminSession() { return new Promise((resolve, reject) => { httpGet('/api/admin/session').then(res => { item.data = res.data - item.expire = Date.now() + 1000 * 60 * 5 + item.expire = Date.now() + 1000 * 30 Storage.set(adminDataKey, item) resolve(item.data) }).catch(e => { @@ -59,7 +59,7 @@ export function getSystemInfo() { return new Promise((resolve, reject) => { httpGet('/api/config/get?key=system').then(res => { item.data = res - item.expire = Date.now() + 1000 * 60 * 10 + item.expire = Date.now() + 1000 * 30 Storage.set(systemInfoKey, item) resolve(item.data) }).catch(err => { @@ -77,7 +77,7 @@ export function getLicenseInfo() { return new Promise((resolve, reject) => { httpGet('/api/config/license').then(res => { item.data = res - item.expire = Date.now() + 1000 * 60 * 10 + item.expire = Date.now() + 1000 * 30 Storage.set(licenseInfoKey, item) resolve(item.data) }).catch(err => { diff --git a/web/src/views/Index.vue b/web/src/views/Index.vue index 5d3fd311..fdbd6e93 100644 --- a/web/src/views/Index.vue +++ b/web/src/views/Index.vue @@ -40,7 +40,7 @@
@@ -42,11 +56,27 @@ const images = ref([ "http://nk.img.r9it.com/chatgpt-plus/1719371605709871.jpg" ]) -const list = ref([ +const videos = ref([ { id: 1, - name: '1', - url: 'http://localhost/download/xmind.mp4' + name: 'a dancing girl', + url: 'http://localhost/download/xmind.mp4', + cover: 'https://storage.cdn-luma.com/dream_machine/d133794f-3124-4059-a9f2-e5fed79f0d5b/video_0_thumb.jpg', + playing: false + }, + { + id: 1, + name: 'a dancing girl', + url: 'http://localhost/download/dancing.mp4', + cover: 'https://storage.cdn-luma.com/dream_machine/92efa55a-f381-4161-a999-54f8fe460fca/video_1_thumb.jpg', + playing: false + }, + { + id: 1, + name: 'a dancing girl', + url: 'http://localhost/download/xmind.mp4', + cover: 'https://storage.cdn-luma.com/dream_machine/d133794f-3124-4059-a9f2-e5fed79f0d5b/video_0_thumb.jpg', + playing: false } ]) diff --git a/web/src/views/PowerLog.vue b/web/src/views/PowerLog.vue index 909e5c78..84df9cb1 100644 --- a/web/src/views/PowerLog.vue +++ b/web/src/views/PowerLog.vue @@ -23,8 +23,8 @@ --el-table-row-hover-bg-color:#373C47; --el-table-header-bg-color:#474E5C; --el-table-text-color:#d1d1d1"> -