From dcc406f6a14d52b3d6c18ad359e594c6122cbdb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=90=E6=98=8E=E6=98=8E?= Date: Wed, 2 Dec 2020 17:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=9F=AD=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/interfaces/auth.js | 4 +- apis/request.js | 5 +- app.json | 3 +- .../swiperVideo.js} | 75 ++++++++++----- .../swiperVideo.json} | 0 components/swiperVideo/swiperVideo.wxml | 19 ++++ components/swiperVideo/swiperVideo.wxss | 36 ++++++++ components/videoSwiper/videoSwiper.wxml | 48 ---------- pages/login/login.js | 58 ++++++++++++ pages/login/login.json | 7 ++ pages/login/login.wxml | 11 +++ pages/login/login.wxss | 71 ++++++++++++++ pages/shortVideo/shortVideo.js | 67 ++++++++++++++ .../shortVideo.json} | 5 +- pages/shortVideo/shortVideo.wxml | 41 +++++++++ .../shortVideo/shortVideo.wxss | 87 +++++++----------- pages/videos/videos.js | 24 ----- pages/videos/videos.wxml | 7 -- pages/videos/videos.wxss | 16 ---- static/img/cover.jpeg | Bin 27350 -> 0 bytes static/img/logo.jpeg | Bin 0 -> 9751 bytes 21 files changed, 401 insertions(+), 183 deletions(-) rename components/{videoSwiper/videoSwiper.js => swiperVideo/swiperVideo.js} (52%) rename components/{videoSwiper/videoSwiper.json => swiperVideo/swiperVideo.json} (100%) create mode 100644 components/swiperVideo/swiperVideo.wxml create mode 100644 components/swiperVideo/swiperVideo.wxss delete mode 100644 components/videoSwiper/videoSwiper.wxml create mode 100644 pages/login/login.js create mode 100644 pages/login/login.json create mode 100644 pages/login/login.wxml create mode 100644 pages/login/login.wxss create mode 100644 pages/shortVideo/shortVideo.js rename pages/{videos/videos.json => shortVideo/shortVideo.json} (67%) create mode 100644 pages/shortVideo/shortVideo.wxml rename components/videoSwiper/videoSwiper.wxss => pages/shortVideo/shortVideo.wxss (55%) delete mode 100644 pages/videos/videos.js delete mode 100644 pages/videos/videos.wxml delete mode 100644 pages/videos/videos.wxss delete mode 100644 static/img/cover.jpeg create mode 100644 static/img/logo.jpeg diff --git a/apis/interfaces/auth.js b/apis/interfaces/auth.js index 27acc98..8f037f4 100644 --- a/apis/interfaces/auth.js +++ b/apis/interfaces/auth.js @@ -5,9 +5,7 @@ import {req} from "../request" const authPhone = data => req({url: "auth/mini", method: "POST", data: data}) //登录 -const authInfo = data => req({url: "auth/mini/info", method: "POST", data: data}) //完善用户信息 export default({ - authPhone, - authInfo + authPhone }) diff --git a/apis/request.js b/apis/request.js index 904f9bc..45f6484 100644 --- a/apis/request.js +++ b/apis/request.js @@ -86,9 +86,10 @@ const upload = (obj) => { if (jsonData.status_code == 200) { resolve(jsonData.data) } else { - if (jsonData.status_code == 401) { + if (res.data.status_code == 401 || res.data.status_code == 400) { reject({ - login: false + login : false, + codeBeen: false }) } errInfo(jsonData) diff --git a/app.json b/app.json index b8ba4d5..6407083 100644 --- a/app.json +++ b/app.json @@ -1,6 +1,7 @@ { "pages": [ - "pages/videos/videos" + "pages/shortVideo/shortVideo", + "pages/login/login" ], "window": { "backgroundTextStyle": "light", diff --git a/components/videoSwiper/videoSwiper.js b/components/swiperVideo/swiperVideo.js similarity index 52% rename from components/videoSwiper/videoSwiper.js rename to components/swiperVideo/swiperVideo.js index 5a9613c..6e12469 100644 --- a/components/videoSwiper/videoSwiper.js +++ b/components/swiperVideo/swiperVideo.js @@ -10,13 +10,20 @@ Component({ * 组件的属性列表 */ properties: { + // 视频列表 videoList: { type : Array, value : [] }, - playId : { - type : Number, - value : 0 + // 是否自动播放 + autoPlay: { + type : Boolean, + value : true + }, + // 视频展示方式 + fit:{ + type : String, + value : "contain" } }, @@ -26,7 +33,8 @@ Component({ data: { controls: false, showPlay: false, - isPlay : true + isPlay : false, + playId : 0 }, /** @@ -39,6 +47,9 @@ Component({ current = e.detail.current, currentId = this.data.playId, prevId = videoLists[current].video_id + + // 滚动回调 + this.triggerEvent("swiperindex", {current: current}) // 停止老 let videoContextCurrent = wx.createVideoContext("video" + currentId, this) @@ -69,30 +80,44 @@ Component({ this.setData({ isPlay : !isPlayState }) + }, + // 视频播放状态 + vipdeBindPlay(e){ + this.triggerEvent("play", { + playType : e.type, + videoId : e.currentTarget.dataset.videoid + }) - // let videoId, - // priorId = this.data.playId + if(e.type == "play"){ + this.setData({ + isPlay: true + }) + }else if(e.type == "pause"){ + this.setData({ + isPlay: false + }) + } + } + }, + /** + * 生命周期组件 + */ + lifetimes: { + attached(){ + let videoList = this.data.videoList - // if(e.type == "tap"){ - // // 点击播放视频 - // videoId = "video" + e.currentTarget.dataset.videoid - // // 实例化video - // let videoContext = wx.createVideoContext(videoId) - // // 播放视频 - // videoContext.play() - - // wx.showToast({ - // title: "播放", - // icon : "none" - // }) - // }else{ - // // 滑动切换视频 - // videoId = e - // } - - // console.log("当前的:", videoId) - // console.log("上一个:", priorId) + // 默认当前视频id + if(videoList.length > 0){ + this.setData({ + playId: videoList[0].video_id + }) + // 是否默认播放 + if(this.data.autoPlay){ + let playVideoContext = wx.createVideoContext("video" + videoList[0].video_id, this) + playVideoContext.play() + } + } } } }) diff --git a/components/videoSwiper/videoSwiper.json b/components/swiperVideo/swiperVideo.json similarity index 100% rename from components/videoSwiper/videoSwiper.json rename to components/swiperVideo/swiperVideo.json diff --git a/components/swiperVideo/swiperVideo.wxml b/components/swiperVideo/swiperVideo.wxml new file mode 100644 index 0000000..535a236 --- /dev/null +++ b/components/swiperVideo/swiperVideo.wxml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/components/swiperVideo/swiperVideo.wxss b/components/swiperVideo/swiperVideo.wxss new file mode 100644 index 0000000..8b4285a --- /dev/null +++ b/components/swiperVideo/swiperVideo.wxss @@ -0,0 +1,36 @@ + +/** + * Web唐明明 + * 一个梦想做木雕手艺人的程序员 + * explain: videoSwiper + */ + + .videoSwiper{ + background-color: #0e0c1a; + height: 100%; +} + +.videoSwiperItem{ + position: relative; + -webkit-overflow-scrolling:touch; +} + +.videoSwiperItem video{ + width: 100%; + height: 100%; +} + +/* 视频按钮 */ +.videoLayer-play{ + position: relative; + width: 78rpx; + height: 78rpx; + left: calc(50% - 39rpx); + top: calc(50% - 39rpx); + opacity: 0; + transition: all .5s; +} + +.videoLayer-play.show{ + opacity: .7; +} diff --git a/components/videoSwiper/videoSwiper.wxml b/components/videoSwiper/videoSwiper.wxml deleted file mode 100644 index b07b246..0000000 --- a/components/videoSwiper/videoSwiper.wxml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - @ 哈尔滨域展科技开发 - 计算机网络技术服务,软件开发及咨询、技术评测、技术转让服务; - - - - - - - - - 12.5w - - - - 1000 - - - - 2.9w - - - - - - - - - - diff --git a/pages/login/login.js b/pages/login/login.js new file mode 100644 index 0000000..ca1152f --- /dev/null +++ b/pages/login/login.js @@ -0,0 +1,58 @@ + +/** + * Web唐明明 + * 一个梦想做木雕手艺人的程序员 + */ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + code : "" + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(){ + this.wxLogin() + }, + + /** + * 手机号码授权 + */ + PhoneNumber(e){ + if(!e.detail.encryptedData){ + this.wxLogin() + return + } + wx.$api.auth.authPhone({ + code : this.data.code, + iv : e.detail.iv, + encryptedData : e.detail.encryptedData, + parent_id : "" + }).then(res=>{ + // 存储登录信息 + wx.setStorageSync('token', res.access_token) + // 返回首页 + wx.navigateBack() + }).catch(()=>{ + this.wxLogin() + }) + }, + + /** + * 更新code + */ + wxLogin(){ + wx.login({ + success: res=>{ + this.setData({ + code: res.code + }) + } + }) + } +}) \ No newline at end of file diff --git a/pages/login/login.json b/pages/login/login.json new file mode 100644 index 0000000..478f1e0 --- /dev/null +++ b/pages/login/login.json @@ -0,0 +1,7 @@ + +{ + "usingComponents": { + "userinfo-layer" : "/components/loginLayer/loginLayer" + }, + "navigationBarTitleText": "" +} diff --git a/pages/login/login.wxml b/pages/login/login.wxml new file mode 100644 index 0000000..9bf97c0 --- /dev/null +++ b/pages/login/login.wxml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/pages/login/login.wxss b/pages/login/login.wxss new file mode 100644 index 0000000..cecb73b --- /dev/null +++ b/pages/login/login.wxss @@ -0,0 +1,71 @@ + +/** + * Web唐明明 + * 一个梦想做木雕手艺人的程序员 + */ + +page{ + background-color: white; +} + +.login{ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-pack: center; + position: relative; + text-align: center; + height: 100vh; + width: 100vw; + padding: 100rpx 100rpx 200rpx; + box-sizing: border-box; +} + +/* btn */ +.login-btn[size="default"]{ + width: 100%; + height: 90rpx; + line-height: 90rpx; + padding: 0; + font-size: 34rpx; + border-radius: 0; + background: #2d6af6; + color: white; +} + +/* header */ +.login-header{ + text-align: center; + padding-bottom: 70rpx; +} + +.login-logo{ + width: 128rpx; + height: 128rpx; + background: #eee; + vertical-align: top; +} + +.login-title{ + font-weight: bold; + padding: 50rpx 0 20rpx; + font-size: 40rpx; +} + +.login-subhead{ + font-size: 26rpx; + color: #afafaf; +} + +/* 用户协议 */ +.login-agree{ + margin-top: 20vh; + color: #afafaf; + font-size: 26rpx; + text-align: center; + line-height: 50rpx; +} + +.login-agree text{ + color: #ff8d37; + padding: 0 5rpx; +} diff --git a/pages/shortVideo/shortVideo.js b/pages/shortVideo/shortVideo.js new file mode 100644 index 0000000..2483a41 --- /dev/null +++ b/pages/shortVideo/shortVideo.js @@ -0,0 +1,67 @@ + +Page({ + + /** + * 页面的初始数据 + */ + data: { + videoList : [], //获取短视频列表 + videoIndex : 0, //当前播放视频的下标 + videoId : "", //当前播放的视频id + playState : true, //视频播放状态 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + wx.$api.video.videos().then(res=>{ + this.setData({ + videoList: res, + videoId : res[0].video_id + }) + }) + }, + + /*** + * 视频的播放状态 + */ + videoPlay(e){ + if(e.detail.playType == "play" && this.data.playState == false){ + this.setData({ + playState : true, + videoId : e.detail.videoId + }) + }else if(e.detail.playType == "pause" && this.data.playState == true){ + this.setData({ + playState : false + }) + } + }, + + /** + * 获取视频下标 + */ + swiperIndex(e){ + this.setData({ + videoIndex: e.detail.current + }) + }, + + /** + * 点赞视频 + */ + binLike(){ + let hasLogin = wx.getStorageSync("token") + + if(hasLogin == ""){ + wx.navigateTo({ + url: "/pages/login/login" + }) + }else{ + wx.showToast({ + title: "点赞成功" + }) + } + } +}) diff --git a/pages/videos/videos.json b/pages/shortVideo/shortVideo.json similarity index 67% rename from pages/videos/videos.json rename to pages/shortVideo/shortVideo.json index 3a435cb..7565d74 100644 --- a/pages/videos/videos.json +++ b/pages/shortVideo/shortVideo.json @@ -1,9 +1,8 @@ - { "usingComponents": { - "videoSwiper": "/components/videoSwiper/videoSwiper" + "swiperViode": "/components/swiperVideo/swiperVideo" }, "navigationStyle": "custom", "navigationBarTextStyle": "white", "disableScroll": true -} +} \ No newline at end of file diff --git a/pages/shortVideo/shortVideo.wxml b/pages/shortVideo/shortVideo.wxml new file mode 100644 index 0000000..30aefd0 --- /dev/null +++ b/pages/shortVideo/shortVideo.wxml @@ -0,0 +1,41 @@ + + + + + + @ {{videoList[videoIndex].company.name || "-"}} + {{videoList[videoIndex].description || "-"}} + + + + + + + + + {{videoList[videoIndex].likes || "0"}} + + + + + {{videoList[videoIndex].shares || "0"}} + + + + + + + + + \ No newline at end of file diff --git a/components/videoSwiper/videoSwiper.wxss b/pages/shortVideo/shortVideo.wxss similarity index 55% rename from components/videoSwiper/videoSwiper.wxss rename to pages/shortVideo/shortVideo.wxss index 3ee4c15..40e6c66 100644 --- a/components/videoSwiper/videoSwiper.wxss +++ b/pages/shortVideo/shortVideo.wxss @@ -2,80 +2,59 @@ /** * Web唐明明 * 一个梦想做木雕手艺人的程序员 - * explain: videoSwiper */ -.videoSwiper{ - background-color: #0e0c1a; - height: 100%; - width: 100%; +page{ + background: #0e0c1a; } -.videoSwiperItem{ +.videos-content{ position: relative; -} - -.video{ - z-index: 1; - width: 100%; - height: 100%; -} - -/* 播放按钮 */ -.videoLayer-play{ - position: absolute; - width: 78rpx; - height: 78rpx; - opacity: .6; - top: calc(50% - 39rpx); - left: calc(50% - 39rpx); + height: 100vh; } /* 视频信息 */ -.videoInfo, -.videoTool{ - position: fixed; - bottom: 0; - z-index: 999; -} - -.videoInfo{ - left: 0; - padding: 0 0 50rpx 30rpx; +.video-info{ + position: absolute; + bottom: 50rpx; + left: 30rpx; width: calc(100% - 218rpx); - box-sizing: border-box; - color: white; } -.videoInfoUser{ +.video-user, +.video-title{ + color: white; + text-shadow: 0 3rpx 3rpx rgba(0, 0, 0, .3); +} + +.video-user{ font-weight: bold; + padding-bottom: 10rpx; font-size: 38rpx; } -.videoInfoTitle{ - padding-top: 10rpx; +.video-title{ font-size: 28rpx; line-height: 40rpx; } /* 视频工具栏 */ -.videoTool{ - right: 0; - width: 128rpx; - padding: 0 30rpx 50rpx 0; - box-sizing: border-box; +.video-tool{ + position: absolute; + right: 30rpx; + bottom: 50rpx; } -.videoTool-item{ +.video-tool-item{ margin-top: 40rpx; text-align: center; } -.videoTool-item:first-child{ +.video-tool-item:first-child{ margin-top: 0; } -.videoTool-cover{ +.video-tool-cover{ width: 98rpx; height: 98rpx; border-radius: 50%; @@ -84,25 +63,25 @@ box-sizing: border-box; } -.videoTool-icon{ +.video-tool-icon{ width: 48rpx; vertical-align: top; } -.videoTool-number{ +.video-tool-number{ font-size: 26rpx; line-height: 50rpx; color: white; } /* 黑胶唱片 */ -.videoTool-vinyl{ +.video-tool-vinyl{ width: 98rpx; height: 98rpx; position: relative; } -.videoTool-vinyl.rotate{ +.video-tool-vinyl.rotate{ animation: rotate 10s linear infinite; } @@ -115,22 +94,22 @@ } } -.videoTool-vinyl-cover, -.videoTool-vinyl-back{ +.video-tool-vinyl-cover, +.video-tool-vinyl-back{ position: absolute; } -.videoTool-vinyl-back{ +.video-tool-vinyl-back{ top: 0; left: 0; width: 100%; height: 100%; } -.videoTool-vinyl-cover{ +.video-tool-vinyl-cover{ width: 50%; height: 50%; left: 25%; top: 25%; border-radius: 50%; -} \ No newline at end of file +} diff --git a/pages/videos/videos.js b/pages/videos/videos.js deleted file mode 100644 index 7479f44..0000000 --- a/pages/videos/videos.js +++ /dev/null @@ -1,24 +0,0 @@ - -Page({ - - /** - * 页面的初始数据 - */ - data: { - videoList: [], //获取短视频列表 - showId : 0 //当前播放得id - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - wx.$api.video.videos().then(res=>{ - console.log(res) - this.setData({ - videoList: res, - showId : res[0].video_id - }) - }) - } -}) \ No newline at end of file diff --git a/pages/videos/videos.wxml b/pages/videos/videos.wxml deleted file mode 100644 index 2037b3c..0000000 --- a/pages/videos/videos.wxml +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/pages/videos/videos.wxss b/pages/videos/videos.wxss deleted file mode 100644 index 9985056..0000000 --- a/pages/videos/videos.wxss +++ /dev/null @@ -1,16 +0,0 @@ - -/** - * Web唐明明 - * 一个梦想做木雕手艺人的程序员 - */ - -page{ - /* background: #0e0c1a; */ -} - -.videoSwiper{ - width: 100%; - height: 100%; - background: #ddd; - position: absolute; -} diff --git a/static/img/cover.jpeg b/static/img/cover.jpeg deleted file mode 100644 index fe972a7cbe6ef66362c588b1da3429f9fea62c0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27350 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 N$Vn+nR*OS}{tv*