金秋以后,即是寒冬。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》,谢谢支持,共勉。