wangshuai преди 2 години
родител
ревизия
86bad78fe4
променени са 66 файла, в които са добавени 615 реда и са изтрити 1234 реда
  1. +0
    -80
      components/yz-audio/audioBg.js
  2. +0
    -119
      components/yz-audio/index.scss
  3. Двоични данни
      components/yz-audio/static/backimg.png
  4. Двоични данни
      components/yz-audio/static/bg.png
  5. Двоични данни
      components/yz-audio/static/bg_act.png
  6. Двоични данни
      components/yz-audio/static/loading.png
  7. Двоични данни
      components/yz-audio/static/loading2.png
  8. Двоични данни
      components/yz-audio/static/pausebtn.png
  9. Двоични данни
      components/yz-audio/static/playbtn.png
  10. +0
    -430
      components/yz-audio/yz-audio.vue
  11. +588
    -593
      pages.json
  12. +24
    -9
      pages/center/Piabodata/index.vue
  13. +1
    -1
      pages/mine/equipment/index.vue
  14. +1
    -1
      pages/mine/registerForm.vue
  15. Двоични данни
      static/images/Customer.png
  16. Двоични данни
      static/images/Shutdown.png
  17. Двоични данни
      static/images/Thtapedrive1.png
  18. Двоични данни
      static/images/Thtapedrive2.png
  19. Двоични данни
      static/images/Underimg.png
  20. Двоични данни
      static/images/add.png
  21. Двоични данни
      static/images/allimg.png
  22. Двоични данни
      static/images/arrow-right.png
  23. Двоични данни
      static/images/arrow.png
  24. Двоични данни
      static/images/audioinfo1.png
  25. Двоични данни
      static/images/audioinfo2.png
  26. Двоични данни
      static/images/audioinfo3.png
  27. Двоични данни
      static/images/audioinfo4.png
  28. Двоични данни
      static/images/backTop.png
  29. Двоични данни
      static/images/battery.png
  30. Двоични данни
      static/images/biaoqianya.png
  31. Двоични данни
      static/images/bishang.png
  32. Двоични данни
      static/images/building.png
  33. Двоични данни
      static/images/cus1.png
  34. Двоични данни
      static/images/cus2.png
  35. Двоични данни
      static/images/cus3.png
  36. Двоични данни
      static/images/cus4.png
  37. Двоични данни
      static/images/cus5.png
  38. Двоични данни
      static/images/cus6.png
  39. Двоични данни
      static/images/qushi.png
  40. Двоични данни
      static/images/ranking1.png
  41. Двоични данни
      static/images/ranking2.png
  42. Двоични данни
      static/images/ranking3.png
  43. Двоични данни
      static/images/rankingguwen.png
  44. Двоични данни
      static/images/rate-checked.png
  45. Двоични данни
      static/images/rate-nocheck.png
  46. Двоични данни
      static/images/reg.png
  47. Двоични данни
      static/images/reverse.png
  48. Двоични данни
      static/images/right.png
  49. Двоични данни
      static/images/righttochoose.png
  50. Двоични данни
      static/images/screen.png
  51. Двоични данни
      static/images/scuess.png
  52. Двоични данни
      static/images/search.png
  53. Двоични данни
      static/images/setting.png
  54. Двоични данни
      static/images/signal0.png
  55. Двоични данни
      static/images/signal1.png
  56. Двоични данни
      static/images/signal2.png
  57. Двоични данни
      static/images/signal3.png
  58. Двоични данни
      static/images/signal4.png
  59. Двоични данни
      static/images/signal5.png
  60. Двоични данни
      static/images/studyhot.png
  61. Двоични данни
      static/images/testimg.png
  62. Двоични данни
      static/images/time.png
  63. Двоични данни
      static/images/tuandui.png
  64. Двоични данни
      static/images/yinghu.png
  65. Двоични данни
      static/images/zhengkai.png
  66. +1
    -1
      utils/domain.js

+ 0
- 80
components/yz-audio/audioBg.js Целия файл

@@ -1,80 +0,0 @@
import {
mapState,
mapActions,
mapMutations
} from 'vuex'
export const audios = {
data() {
return {}
},

computed: {
...mapState(['bgAudioMannager', 'isBgPlay']),
},

methods: {
setAudio(obj) {
this.bgAudioMannager.title = '录音音频';
this.bgAudioMannager.src = obj.src
this.bgAudioMannager.startTime = obj.currentTime
},

setAudioFunc() {
this.bgAudioMannager.onCanplay(() => {
console.log('可以播放');
});
this.bgAudioMannager.onStop(() => {
console.log('停止播放');
});
this.bgAudioMannager.onPause(() => {
console.log('暂停播放');
// 设置当前暂停的视频播放位置
// this.seek(this.bgAudioMannager.currentTime)
// this.play()
});
this.bgAudioMannager.onEnded(() => {
console.log('自然播放结束事件');
});
this.bgAudioMannager.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});

this.bgAudioMannager.onTimeUpdate(() => {
this.duration = this.bgAudioMannager.duration;
this.currentTime = this.bgAudioMannager.currentTime;
this.$emit('timeUpdate', {
duration: this.bgAudioMannager.duration,
currentTime: this.bgAudioMannager.currentTime
})
});
},
// 背景音频暂停
audioPause() {
this.bgAudioMannager.pause()
},
// 背景音频播放
audioPlay() {
this.pause()
this.bgAudioMannager.play()
},
//背景音频指定秒数播放
audioSeek(t) {
this.bgAudioMannager.seek(t)
},
// 停止背景音频播放
stopAduio() {
if (this.bgAudioMannager != null) {
this.bgAudioMannager.pause()
if (this.bgAudioMannager.src != '') {
this.bgAudioMannager.src = ''
}
}
}
}
}

+ 0
- 119
components/yz-audio/index.scss Целия файл

@@ -1,119 +0,0 @@
@mixin textoverflow() {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
@keyframes rowup {
0% {
-webkit-transform: translate(-50%, -50%) rotate(0deg);
transform-origin: center center;
}

100% {
-webkit-transform: translate(-50%, -50%) rotate(360deg);
transform-origin: center center;
}
}
.imt-audio{
position:relative;
width: 100%;
display: flex;
box-sizing: border-box;
background: #fff;
overflow: hidden;
.top {
width: 140rpx;
position: relative;
}

.audio-wrapper {
display: flex;
flex-direction: column;
flex: 1;
color: #fff;
margin-left: 20rpx;
}
.slidebox {
display: flex;
justify-content: space-between;
width: 96%;
}
/deep/ .uni-slider-tap-area {
padding: 0;
}
/deep/ .uni-slider-wrapper {
min-height: 0;
}
/deep/ .uni-slider-handle-wrapper {
height: 6px;
}
.audio-slider {
padding-top: 10rpx;
margin-left: 150rpx;
position: absolute;
bottom: 40rpx;
width: 75vw;
left: 0;
padding: 0;
}

// .cover {
// width: 120rpx;
// height: 120rpx;
// box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
// position: absolute;
// top: 50%;
// left: 50%;
// transform: translate(-50%, -50%);
// animation-fill-mode: forwards;
// -webkit-animation-fill-mode: forwards;
// }

.play {
width: 48rpx;
height: 48rpx;
z-index: 99;
background: rgba(0, 0, 0, 0.4);
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
&.loading{
width: 48rpx;
height: 48rpx;
animation: rotating_theme3 2s linear infinite;
}
}
}

@keyframes rotating {
0% {
transform: rotateZ(0deg)
}
100% {
transform: rotateZ(360deg)
}
}
@keyframes rotating_theme3 {
0% {
transform: translate(-50%, -50%) rotateZ(0deg)
}
100% {
transform: translate(-50%, -50%) rotateZ(360deg)
}
}

.hItem
{
margin-left: 16rpx;
}

.extrButton
{
font-size: 36rpx;
}

Двоични данни
components/yz-audio/static/backimg.png Целия файл

Преди След
Ширина: 64  |  Височина: 16  |  Големина: 594 B

Двоични данни
components/yz-audio/static/bg.png Целия файл

Преди След
Ширина: 64  |  Височина: 64  |  Големина: 1.8 KiB

Двоични данни
components/yz-audio/static/bg_act.png Целия файл

Преди След
Ширина: 64  |  Височина: 64  |  Големина: 1.9 KiB

Двоични данни
components/yz-audio/static/loading.png Целия файл

Преди След
Ширина: 48  |  Височина: 48  |  Големина: 331 B

Двоични данни
components/yz-audio/static/loading2.png Целия файл

Преди След
Ширина: 48  |  Височина: 48  |  Големина: 333 B

Двоични данни
components/yz-audio/static/pausebtn.png Целия файл

Преди След
Ширина: 130  |  Височина: 123  |  Големина: 189 B

Двоични данни
components/yz-audio/static/playbtn.png Целия файл

Преди След
Ширина: 130  |  Височина: 130  |  Големина: 274 B

+ 0
- 430
components/yz-audio/yz-audio.vue Целия файл

@@ -1,430 +0,0 @@
<template>
<view class="imt-audio">
<template>
<view class="top">
<view class="audio-control-wrapper">
<image :src="require('./static/loading.png')" v-if="playState=='loading'" class="play loading">
</image>
<template v-else>
<image :src="require('./static/playbtn.png')" alt="play" @click="play" class="play"
v-if="playState=='pause'"></image>
<image :src="require('./static/pausebtn.png')" alt="pause" @click="pause" class="play" v-else>
</image>
</template>
</view>
</view>
<view class="audio-wrapper">
<view class="audio-flex">
<text>
{{formatSeconds(currentTime)}}
</text>
<slider class="audio-slider" block-size="12" :max="duration" :value="currentTime"
@change="sliderChange" @changing="sliderChanging"></slider>
<text>
{{formatSeconds(duration)}}
</text>
</view>

<view class="slidebox" @click="showTip">
<slot name="extraCtrls">
<image class="slide-img" :src="require('./static/backimg.png')" mode=""></image>
</slot>
</view>
<!-- 后台播放按钮区域 -->
<view class="popup" v-if="show" :class="{close: closeing}" @click="checkPlayer">
<template v-if="!isBgPlay">
<image :src="require('./static/bg.png')" mode=""></image>
</template>
<template v-else>
<image :src="require('./static/bg_act.png')" mode=""></image>
</template>
<text :class="{'act-test': isBgPlay}">后台播放</text>
</view>
</view>
<!--video在ios中不能完全隐藏,否则无法播放-->
<video id="videoPlayer" :autoplay="false" class="videoPlayer" :src="src" :muted="false"
style="width: 10rpx;height:10rpx;" @play="playerOnPlay" @pause="playerOnPause" @ended="playerOnEnded"
@timeupdate="playerOnTimeupdate" @waiting="playerOnWaiting" @error="playerOnError"></video>
</template>
</view>
</template>

<script>
/*
createInnerAudioContext()是audio组件的内部实现,不能熄屏播放、不能后台播放、不能倍速播放。
getBackgroundAudioManager() 可以熄屏播放、后台播放,不能倍速播放。缺点是响应速度很慢,无法实现精细、及时的进度控制,而且可能被别的程序占用。
因此这里只能用video来实现,video能倍速播放,不能熄屏播放、不能后台播放。而且避免了用createInnerAudioContext()实现的跳转到别的页面,还在播放的问题
因此应用程序可以在需要后台播放的时候(需要用户操作触发),再暂停这个控件的播放,然后自己用getBackgroundAudioManager实现后台播放
*/

import Vue from 'vue';
import {
mapMutations
} from 'vuex'
import {
audios
} from './audioBg.js'
export default {
mixins: [audios],
props: {
nowFileTime: {
type: [String, Number],
default: 0
},
},

watch: {
nowFileTime(oValue, nValue) {
this.duration = nValue
}
},

data() {
return {
src: '', //
poster: "",
name: "...",
singer: "...",
duration: 0,
currentTime: 0,
playState: "pause", //"loading"/"playing"/"pause"
isSliderChanging: false,
isFirst: false, // 是否阻止第一次赋值
show: false, // 控制展示用的
closeing: false, // 默认关闭
};
},
created() {
// 自定义组件,需要传递第二个参数为this,否则后续的pause等操作不起作用
this.videoCtx = uni.createVideoContext("videoPlayer", this);
this.createAudio()
this.setAudioFunc()
},

mounted() {
if (this.isBgPlay) {
this.backAudio()
}
},

methods: {
...mapMutations(['createAudio', 'stopAduio']),
setSrc(value) {
console.log(this, ' 我打印this')
this.src = value;
},

setPoster(value) {
this.poster = value;
},
setName(value) {
this.name = value;
},
setSinger(value) {
this.singer = value;
},

playerOnPlay(e) {
this.playState = "playing";
console.log('playerOnPlay', e)
this.$emit("play");
},
playerOnPause(e) {
this.playState = "pause";
console.log('playerOnPause', e)
this.$emit("pause");
},
playerOnEnded(e) {
this.playState = "pause";
console.log('playerOnEnded', e)
this.$emit("ended");
},

playerOnTimeupdate(e) {
if (this.isFirst) this.playState = "playing";
this.isFirst = true
this.duration = e.detail.duration;
this.currentTime = e.detail.currentTime;
this.$emit("timeUpdate", e.detail);
},

playerOnWaiting(e) {
this.playState = "loading";
console.log('playerOnWaiting', e)
},
playerOnError(e) {
console.log('playerOnError', e)
this.playState = "pause";
this.$emit("error", e);
},
formatSeconds(seconds) {
var result = typeof seconds === "string" ? parseFloat(seconds) : seconds;
if (isNaN(result)) return "";
let h = Math.floor(result / 3600) < 10 ?
"0" + Math.floor(result / 3600) :
Math.floor(result / 3600);
let m = Math.floor((result / 60) % 60) < 10 ?
"0" + Math.floor((result / 60) % 60) :
Math.floor((result / 60) % 60) + h * 60;
let s = Math.floor(result % 60) < 10 ?
"0" + Math.floor(result % 60) :
Math.floor(result % 60);
return `${h}:${m}:${s}`;
},
stop() {
this.videoCtx.stop();
},
seek(t) {
this.videoCtx.seek(t);
},
play() {
// if (this.videoCtx.currentTime != this.videoCtx.currentTime) {
// this.seek(this.currentTime)
// }
console.log('触发方法play')
this.videoCtx.play(); //在有的H5浏览器里,如果play不是用户触发的,则play()会报错
// 暂停后台播放
this.stopAduio()
},
pause() {
console.log('触发方法pause')
this.videoCtx.pause();
},
playbackRate(value) {
this.videoCtx.playbackRate(value);
//playbackRate不能在play之前或者之后立即调用,否则只有很少几率会成功
},
sliderChange(e) {
this.isSliderChanging = false;
//要通过e.detail.value获取,否则如果通过dom去读取slider的value
//就会存在滚动条拖不动的情况
// this.videoCtx.seek(e.detail.value);
let type = 'audio'
if (this.bgAudioMannager.paused === false) {
type = 'bgAudio'
}
this.$emit('sliderChangeComplate', { ...e, isType: type })
},
sliderChanging(e) {
this.isSliderChanging = true;
console.log(e, '当前正在改变')
},
// 关闭后台播放按钮
closeTip() {
this.closeing = false
setTimeout(() => {
this.show = false
}, 250)
},
// 展示后台播放按钮
showTip() {
this.show = true
setTimeout(() => {
this.closeing = true
}, 50)
},

// 点击后台播放音频事件
backAudio() {
this.pause()
let obj = {
src: this.src,
currentTime: this.currentTime
}
this.setAudio(obj)
},

// 切换播放源
checkPlayer() {
this.closeTip()
this.$u.debounce(() => {
if (this.bgAudioMannager.paused === false) {
this.$store.commit('setIsBgPlay', false)
this.play()
this.stopAduio()
} else {
this.$store.commit('setIsBgPlay', true)
this.backAudio()
}
})
}
},
}
</script>

<style lang="scss">
// @import './index.scss';
@mixin textoverflow() {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}

@keyframes rowup {
0% {
-webkit-transform: translate(-50%, -50%) rotate(0deg);
transform-origin: center center;
}

100% {
-webkit-transform: translate(-50%, -50%) rotate(360deg);
transform-origin: center center;
}
}

.imt-audio {
position: relative;
width: 100%;
height: 81rpx;
display: flex;
box-sizing: border-box;
background: #fff;

.top {
position: relative;
width: 100rpx;
}

.audio-wrapper {
position: relative;
padding: 0 20rpx;
display: flex;
flex: 1;
color: #fff;
.popup {
position: absolute;
right: 32rpx;
top: -122rpx;
z-index: 100;
width: 136rpx;
height: 122rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background: #fff;
border: 1rpx solid #E0E0E0;
transition: all 0.25s linear;
opacity: 0;
image {
width: 32rpx;
height: 32rpx;
}
text {
margin-top: 10rpx;
color: #333;
font-size: 24rpx;
}
.act-test {
color: #2671E2;
}
}
.close {
opacity: 1;
}
}

.slidebox {
flex-shrink: 0;
display: flex;
align-items: center;
.slide-img {
width: 32rpx;
height: 8rpx;
}
}

/deep/ .uni-slider-tap-area {
padding: 0;
}

/deep/ .uni-slider-wrapper {
min-height: 0;
}

/deep/ .uni-slider-handle-wrapper {
height: 6px;
}

.audio-slider {
flex-grow: 1;
}

.play {
width: 48rpx;
height: 48rpx;
z-index: 99;
background: rgba(0, 0, 0, 0.4);
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);

&.loading {
width: 48rpx;
height: 48rpx;
animation: rotating_theme3 2s linear infinite;
}
}
}

