Commit 0dbb1fc3 authored by Mac's avatar Mac

旅友圈的页面

parent 28e3b7d7
......@@ -21,7 +21,8 @@
"pages/validateForm/allPerson",
"pages/validateForm/yzCard/yzCard",
"pages/comments/comments",
"pages/VoucherDetails/VoucherDetails"
"pages/VoucherDetails/VoucherDetails",
"pages/video/videoAuthor/videoAuthor"
],
"window": {
"backgroundTextStyle": "light",
......
const app = getApp()
var util = require('../../utils/util.js')
Page({
/**
* 页面的初始数据
......@@ -9,37 +11,7 @@ Page({
startTouch: '',
startNum: '0',
//其中的 视频url(videoUrl) 封面url(videoImageUrl) 头像url(headUrl) 的话大家自己填上就行
videoList: [{
"callState": "1",
"projectContent": "老鼠炸飞了(ಡωಡ)hiahiahia",
"employerId": "4224f6e674e346b4a675df4131253fbc",
"workCity": "北京市",
"workProvince": "北京市",
"videoUrl": "http://vt-im-bucket.oss-cn-chengdu.aliyuncs.com/New/Sale/Uploadvideo/CkAi7G8ZCE2YtZct5y2SzdtZrasFwWNP.mp4",
"projectState": "2",
"workCounty": "朝阳区",
"quickProjectWorkerTagName": "电工,接线,砌墙,钢结构",
"headUrl": "",
"projectId": "6f1121611a17418cb5d3860b551c9e19",
"createDate": "2019-08-22 19:06:39",
"reallyName": "大发发",
"videoImageUrl": ""
}, {
"callState": "1",
"projectContent": "哒哒哒任汝芬",
"employerId": "4224f6e674e346b4a675df4131253fbc",
"workCity": "北京市",
"workProvince": "北京市",
"videoUrl": "",
"projectState": "2",
"workCounty": "朝阳区",
"quickProjectWorkerTagName": "工装,图纸,塔吊,外墙保温,刮腻子",
"headUrl": "",
"projectId": "d3b43f21b84b4a75a3321e478f73161f",
"createDate": "2019-08-22 10:00:11",
"reallyName": "大发发",
"videoImageUrl": ""
}], //接口返回的视频列表。
videoList: [], //接口返回的视频列表。
touch: false,
touchStartTime: 0, //触摸开始时间
touchEndTime: 0, // 触摸结束时间
......@@ -53,15 +25,6 @@ Page({
*/
onLoad: function(options) {
var that = this;
var listTem = that.data.videoList;
for (var i = 0; i < listTem.length; i++) {
var arr = (listTem[i].quickProjectWorkerTagName).split(',')
// console.log(arr)
listTem[i].tagnamesArr = arr;
}
that.setData({
videoList: listTem
})
that.dataList();
},
/**
......@@ -109,35 +72,22 @@ Page({
},
dataList: function() { //加载数据
var that = this;
wx.request({
url: '', //把这里换成自己的接口地址
data: {
userId: '',
start: '',
limit: 5
},
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success: function(res) {
console.log(res)
// console.log(res.data)
let that= this;
let userInfo = (wx.getStorageSync('userInfo'))
let msg = { 'RecommendNum': 6, 'GuestId': userInfo.GuestId}
app.$api('Video_get_GetLYQVideoRecommendCache', msg).then(res => {
var listTem = that.data.videoList;
var dataList = res.data;
var dataList = res;
//添加新任务列表
that.setData({
videoList: listTem.concat(dataList)
})
if (res.data.length < 5) {
that.setData({
startNum: '0',
current: 0
})
}
if (that.data.videoList.length>0){
this.videoWatch()
}
})
}).catch(err => { })
},
// 下面主要模仿滑动事件
touchstart: function(e) {
......@@ -203,8 +153,10 @@ Page({
},
// 播放上一个
pre: function() {
console.log()
this.setData({
current: this.data.current - 1,
play:false
})
},
......@@ -212,26 +164,56 @@ Page({
next: function() {
this.setData({
current: this.data.current + 1,
play: false
})
this.videoWatch()
},
// 标记视频为已看
videoWatch:function(){
let that = this;
let userInfo = (wx.getStorageSync('userInfo'))
let VideoId = that.data.videoList[that.data.current].Id
let msg = {
'VideoId': VideoId,
'Type':1 ,
'GuestId': userInfo.GuestId
}
app.$api_t('Video_post_SetLYQVideoWatch', msg).then(res => {
}).catch(err => { })
},
//点击暂停/开始
videoTap: function() {
let that = this
//获取video
this.videoContext = wx.createVideoContext('videoplayer')
if (this.data.play) {
that.videoContext = wx.createVideoContext('videoplayer')
if (that.data.play) {
//开始播放
this.videoContext.play() //开始播放
this.setData({
setTimeout(()=>{
that.videoContext.play() //开始播放
},0)
that.setData({
play: false
})
} else {
//当play==false 显示图片 暂停
this.videoContext.pause() //暂停播放
this.setData({
setTimeout(() => {
that.videoContext.pause() //暂停播放
},0)
that.setData({
play: true
})
}
},
bindPlay: function () {
this.setData({ play: false })
},
// 暂停播放
bindPause: function () {
this.setData({ play: true })
},
//播放条时间改表触发
videoUpdate(e) {
if (this.data.updateState) { //判断拖拽完成后才触发更新,避免拖拽失效
......@@ -257,4 +239,70 @@ Page({
})
}
},
// 喜欢和不喜欢
videoLike:function(){
let that = this;
let userInfo = (wx.getStorageSync('userInfo'))
let videoList = that.data.videoList;
let current = that.data.current;
let VideoId = videoList[current].Id;
let IsMyLike = videoList[current].IsMyLike;
let Type = IsMyLike == 0 ? 1 : 2;
if (Type==1){
videoList[current].IsMyLike=1;
videoList[current].LikeNum = videoList[current].LikeNum+1;
}else{
videoList[current].IsMyLike = 0;
videoList[current].LikeNum = videoList[current].LikeNum - 1;
}
that.setData({
videoList: videoList
})
let msg = {
'VideoId': VideoId,
'Type': Type,
'GuestId': userInfo.GuestId
}
app.$api_t('Video_post_SetLYQVideoLike', msg).then(res => {
if (Type == 1){
wx.showToast({
title: '添加到喜欢',
icon: 'none',
duration: 1000
})
}else{
wx.showToast({
title: '已从喜欢列表移除',
icon: 'none',
duration: 1000
})
}
}).catch(err => {
//如果接口调取失败 操作还原
if (Type == 1) {
videoList[current].IsMyLike = 0;
videoList[current].LikeNum = videoList[current].LikeNum - 1;
} else {
videoList[current].IsMyLike = 1;
videoList[current].LikeNum = videoList[current].LikeNum + 1;
}
})
},
personal:function(e){
let model = this.data.videoList[this.data.current];
let UserType = model.UserType;
let CreateBy = model.CreateBy;
wx.navigateTo({
url: '/pages/video/videoAuthor/videoAuthor?UserType=' + UserType + '&CreateBy=' + CreateBy
})
},
})
\ No newline at end of file
<view class="videoBox">
<view class="video {{touch==true? 'transfrom' : '' }}" style="transform:translateY(-{{current*100}}%);" bindtouchstart='touchstart' bindtouchmove='touchmove' bindtouchend='touchend' bindtouchcancel='touchcancel'>
<view wx:for="{{videoList}}" class='videoitem' wx:key="{{item}}">
<video src="{{item.videoUrl}}" id="videoplayer" bindtimeupdate="videoUpdate" bindtap='videoTap' wx:if="{{current==index}}" object-fit="contain" loop='{{true}}' autoplay='{{true}}' custom-cache="{{true}}" controls='{{false}}' show-progress="{{true}}" show-fullscreen-btn="{{false}}" show-play-btn="{{false}}"
<video src="{{item.VideoAddress}}" id="videoplayer" bindtimeupdate="videoUpdate" bindtap='videoTap' wx:if="{{current==index}}" object-fit="contain" loop='{{true}}' autoplay='{{true}}' custom-cache="{{true}}" controls='{{false}}' show-progress="{{true}}" show-fullscreen-btn="{{false}}" show-play-btn="{{false}}" bindplay='bindPlay' bindpause='bindPause'
show-center-play-btn="{{false}}" enable-progress-gesture="{{false}}" vslide-gesture-in-fullscreen="{{false}}" poster="{{item.videoImageUrl}}">
</video>
<!-- <image src="http://{{item.videoImageUrl}}" class="preImage" mode='aspectFit' lazy-load="{{true}}" wx:else></image> -->
<!-- 右侧区域 -->
<view class='btnBox {{switchTo?"show":"hide"}}'>
<view class='btnTx'>
<image style="width:69rpx;height:62rpx" src='../../images/index/dz1.png'></image>
<image style="width:69rpx;height:62rpx" src='../../images/index/dz.png'></image>
<view class='btnTx E_Photo' bindtap='personal'>
<image style="width:76rpx;height:76rpx;border-radius: 38rpx;" src='{{item.EmPhoto}}'></image>
</view>
<view class='btnTx'>
<image style="width:69rpx;height:62rpx" src='../../images/index/xx1.png'></image>
<view class='btnTx' style="margin-top:20rpx" bindtap='videoLike'>
<image wx:if="{{item.IsMyLike==1}}" style="width:69rpx;height:62rpx" src='../../images/index/dz1.png' ></image>
<image wx:elif="{{item.IsMyLike==0}}" style="width:69rpx;height:62rpx" src='../../images/index/dz.png' ></image>
<text class="btnBoxText">{{item.LikeNum}}</text>
</view>
<view class='btnTx' bindtap='commentList'>
<image style="width:69rpx;height:62rpx" src='../../images/index/xx.png'></image>
<text class="btnBoxText">{{item.CommentNum}}</text>
</view>
<view class='btnTx'>
<image style="width:69rpx;height:62rpx" src='../../images/index/fx1.png'></image>
<image style="width:69rpx;height:62rpx" src='../../images/index/fx.png'></image>
</view>
<view class='btnTx'>
<image style="width:69rpx;height:62rpx" src='../../images/index/sp.png'></image>
<view class='btnTx' style="margin-top:20rpx">
<image style="width:69rpx;height:62rpx;marginTop:20rpx" src='../../images/index/sp.png'></image>
</view>
</view>
<!-- 描述 -->
<view class='describe {{switchTo?"show":"hide"}}'>
<view class='nameAddr clearfix'>
<text class='fl' style="margin-right:10rpx">@{{item.reallyName}}</text>
<text class='fl' style="margin-right:10rpx">@{{item.EmName}}</text>
<view class='fl addr clearfix'>
<text class='fl'>{{item.workProvince}}{{item.workCity}}{{item.workCounty}}</text>
<text class='fl'>#{{item.Label}}</text>
</view>
</view>
<text class="descText">{{item.projectContent}}</text>
<view class='labelS clearfix'>
<text class="descText">{{item.Name}}</text>
<!-- <view class='labelS clearfix'>
<text wx:for='{{item.tagnamesArr}}' wx:key='{{item}}' wx:for-item="item">#{{item}}</text>
</view>
</view> -->
</view>
<!-- 播放暂停图标 请换成自己的路径 -->
<image class="playImg" src="../../img/icon_short.png" wx:if="{{play}}" bindtap='videoTap'></image>
<image class="playImg" src="../../images/bofang.png" wx:if="{{play}}" bindtap='videoTap'></image>
<!-- 进度条 -->
<slider class='{{switchTo?"show":"hide"}}' bindchange="sliderChange" bindchanging="sliderChanging" step="1" block-size='10' value="{{sliderValue}}" backgroundColor="#797979" activeColor="#fff" />
</view>
......
......@@ -48,15 +48,18 @@ page{
.btnBox{
width: 100rpx;
position: absolute;
right: -2%;
bottom: -2%;
transform: translate(-50%,-50%);
right: -4%;
bottom: -25%;
transform: translate(-50%,-110%);
display: flex;
flex-direction: column;
align-items: center
}
.btnBox image{
display: block;
}
.btnBox view,.btnBox button{
margin-bottom: 50rpx;
margin-bottom: 30rpx;
}
.btnBox button{
padding: 0;
......@@ -73,6 +76,9 @@ page{
}
.btnBox .btnTx{
position: relative;
display: flex;
flex-direction: column;
align-items: center
}
.btnBox .btnTx .TX{
width: 94rpx;
......@@ -112,7 +118,7 @@ page{
position: absolute;
width:75%;
left:5%;
bottom:12%;
bottom:5%;
}
.describe .nameAddr text{
font-size: 30rpx;
......@@ -140,9 +146,26 @@ slider{
display: 100%;
width: 100%;
position: absolute;
bottom: 8%;
bottom: -1%;
left: 50%;
transform: translate(-50%,-50%);
margin: 0;
}
.btnBoxText{
font-size: 28rpx;
color: #fff;
}
.E_Photo{
width: 76rpx;
height: 76rpx;
border-radius: 38rpx;
border:1px solid white
}
.playImg{
width: 80rpx;
height: 80rpx;
position: absolute;
left: 50%;
top:50%;
}
\ No newline at end of file
// pages/webview/webview.js
const app = getApp()
var util = require('../../../utils/util.js')
Page({
/**
* 页面的初始数据
*/
data: {
headerHeight: app.globalData.headerHeight,
model:{},
Selection:0,
workslist:[],
workIndex:1,
likelist:[],
likeIndex:1,
height: app.globalData.videoContainerSize.height,
hasMoreData:'',
hasMoreData_l:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
model: options
})
this.getUserInfo() //获取用户信息
this.getworkslist() //获取作品列表
this.getlikelist() //获取喜欢列表
},
getUserInfo:function(){
var that = this;;
let model = that.data.model;
let msg={
'EmployeeId': model.CreateBy,
'UserType': model.UserType,
}
app.$api_t('Video_get_GetVideoUserInfo', msg).then(res => {
console.log(res)
}).catch(err => {
//如果接口调取失败 操作还原
})
},
getworkslist:function(){
var that = this;;
let model = that.data.model;
let userInfo = (wx.getStorageSync('userInfo'))
let msg = {
'pageIndex':that.data.workIndex,
'pageSize':9,
'CreateBy': model.CreateBy,
'UserType': model.UserType,
'VideoStatus':1,
'GuestId': userInfo.GuestId,
}
app.$api_t('Video_get_GetLYQVideoPageList', msg).then(res => {
if(res){
if (res.pageData.length<9){
that.setData({
workslist: that.data.workslist.concat(res.pageData),
hasMoreData: false
})
} else {
that.setData({
workslist: that.data.workslist.concat(res.pageData),
hasMoreData: true,
workIndex: that.data.workIndex+1
})
}
}
}).catch(err => {
//如果接口调取失败 操作还原
})
},
getlikelist: function () {
var that = this;;
let model = that.data.model;
let userInfo = (wx.getStorageSync('userInfo'))
let msg = {
'pageIndex': that.data.likeIndex,
'pageSize': 9,
'CreateBy': model.CreateBy,
'UserType': model.UserType,
'VideoStatus': 1,
'GuestId': userInfo.GuestId,
}
app.$api_t('Video_get_GetLYQMyLikeVideoPageList', msg).then(res => {
if (res) {
if (res.pageData.length < 9) {
that.setData({
likelist: that.data.likelist.concat(res.pageData),
hasMoreData_l: false
})
} else {
that.setData({
likelist: that.data.likelist.concat(res.pageData),
hasMoreData_l: true,
likeIndex: that.data.likeIndex + 1
})
}
}
}).catch(err => {
//如果接口调取失败 操作还原
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
works:function(){
if (this.data.Selection==1){
this.setData({
Selection:0
})
}
},
like:function(){
if (this.data.Selection == 0) {
this.setData({
Selection: 1
})
}
},
loadMore:function(){
console.log('上拉成功')
if (this.data.hasMoreData) {
this.getworkslist()
} else {
// wx.showToast({
// title: '没有更多数据',
// icon:'none'
// })
}
},
loadMore_l:function(){
if (this.data.hasMoreData_l) {
this.getlikelist()
} else {
// wx.showToast({
// title: '没有更多数据',
// icon:'none'
// })
}
}
})
\ No newline at end of file
{
"usingComponents": {},
"navigationBarTitleText": "信息",
"navigationStyle": "default",
"onReachBottomDistance": 50,
"enablePullDownRefresh": true
}
\ No newline at end of file
<view class="Box">
<image style="width:100%;height:250rpx;" src='../../../images/ge_bg.png'></image>
<!-- <view class='posi_top' style="height: {{headerHeight}}px">
<image src='../../../images/back_black.png' bindtap='go_back'></image>
<text>信息</text>
<image src=''></image>
</view> -->
<view class="personal">
<image src='../../../images/back_black.png'></image>
<text>获赞</text>
</view>
<view class="personal_t">
<text>肖</text>
<text>联系电话:</text>
</view>
<view style="width:100%;height:1px;background:#E2E2E2;margin-top:10rpx"></view>
<view class="tabar">
<text style='{{Selection==0? "color:#257BF1" : "color:#111111"}}' bindtap='works'>作品</text>
<text style='{{Selection==0? "color:#111111" : "color:#257BF1"}}' bindtap='like'>喜欢</text>
</view>
</view>
<scroll-view
scroll-y style="width: 100%; height: {{height-290}}px;"
bindscrolltolower="loadMore"
class='workslist {{Selection==0?"show":"hide"}}'>
<view wx:for="{{workslist}}" wx:key="workslist" class='listItem'>
<image src='item.Cover' class="worksImg">
<view class="playNum">
<image class="playImg" src="../../../images/bofang.png"></image>
<text>{{item.WatchNum}}</text>
</view>
</image>
</view>
<!-- <view class="Tips">
<text wx:if="{{workslist.length==0}}" >暂无数据</text>
</view> -->
<view wx:if="{{hasMoreData}}" class="loadmore loading">正在加载中...</view>
<view wx:else class="loadmore">没有更多内容了</view>
</scroll-view>
<scroll-view
bindscrolltolower="loadMore_l"
scroll-y style="width: 100%; height: {{height-290}}px;"
class='workslist {{Selection==1?"show":"hide"}}'>
<view wx:for="{{likelist}}" wx:key="workslist" class='listItem'>
<image src='item.Cover' class="worksImg">
<view class="playNum">
<image class="playImg" src="../../../images/bofang.png"></image>
<text>{{item.WatchNum}}</text>
</view>
</image>
</view>
<!-- <view class="Tips">
<text wx:if="{{likelist.length==0}}" >暂无数据</text>
</view> -->
<view wx:if="{{hasMoreData2}}" class="loadmore loading">正在加载中...</view>
<view wx:else class="loadmore">没有更多内容了</view>
</scroll-view>
\ No newline at end of file
page {
height: 100%;
overflow-y: hidden;
}
.Box{
position: relative;
}
.posi_top{
width: 100%;
position: fixed;
top:0;
left: 0;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end
}
.posi_top image{
width:40rpx;
height:45rpx;
padding: 15rpx;
}
.posi_top text{
font-size: 35rpx;
color: '#111111';
padding: 15rpx;
}
.personal{
width: 100%;
height: 156rpx;
margin-top: -30px;
display: flex;
flex-direction: row;
align-items: center
}
.personal image{
width: 156rpx;
height: 156rpx;
border-radius: 78rpx;
border: 1px solid white;
margin-left: 15px
}
.personal text{
font-size: 28rpx;
color: '#111111';
margin-left: 60rpx
}
.personal_t{
width: 100%;
display: flex;
margin-top: 10rpx;
flex-direction: column;
}
.personal_t text:nth-child(1){
font-size: 36rpx;
color: '#111111';
margin-left: 30rpx
}
.personal_t text:nth-child(2){
font-size: 24rpx;
color: '#666666';
margin-left: 30rpx;
}
.tabar{
width: 100%;
height: 80rpx;
}
.tabar text{
display: inline-block;
width: 50%;
text-align: center;
line-height: 80rpx;
font-size: 28rpx;
color: #111111;
}
.workslist{
/* display: flex;
flex-direction: row;
flex-wrap: wrap; */
width: 100%
}
.listItem{
width: 29%;
height: 300rpx;
/* border:1px solid white; */
float: left;
margin-left: 3%;
margin-top: 20rpx;
}
.worksImg{
width: 100%;
height: 300rpx;
background: black;
position: relative
}
.playNum{
width: 100%;
height: 60rpx;
position: absolute;
left: 0;
bottom: 0;
display: flex;
flex-direction: row;
align-items: center;
}
.playImg{
width: 26rpx;
height: 26rpx;
margin-left: 10rpx;
}
.playNum text{
font-size: 24rpx;
color: white;
margin-left: 10rpx
}
.show{
display:show;
}
.hide{
display:none;
}
.Tips{
width: 100%;
font-size: 24rpx;
color: '#666666';
display: flex;
align-items: center;
justify-content: center;
margin-top: 30rpx
}
.loadmore {
color: #666666;
font-size: 24rpx;
line-height: 100rpx;
text-align: center;
width: 100%;
float: left
}
.loadmore.loading::before {
content: '';
width: 40rpx;
height: 40rpx;
margin-top: -10rpx;
margin-right: 10rpx;
display: inline-block;
vertical-align: middle;
animation: loading 1s steps(12) infinite;
background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;
background-size: 100%
}
@keyframes loading {
from {
transform: rotate(0deg)
}
to {
transform: rotate(-360deg)
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment