金秋以後,即是寒冬。2017年就要過去了,這一年承載了太多的記憶,一個騰訊視頻demo,幫助咱們記錄下來這些或難過,或美好,或感動的瞬間。html
"pages/index/index", //主頁
"pages/videos/videos", //短視頻
"pages/mine/mine", //個人
"pages/search/search", //首頁和頻道頁面連接的搜索界面
"pages/channel/channel", //頻道
"pages/playing/playing", //播放界面
複製代碼
首頁實際上是比較好看的,美觀大方,很惋惜官方已經改版了git
index.wxml部分代碼github
<image class="top-image" src="{{bannerList[activeBannerIndex].url}}" mode="widthFix"></image>
複製代碼
index.js部分代碼web
bannerList : [
{
url : "../../images/hu_1.png"
},{
url : "../../images/huang_1.jpg"
},{
url : "../../images/zhao_1.jpg"
}
],
複製代碼
這裏的數據是從easy-mock得到的編程
這是個人接口,沒有作不少,你們能夠用來練練手,後續會增長的小程序
<swiper-item>
<view class="swiper-item weui-tab__content" wx:for="{{wangzhe}}">
<view class="contain">
<view class="list-title">{{item.label}} ></view>
<view class="detail" wx:for="{{item.video}}">
<image src="{{item.videoImage}}" mode="widthFix" class="wz"></image>
<view class="list-font"><text>{{item.title}}</text></view>
</view>
</view>
</view>
</swiper-item>
複製代碼
由於數據都是圖片,因此爲了還原真實性,我用僞元素作了個三角形播放圖標後端
.picture ::before
{
position: absolute;
border:11px solid transparent;
border-left:17px solid #fff;
content: "";
top: 100px;
left: 180px;
}
複製代碼
搜索界面引用了weui樣式服務器
@import "./weui.wxss";微信
<view class="weui-search-bar">
<view class="weui-search-bar__form">
<view class="weui-search-bar__box">
<icon class="weui-icon-search_in-box" type="search" size="14"></icon>
<input type="text" class="weui-search-bar__input" placeholder="請輸入片名主演或導演" value="{{inputVal}}" focus="{{inputShowed}}" bindinput="bindKeyInput"/>
<view class="weui-icon-clear" bindtap="clearInput">
<icon type="clear" size="14"></icon>
</view>
</view>
<label class="weui-search-bar__label" hidden="{{inputShowed}}" bindtap="showInput">
<icon class="weui-icon-search" type="search" size="14"></icon>
<view class="weui-search-bar__text" bindtap="">搜索</view>
</label>
</view>
<view class="weui-search-bar__cancel-btn" hidden="{{!inputShowed}}" bindtap="addItem">搜索</view>
</view>
<view>
<view class="search-log" wx:for="{{searchs}}">
<text style="font-size:14px;font-family:microsoft yahei">{{item.text}}</text>
<icon type="clear" class="inline" bindtap="deleteItem" data-key="{{item.key}}" size="14"></icon>
</view>
</view>
複製代碼
隱藏了搜索記錄和搜索框cookie
data:{
searchs:[],
current:null,
hidden:true, // 加載提示框是否顯示
scrollTop : 0, // 居頂部高度
inputShowed: false, // 搜索輸入框是否顯示
inputVal: "", // 搜索的內容
histroyShowed:true //搜索記錄
}
複製代碼
關於wilddog
利用野狗sdk,咱們能夠實現多種實時功能,可以在各個終端修改後臺數據,消息傳遞毫秒可達,可以爲小程序開發者們上線提供一個良好的幫助
這是他的官方文檔
首先要導入wilddog-weapp-all.js
var wilddog = require('wilddog-weapp-all');
複製代碼
引用建立的接口
var config = {
syncURL:'https://appid.wilddogio.com',
authDomain:'appid.wilddog.com'
}
複製代碼
appid爲你建立的應用id
wilddog是以key-value的形式存儲數據,建立引用會定位到根節點。若要定位到子節點,只需在url後追加路徑便可:
利用野狗的child()方法獲取子節點,達到刪除和增長的功能
addItem:function(){
if(this.data.current != null){
// 將全部的後臺業務交給app.js
app.addItem(this.data.current)
}
this.setData({
inputVal:""
})
},
deleteItem:function(e){
var key = e.target.dataset.key;
this.ref.child(key).remove();
},
onLoad:function(options){
this.ref = app.getTodoRef();
this.ref.on('child_added',function(snapshot,prkey){
var key = snapshot.key()
var text = snapshot.val()
// JSON結構
var newItem = {key:key, text:text}
this.data.searchs.push(newItem);
this.setData({
searchs:this.data.searchs
})
},this);
this.ref.on('child_removed',function(snapshot){
var key = snapshot.key();
var index = this.data.searchs.findIndex(
(item,index)=>{
if(item.key == key){
return true;
}
return false;
});
if(index >= 0){
this.data.searchs.splice(index,1);
this.setData({
searchs:this.data.searchs
})
}
},this)
}
複製代碼
寫完數據後發現才發現內容全都不見了:
小程序只支持http:// 服務請求
用手機測驗的時候奇卡無比:
在樣式swiper中加入這條代碼就解決了 -webkit-overflow-scrolling : touch;
在手機測驗時,整個頁面會隨着滑動:
在樣式中加入超出則隱藏 overflow:hidden;
若是js部分出現問題了,那麼就應該console一下關鍵數據,看看是否可以打印出來,而後慢慢排除
開發的時候遇到了一些問題,是須要慢慢琢磨的,多看文檔,耐心解決。開動大腦,好的想法idea是很是重要的,優雅的編程,發散的思惟,把你的想象力用代碼來實現,是一件很是cooooool的事情。
若是你想要改變世界,那麼咱們能夠作個朋友。但若是你想要賣一生糖水,那麼咱們也能夠作個朋友。由於寫代碼,只是爲了交個朋友嘛。有任何問題,你能夠經過如下方式找到我:
最後送給你們demo裏出現的《三分鐘回顧2017》,謝謝支持,共勉。