.audio-flex {
padding: 0 32rpx 0 0;
flex-grow: 1;
display: flex;
align-items: center;

text {
color: #70798D;
}
}

@keyframes rotating {
0% {
transform: rotateZ(0deg)
}

100% {
transform: rotateZ(360deg)
}
}

@keyframes rotating_theme3 {
0% {
transform: translate(-50%, -50%) rotateZ(0deg)
}

100% {
transform: translate(-50%, -50%) rotateZ(360deg)
}
}

.hItem {
margin-left: 16rpx;
}

.extrButton {
font-size: 36rpx;
}

.videoPlayer {
position: absolute;
left: 0;
bottom: 0;
z-index: -1;
}
</style>

+ 588
- 593
pages.json
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 24
- 9
pages/center/Piabodata/index.vue Целия файл

@@ -84,8 +84,14 @@
</view> -->
<view class="danwei">{{danwei}} </view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="optionsobj" background="none"
:ontouch="true" canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
<template v-if="danwei == '单位(%)'">
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="lineOpts" background="none"
:ontouch="true" canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
</template>
<template v-else>
<qiun-data-charts type="line" :chartData="lineOptsect" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
</template>
</view>
</view>

@@ -104,8 +110,8 @@
</view>
<view class="danwei">单位(%)</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
canvasId="wangxiaohuaerlineryiliwuyibao" :canvas2d="true" />
<qiun-data-charts :opts="lineOpts" type="line" :chartData="lineOptsect1" background="none"
:ontouch="true" canvasId="wangxiaohuaerlineryiliwuyibao" :canvas2d="true" />
</view>
</view>
</view>
@@ -130,7 +136,7 @@
</view> -->
<view class="danwei">单位(%)</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :opts="opts" :chartData="lineOptsect2" background="none"
<qiun-data-charts :opts="lineOpts" type="line" :chartData="lineOptsect2" background="none"
:ontouch="true" canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" />
</view>
</view>
@@ -327,6 +333,15 @@
commonly6: false,
},

lineOpts: {
yAxis: {
data: [{
max: 100,
min: 0,
}]
}
},

opts: {
yAxis: {
data: [{
@@ -362,21 +377,21 @@
// 获取维度
this.getindexZxl()
},
onPullDownRefresh(){
onPullDownRefresh() {
// 获取员工
this.getStaffList()
// 获取团队
this.getSectionList()
// 获取团队是否显示权限
// 获取简报
this.getReport()
// 获取接待趋势
this.getRtrent()
// 获取维度
this.getindexZxl()
setTimeout(function () {
uni.stopPullDownRefresh();
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
methods: {


+ 1
- 1
pages/mine/equipment/index.vue Целия файл

@@ -63,7 +63,7 @@
<view class="infobox2">
<view class="box2-zuo">待上传</view>
<template v-if="item.fileCount && item.fileCount > 0">
<text class="stayupload">{{ item.fileCount }}条</text>
<text class="stayupload box2-you">{{ item.fileCount }}条</text>
</template>
<template v-else>
<text class="box2-you">0</text>


+ 1
- 1
pages/mine/registerForm.vue Целия файл

@@ -15,7 +15,7 @@
</view>
<view class="chented">
<view class="title">
<view class="titletext">性别</view>
<view class="titletext2 displayclick" style="display: flex;align-items: center;padding-left: 10rpx;">


Двоични данни
static/images/Customer.png Целия файл

Преди След
Ширина: 72  |  Височина: 72  |  Големина: 4.4 KiB Ширина: 72  |  Височина: 72  |  Големина: 1.6 KiB

Двоични данни
static/images/Shutdown.png Целия файл

Преди След
Ширина: 48  |  Височина: 48  |  Големина: 1.9 KiB Ширина: 48  |  Височина: 48  |  Големина: 676 B

Двоични данни
static/images/Thtapedrive1.png Целия файл

Преди След
Ширина: 56  |  Височина: 64  |  Големина: 2.8 KiB Ширина: 56  |  Височина: 64  |  Големина: 968 B

Двоични данни
static/images/Thtapedrive2.png Целия файл

Преди След
Ширина: 60  |  Височина: 64  |  Големина: 2.9 KiB Ширина: 60  |  Височина: 64  |  Големина: 1.0 KiB

Двоични данни
static/images/Underimg.png Целия файл

Преди След
Ширина: 76  |  Височина: 76  |  Големина: 1014 B Ширина: 76  |  Височина: 76  |  Големина: 436 B

Двоични данни
static/images/add.png Целия файл

Преди След
Ширина: 156  |  Височина: 156  |  Големина: 1.4 KiB Ширина: 156  |  Височина: 156  |  Големина: 1.1 KiB

Двоични данни
static/images/allimg.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 1.5 KiB Ширина: 80  |  Височина: 80  |  Големина: 536 B

Двоични данни
static/images/arrow-right.png Целия файл

Преди След
Ширина: 28  |  Височина: 60  |  Големина: 1019 B Ширина: 28  |  Височина: 60  |  Големина: 355 B

Двоични данни
static/images/arrow.png Целия файл

Преди След
Ширина: 24  |  Височина: 56  |  Големина: 902 B Ширина: 24  |  Височина: 56  |  Големина: 250 B

Двоични данни
static/images/audioinfo1.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 2.8 KiB Ширина: 80  |  Височина: 80  |  Големина: 994 B

Двоични данни
static/images/audioinfo2.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 2.9 KiB Ширина: 80  |  Височина: 80  |  Големина: 1.0 KiB

Двоични данни
static/images/audioinfo3.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 2.5 KiB Ширина: 80  |  Височина: 80  |  Големина: 934 B

Двоични данни
static/images/audioinfo4.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 2.2 KiB Ширина: 80  |  Височина: 80  |  Големина: 832 B

Двоични данни
static/images/backTop.png Целия файл

Преди След
Ширина: 52  |  Височина: 68  |  Големина: 1.2 KiB Ширина: 52  |  Височина: 68  |  Големина: 650 B

Двоични данни
static/images/battery.png Целия файл

Преди След
Ширина: 88  |  Височина: 52  |  Големина: 913 B Ширина: 88  |  Височина: 52  |  Големина: 349 B

Двоични данни
static/images/biaoqianya.png Целия файл

Преди След
Ширина: 1254  |  Височина: 374  |  Големина: 10 KiB Ширина: 1254  |  Височина: 374  |  Големина: 923 B

Двоични данни
static/images/bishang.png Целия файл

Преди След
Ширина: 60  |  Височина: 32  |  Големина: 1.5 KiB Ширина: 60  |  Височина: 32  |  Големина: 650 B

Двоични данни
static/images/building.png Целия файл

Преди След
Ширина: 88  |  Височина: 88  |  Големина: 2.3 KiB Ширина: 88  |  Височина: 88  |  Големина: 925 B

Двоични данни
static/images/cus1.png Целия файл

Преди След
Ширина: 24  |  Височина: 32  |  Големина: 1.0 KiB Ширина: 24  |  Височина: 32  |  Големина: 684 B

Двоични данни
static/images/cus2.png Целия файл

Преди След
Ширина: 22  |  Височина: 32  |  Големина: 394 B Ширина: 22  |  Височина: 32  |  Големина: 244 B

Двоични данни
static/images/cus3.png Целия файл

Преди След
Ширина: 28  |  Височина: 32  |  Големина: 1.4 KiB Ширина: 28  |  Височина: 32  |  Големина: 596 B

Двоични данни
static/images/cus4.png Целия файл

Преди След
Ширина: 32  |  Височина: 32  |  Големина: 1.6 KiB Ширина: 32  |  Височина: 32  |  Големина: 693 B

Двоични данни
static/images/cus5.png Целия файл

Преди След
Ширина: 22  |  Височина: 32  |  Големина: 398 B Ширина: 22  |  Височина: 32  |  Големина: 218 B

Двоични данни
static/images/cus6.png Целия файл

Преди След
Ширина: 30  |  Височина: 32  |  Големина: 1.5 KiB Ширина: 30  |  Височина: 32  |  Големина: 636 B

Двоични данни
static/images/qushi.png Целия файл

Преди След
Ширина: 268  |  Височина: 268  |  Големина: 34 KiB Ширина: 268  |  Височина: 268  |  Големина: 9.1 KiB

Двоични данни
static/images/ranking1.png Целия файл

Преди След
Ширина: 76  |  Височина: 76  |  Големина: 6.0 KiB Ширина: 76  |  Височина: 76  |  Големина: 2.5 KiB

Двоични данни
static/images/ranking2.png Целия файл

Преди След
Ширина: 76  |  Височина: 76  |  Големина: 6.2 KiB Ширина: 76  |  Височина: 76  |  Големина: 2.7 KiB

Двоични данни
static/images/ranking3.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 7.2 KiB Ширина: 80  |  Височина: 80  |  Големина: 3.0 KiB

Двоични данни
static/images/rankingguwen.png Целия файл

Преди След
Ширина: 136  |  Височина: 136  |  Големина: 8.2 KiB Ширина: 136  |  Височина: 136  |  Големина: 2.5 KiB

Двоични данни
static/images/rate-checked.png Целия файл

Преди След
Ширина: 56  |  Височина: 56  |  Големина: 1.5 KiB Ширина: 56  |  Височина: 56  |  Големина: 571 B

Двоични данни
static/images/rate-nocheck.png Целия файл

Преди След
Ширина: 27  |  Височина: 27  |  Големина: 476 B Ширина: 27  |  Височина: 27  |  Големина: 349 B

Двоични данни
static/images/reg.png Целия файл

Преди След
Ширина: 80  |  Височина: 80  |  Големина: 3.0 KiB Ширина: 80  |  Височина: 80  |  Големина: 1.1 KiB

Двоични данни
static/images/reverse.png Целия файл

Преди След
Ширина: 268  |  Височина: 268  |  Големина: 31 KiB Ширина: 268  |  Височина: 268  |  Големина: 7.7 KiB

Двоични данни
static/images/right.png Целия файл

Преди След
Ширина: 14  |  Височина: 30  |  Големина: 567 B Ширина: 14  |  Височина: 30  |  Големина: 241 B

Двоични данни
static/images/righttochoose.png Целия файл

Преди След
Ширина: 36  |  Височина: 48  |  Големина: 1.1 KiB Ширина: 36  |  Височина: 48  |  Големина: 466 B

Двоични данни
static/images/screen.png Целия файл

Преди След
Ширина: 40  |  Височина: 40  |  Големина: 1.2 KiB Ширина: 40  |  Височина: 40  |  Големина: 587 B

Двоични данни
static/images/scuess.png Целия файл

Преди След
Ширина: 76  |  Височина: 76  |  Големина: 2.2 KiB Ширина: 76  |  Височина: 76  |  Големина: 708 B

Двоични данни
static/images/search.png Целия файл

Преди След
Ширина: 52  |  Височина: 60  |  Големина: 2.2 KiB Ширина: 52  |  Височина: 60  |  Големина: 803 B

Двоични данни
static/images/setting.png Целия файл

Преди След
Ширина: 72  |  Височина: 72  |  Големина: 3.7 KiB Ширина: 72  |  Височина: 72  |  Големина: 1.3 KiB

Двоични данни
static/images/signal0.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 541 B Ширина: 82  |  Височина: 60  |  Големина: 265 B

Двоични данни
static/images/signal1.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 672 B Ширина: 82  |  Височина: 60  |  Големина: 308 B

Двоични данни
static/images/signal2.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 699 B Ширина: 82  |  Височина: 60  |  Големина: 312 B

Двоични данни
static/images/signal3.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 702 B Ширина: 82  |  Височина: 60  |  Големина: 313 B

Двоични данни
static/images/signal4.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 656 B Ширина: 82  |  Височина: 60  |  Големина: 324 B

Двоични данни
static/images/signal5.png Целия файл

Преди След
Ширина: 82  |  Височина: 60  |  Големина: 562 B Ширина: 82  |  Височина: 60  |  Големина: 265 B

Двоични данни
static/images/studyhot.png Целия файл

Преди След
Ширина: 36  |  Височина: 36  |  Големина: 1.3 KiB Ширина: 36  |  Височина: 36  |  Големина: 557 B

Двоични данни
static/images/testimg.png Целия файл

Преди След
Ширина: 52  |  Височина: 56  |  Големина: 1.2 KiB Ширина: 52  |  Височина: 56  |  Големина: 547 B

Двоични данни
static/images/time.png Целия файл

Преди След
Ширина: 60  |  Височина: 60  |  Големина: 2.6 KiB Ширина: 60  |  Височина: 60  |  Големина: 939 B

Двоични данни
static/images/tuandui.png Целия файл

Преди След
Ширина: 268  |  Височина: 268  |  Големина: 31 KiB Ширина: 268  |  Височина: 268  |  Големина: 7.4 KiB

Двоични данни
static/images/yinghu.png Целия файл

Преди След
Ширина: 268  |  Височина: 268  |  Големина: 33 KiB Ширина: 268  |  Височина: 268  |  Големина: 8.7 KiB

Двоични данни
static/images/zhengkai.png Целия файл

Преди След
Ширина: 60  |  Височина: 40  |  Големина: 2.4 KiB Ширина: 60  |  Височина: 40  |  Големина: 867 B

+ 1
- 1
utils/domain.js Целия файл

@@ -1,4 +1,4 @@
// const base = 'http://39.97.167.65' ;// 测试站
// const base = 'http://81.70.55.170:9090' ;// 测试站
// const base = 'http://8kdmng.natappfree.cc' ;// 佳豪
// const base = 'http://192.168.31.134:9999' ;// 佳豪
// const base = 'http://192.168.31.86:9999' ;// 胜浩


Зареждане…
Отказ
Запис