正在显示
37 个修改的文件
包含
4291 行增加
和
217 行删除
| @@ -17,6 +17,10 @@ | @@ -17,6 +17,10 @@ | ||
| 17 | <view class="HonorWall-c-c-b-i-t">{{ item.name }}</view> | 17 | <view class="HonorWall-c-c-b-i-t">{{ item.name }}</view> |
| 18 | </view> | 18 | </view> |
| 19 | </view> | 19 | </view> |
| 20 | + <view class="HonorWall-c-c-f"> | ||
| 21 | + <view class="HonorWall-c-c-f-1">模块正确率达到上岸基准线,对应模块徽章将被点亮。</view> | ||
| 22 | + <view class="HonorWall-c-c-f-1">全部徽章点亮即可凭荣誉勋章截图到学生服务中心领取奖品1份!</view> | ||
| 23 | + </view> | ||
| 20 | </view> | 24 | </view> |
| 21 | </view> | 25 | </view> |
| 22 | </view> | 26 | </view> |
| @@ -39,7 +43,6 @@ | @@ -39,7 +43,6 @@ | ||
| 39 | }, | 43 | }, |
| 40 | methods: { | 44 | methods: { |
| 41 | close() { | 45 | close() { |
| 42 | - debugger | ||
| 43 | this.show = false | 46 | this.show = false |
| 44 | }, | 47 | }, |
| 45 | open() { | 48 | open() { |
| @@ -68,7 +71,7 @@ | @@ -68,7 +71,7 @@ | ||
| 68 | position: absolute; | 71 | position: absolute; |
| 69 | top: 0; | 72 | top: 0; |
| 70 | left: 0; | 73 | left: 0; |
| 71 | - padding: 50rpx; | 74 | + padding: 50rpx 30rpx; |
| 72 | width: 100%; | 75 | width: 100%; |
| 73 | box-sizing: border-box; | 76 | box-sizing: border-box; |
| 74 | .HonorWall-c-c-t{ | 77 | .HonorWall-c-c-t{ |
| @@ -122,6 +125,27 @@ | @@ -122,6 +125,27 @@ | ||
| 122 | } | 125 | } |
| 123 | } | 126 | } |
| 124 | } | 127 | } |
| 128 | + .HonorWall-c-c-f{ | ||
| 129 | + margin-top: 50rpx; | ||
| 130 | + .HonorWall-c-c-f-1{ | ||
| 131 | + font-size: 20rpx; | ||
| 132 | + color: #545C70; | ||
| 133 | + padding-left: 16rpx; | ||
| 134 | + position: relative; | ||
| 135 | + line-height: 33rpx; | ||
| 136 | + &:before{ | ||
| 137 | + content: ''; | ||
| 138 | + position: absolute; | ||
| 139 | + left: 0; | ||
| 140 | + top: 50%; | ||
| 141 | + transform: translateY(-50%); | ||
| 142 | + height: 7rpx; | ||
| 143 | + width: 7rpx; | ||
| 144 | + border-radius: 200rpx; | ||
| 145 | + background-color: #A1A8B8; | ||
| 146 | + } | ||
| 147 | + } | ||
| 148 | + } | ||
| 125 | } | 149 | } |
| 126 | } | 150 | } |
| 127 | } | 151 | } |
| @@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
| 38 | 38 | ||
| 39 | }, | 39 | }, |
| 40 | methods:{ | 40 | methods:{ |
| 41 | - setOtherHeight(height, unit = 'rpx') { | 41 | + setOtherHeight(height) { |
| 42 | // #ifdef MP-WEIXIN | 42 | // #ifdef MP-WEIXIN |
| 43 | let res = wx.getMenuButtonBoundingClientRect(); | 43 | let res = wx.getMenuButtonBoundingClientRect(); |
| 44 | // #endif | 44 | // #endif |
components/PaymentMethodPop/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="PaymentMethodPop"> | ||
| 3 | + <u-popup :show="show" bgColor="transparent" mode="bottom"> | ||
| 4 | + <view class="PaymentMethodPop-c"> | ||
| 5 | + <view class="PaymentMethodPop-c-1">选择支付方式</view> | ||
| 6 | + <view class="PaymentMethodPop-c-2"> | ||
| 7 | + <u-radio-group v-model="value" placement="column"> | ||
| 8 | + <view class="PaymentMethodPop-c-2-i"> | ||
| 9 | + <view class="PaymentMethodPop-c-2-i-l"> | ||
| 10 | + <image class="PaymentMethodPop-c-2-i-l-i" src="@/static/imagesV2/icon53.png" mode="widthFix"></image> | ||
| 11 | + <text class="PaymentMethodPop-c-2-i-l-r">微信支付</text> | ||
| 12 | + </view> | ||
| 13 | + <view class="PaymentMethodPop-c-2-i-r"> | ||
| 14 | + <u-radio :name="PAYMENTTYPE.WECHAT"></u-radio> | ||
| 15 | + </view> | ||
| 16 | + </view> | ||
| 17 | + <view class="PaymentMethodPop-c-2-i"> | ||
| 18 | + <view class="PaymentMethodPop-c-2-i-l"> | ||
| 19 | + <image class="PaymentMethodPop-c-2-i-l-i" src="@/static/imagesV2/icon54.png" mode="widthFix"></image> | ||
| 20 | + <text class="PaymentMethodPop-c-2-i-l-r">支付宝支付</text> | ||
| 21 | + </view> | ||
| 22 | + <view class="PaymentMethodPop-c-2-i-r"> | ||
| 23 | + <u-radio :name="PAYMENTTYPE.ALIPAY"></u-radio> | ||
| 24 | + </view> | ||
| 25 | + </view> | ||
| 26 | + </u-radio-group> | ||
| 27 | + </view> | ||
| 28 | + <view class="PaymentMethodPop-c-3"> | ||
| 29 | + <view class="PaymentMethodPop-c-3-l" @click="cancel"> | ||
| 30 | + 取消 | ||
| 31 | + </view> | ||
| 32 | + <view class="PaymentMethodPop-c-3-r" @click="confirm"> | ||
| 33 | + 确定 | ||
| 34 | + </view> | ||
| 35 | + </view> | ||
| 36 | + </view> | ||
| 37 | + </u-popup> | ||
| 38 | + </view> | ||
| 39 | +</template> | ||
| 40 | + | ||
| 41 | +<script> | ||
| 42 | + import { PAYMENTTYPE } from "@/emit/index.js" | ||
| 43 | + export default { | ||
| 44 | + name: 'PaymentMethodPop', | ||
| 45 | + data() { | ||
| 46 | + return { | ||
| 47 | + PAYMENTTYPE, | ||
| 48 | + value: PAYMENTTYPE.WECHAT, | ||
| 49 | + show: false | ||
| 50 | + } | ||
| 51 | + }, | ||
| 52 | + methods: { | ||
| 53 | + open() { | ||
| 54 | + this.show = true | ||
| 55 | + }, | ||
| 56 | + cancel() { | ||
| 57 | + this.show = false | ||
| 58 | + this.$emit('cancel') | ||
| 59 | + }, | ||
| 60 | + confirm() { | ||
| 61 | + this.show = false | ||
| 62 | + this.$emit('confirm') | ||
| 63 | + } | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | +</script> | ||
| 67 | + | ||
| 68 | +<style lang="scss" scoped> | ||
| 69 | + .PaymentMethodPop-c{ | ||
| 70 | + padding-bottom: calc(env(safe-area-inset-bottom)); | ||
| 71 | + border-radius: 20rpx 20rpx 0 0; | ||
| 72 | + background-color: #fff; | ||
| 73 | + .PaymentMethodPop-c-1{ | ||
| 74 | + padding-top: 60rpx; | ||
| 75 | + font-size: 34rpx; | ||
| 76 | + color: #0A0A0A; | ||
| 77 | + text-align: center; | ||
| 78 | + font-weight: bold; | ||
| 79 | + } | ||
| 80 | + .PaymentMethodPop-c-2{ | ||
| 81 | + margin-top: 100rpx; | ||
| 82 | + padding: 0 40rpx; | ||
| 83 | + &:last-child{ | ||
| 84 | + border-bottom: none; | ||
| 85 | + } | ||
| 86 | + .PaymentMethodPop-c-2-i{ | ||
| 87 | + display: flex; | ||
| 88 | + justify-content: space-between; | ||
| 89 | + align-items: center; | ||
| 90 | + border-bottom: 1rpx #E6E6E6 solid; | ||
| 91 | + height: 110rpx; | ||
| 92 | + .PaymentMethodPop-c-2-i-l{ | ||
| 93 | + display: flex; | ||
| 94 | + align-items: center; | ||
| 95 | + .PaymentMethodPop-c-2-i-l-i{ | ||
| 96 | + height: 50rpx; | ||
| 97 | + width: 50rpx; | ||
| 98 | + } | ||
| 99 | + .PaymentMethodPop-c-2-i-l-r{ | ||
| 100 | + font-size: 28rpx; | ||
| 101 | + color: #151E31; | ||
| 102 | + margin-left: 17rpx; | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + .PaymentMethodPop-c-3{ | ||
| 108 | + display: flex; | ||
| 109 | + justify-content: space-between; | ||
| 110 | + padding: 0 45rpx; | ||
| 111 | + margin-top: 80rpx; | ||
| 112 | + .PaymentMethodPop-c-3-l{ | ||
| 113 | + height: 78rpx; | ||
| 114 | + border-radius: 200rpx; | ||
| 115 | + width: 312rpx; | ||
| 116 | + text-align: center; | ||
| 117 | + line-height: 78rpx; | ||
| 118 | + background-color: #EBEBEB; | ||
| 119 | + } | ||
| 120 | + .PaymentMethodPop-c-3-r{ | ||
| 121 | + height: 78rpx; | ||
| 122 | + border-radius: 200rpx; | ||
| 123 | + width: 312rpx; | ||
| 124 | + text-align: center; | ||
| 125 | + line-height: 78rpx; | ||
| 126 | + background-color: #2D81FF; | ||
| 127 | + color: #FFFFFF; | ||
| 128 | + } | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="praise_Item"> | 2 | <view class="praise_Item"> |
| 3 | <!-- 学生端显示 --> | 3 | <!-- 学生端显示 --> |
| 4 | - <view class="praise_Item-1" v-if="type === LIKETYPE.STUDENTEND"> | ||
| 5 | - <view class="praise_Item-1-l" v-if="info.is_my"> | ||
| 6 | - <view class="praise_Item-1-l-1" v-if="info.status === OPERATIONSTATUS.ADOPT">已通过</view> | ||
| 7 | - <view class="praise_Item-1-l-1s" v-else-if="info.status === OPERATIONSTATUS.PENDINGREVIEW">待审核</view> | ||
| 8 | - <view class="praise_Item-1-l-1s" v-else>未通过</view> | 4 | + <view class="praise_ItemV2-1" v-if="type === LIKETYPE.STUDENTEND"> |
| 5 | + <view class="praise_ItemV2-1-l">{{ info.create_time }}</view> | ||
| 6 | + <view v-if="info.is_my"> | ||
| 7 | + <view class="praise_ItemV2-1-r" v-if="info.status === OPERATIONSTATUS.ADOPT">审核中</view> | ||
| 8 | + <view class="praise_ItemV2-1-r praise_ItemV2-1-r2" v-else-if="info.status === OPERATIONSTATUS.PENDINGREVIEW">审核成功</view> | ||
| 9 | + <view class="praise_ItemV2-1-r praise_ItemV2-1-r3" v-else>未通过</view> | ||
| 9 | </view> | 10 | </view> |
| 10 | - <view class="praise_Item-1-l-2">{{ info.create_time }}</view> | 11 | + </view> |
| 12 | + <view class="praise_ItemV2-2"> | ||
| 13 | + {{ info.content }} | ||
| 11 | </view> | 14 | </view> |
| 12 | <!-- 老师端/管理员端显示 --> | 15 | <!-- 老师端/管理员端显示 --> |
| 13 | <view class="praise_Item-t" v-if="type === LIKETYPE.TEACHERSEND || type === LIKETYPE.ADMINEND"> | 16 | <view class="praise_Item-t" v-if="type === LIKETYPE.TEACHERSEND || type === LIKETYPE.ADMINEND"> |
| @@ -23,9 +26,6 @@ | @@ -23,9 +26,6 @@ | ||
| 23 | <view class="praise_Item-t-r-2">{{ info.create_time }}</view> | 26 | <view class="praise_Item-t-r-2">{{ info.create_time }}</view> |
| 24 | </view> | 27 | </view> |
| 25 | </view> | 28 | </view> |
| 26 | - <view class="praise_Item-2"> | ||
| 27 | - {{ info.content }} | ||
| 28 | - </view> | ||
| 29 | <view class="praise_Item-3"> | 29 | <view class="praise_Item-3"> |
| 30 | <u--image | 30 | <u--image |
| 31 | v-for="(item, index) in info.imgs" | 31 | v-for="(item, index) in info.imgs" |
| @@ -89,10 +89,39 @@ | @@ -89,10 +89,39 @@ | ||
| 89 | <style lang="scss"> | 89 | <style lang="scss"> |
| 90 | .praise_Item{ | 90 | .praise_Item{ |
| 91 | background: #fff; | 91 | background: #fff; |
| 92 | - border-radius: 15rpx; | ||
| 93 | - padding: 30rpx; | 92 | + border-radius: 20rpx; |
| 93 | + padding: 35rpx 30rpx; | ||
| 94 | box-shadow: 7rpx 0rpx 24rpx 0rpx rgba(153,153,153,0.22); | 94 | box-shadow: 7rpx 0rpx 24rpx 0rpx rgba(153,153,153,0.22); |
| 95 | margin-bottom: 20rpx; | 95 | margin-bottom: 20rpx; |
| 96 | + .praise_ItemV2-1{ | ||
| 97 | + display: flex; | ||
| 98 | + justify-content: space-between; | ||
| 99 | + .praise_ItemV2-1-l{ | ||
| 100 | + | ||
| 101 | + } | ||
| 102 | + .praise_ItemV2-1-r{ | ||
| 103 | + background: linear-gradient(0deg, #0AC49C 0%, #34D5AA 100%); | ||
| 104 | + border-radius: 21rpx 21rpx 0px 21rpx; | ||
| 105 | + font-size: 22rpx; | ||
| 106 | + color: #fff; | ||
| 107 | + height: 42rpx; | ||
| 108 | + width: 103rpx; | ||
| 109 | + line-height: 42rpx; | ||
| 110 | + text-align: center; | ||
| 111 | + } | ||
| 112 | + .praise_ItemV2-1-r2{ | ||
| 113 | + background: linear-gradient(0deg, #0088FF 0%, #2C9DFF 100%); | ||
| 114 | + } | ||
| 115 | + .praise_ItemV2-1-r3{ | ||
| 116 | + background: linear-gradient(0deg, #BEBEBE 0%, #AAAAAA 100%); | ||
| 117 | + } | ||
| 118 | + } | ||
| 119 | + .praise_ItemV2-2{ | ||
| 120 | + line-height: 42rpx; | ||
| 121 | + color: #323232; | ||
| 122 | + font-size: 26rpx; | ||
| 123 | + margin-top: 25rpx; | ||
| 124 | + } | ||
| 96 | .praise_Item-1{ | 125 | .praise_Item-1{ |
| 97 | display: flex; | 126 | display: flex; |
| 98 | align-items: center; | 127 | align-items: center; |
| @@ -36,25 +36,31 @@ | @@ -36,25 +36,31 @@ | ||
| 36 | 36 | ||
| 37 | <style lang="scss" scoped> | 37 | <style lang="scss" scoped> |
| 38 | .public_switching{ | 38 | .public_switching{ |
| 39 | - display: grid; | ||
| 40 | - padding: 20rpx 0; | 39 | + display: flex; |
| 40 | + background-color: #fff; | ||
| 41 | + border-top: 1rpx solid #f3f4f6; | ||
| 41 | .public_switching-i{ | 42 | .public_switching-i{ |
| 42 | - flex-grow: 1; | ||
| 43 | - text-align: center; | ||
| 44 | - color: #F8F8F8; | 43 | + font-size: 28rpx; |
| 44 | + color: #323232; | ||
| 45 | + width: 50%; | ||
| 46 | + height: 88rpx; | ||
| 47 | + display: flex; | ||
| 48 | + align-items: center; | ||
| 49 | + justify-content: center; | ||
| 45 | } | 50 | } |
| 46 | .public_switching-i-c{ | 51 | .public_switching-i-c{ |
| 47 | - color: #F8F8F8; | 52 | + color: #2D81FF; |
| 48 | position: relative; | 53 | position: relative; |
| 49 | - &::before{ | ||
| 50 | - position: absolute; | 54 | + &:before{ |
| 51 | content: ''; | 55 | content: ''; |
| 52 | - width: 38rpx; | ||
| 53 | - background-color: #fff; | ||
| 54 | - height: 4rpx; | ||
| 55 | - bottom: -20rpx; | 56 | + position: absolute; |
| 57 | + bottom: 0; | ||
| 56 | left: 50%; | 58 | left: 50%; |
| 59 | + background-image: url(@/static/imagesV2/icon23.png); | ||
| 60 | + background-size: 100% 100%; | ||
| 57 | transform: translateX(-50%); | 61 | transform: translateX(-50%); |
| 62 | + height: 24rpx; | ||
| 63 | + width: 24rpx; | ||
| 58 | } | 64 | } |
| 59 | } | 65 | } |
| 60 | } | 66 | } |
components/qxcplayer/lib/qxcplaysdk.es.js
0 → 100644
| 1 | +var e=Object.defineProperty,t=(t,r,n)=>(((t,r,n)=>{r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n})(t,"symbol"!=typeof r?r+"":r,n),n);let r={ALL:4,DEBUG:3,INFO:2,ERROR:1,NONE:0,level:0,isCache:!0,maxCacheNums:5e3,cacheNums:1e3,logs:[],getLogs:function(){let e="";for(let t=0;t<this.logs.length;t++)e+=this.logs[t]+"\r\n";return e},init:function(e){this.level=e.level,this.isCache=e.isCache,this.maxCacheNums=e.maxCacheNums,this.cacheNums=option.cacheNums},d:function(e){let t="";t=arguments.length>1?this.currentData()+"=>debug["+e+"]":this.currentData()+"=>debug ";let r=[].slice.call(arguments,arguments.length>1?1:0,arguments.length);this.level>=this.INFO&&console.log.apply(console,[t,...r]),this.cache(t,r)},i:function(e){let t="";t=arguments.length>1?this.currentData()+"=>info["+e+"]":this.currentData()+"=>info ";let r=[].slice.call(arguments,arguments.length>1?1:0,arguments.length);this.level>=this.INFO&&console.info.apply(console,[t,...r]),this.cache(t,r)},e:function(e){let t="";t=arguments.length>1?this.currentData()+"=>error["+e+"]":this.currentData()+"=>error ";let r=[].slice.call(arguments,arguments.length>1?1:0,arguments.length);this.level>=this.INFO&&console.error.apply(console,[t,...r]),this.cache(t,r)},cache:function(e,t){if(!this.isCache)return;let r=e;for(let n=0;n<t.length;n++)r+=t[n];this.logs.push(r),this.checkLogNum()},checkLogNum:function(){this.logs.length>this.maxCacheNums&&this.logs.splice(0,this.cacheNums)},currentData:function(){let e=new Date;return this.dateFormat("YYYY-mm-dd HH:MM:SS",e)},dateFormat:function(e,t){let r;const n={"Y+":t.getFullYear().toString(),"m+":(t.getMonth()+1).toString(),"d+":t.getDate().toString(),"H+":t.getHours().toString(),"M+":t.getMinutes().toString(),"S+":t.getSeconds().toString()};for(let s in n)r=new RegExp("("+s+")").exec(e),r&&(e=e.replace(r[1],1==r[1].length?n[s]:n[s].padStart(r[1].length,"0")));return e},showLog:function(e){document&&document.getElementById("console_id")&&(document.getElementById("console_id").innerHTML+=`<div>${e}</div>`)}};var n="https://websdkconfig.qianxuecloud.com/config_zhongzhi/APITestConfig.json",s="https://websdkconfig.qianxuecloud.com/config_zhongzhi/APIOnlineConfig.json",i="http://127.0.0.1:80/static/config/APILocalConfig.json",o="https://loggingsaas.qianxuecloud.com",a="https://mediadurationsaas.qianxuecloud.com",l="product",c="test",u="local",h={env:l,playReplaceSet:{enable:!1,newurl:"",oldurl:""},getConfigUrl:e=>e===l?s:e===c?n:e===u?i:s,setPlayreplaceSet:function(e){this.playReplaceSet=e},getPlayReplaceSet:function(){return this.playReplaceSet}},f={isUserPause:!1,isWx:!1};function d(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})})),t}var p={exports:{}},g=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}},m=g,y=Object.prototype.toString;function b(e){return"[object Array]"===y.call(e)}function w(e){return void 0===e}function _(e){return null!==e&&"object"==typeof e}function C(e){if("[object Object]"!==y.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function S(e){return"[object Function]"===y.call(e)}function v(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),b(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.call(null,e[s],s,e)}var T={isArray:b,isArrayBuffer:function(e){return"[object ArrayBuffer]"===y.call(e)},isBuffer:function(e){return null!==e&&!w(e)&&null!==e.constructor&&!w(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:_,isPlainObject:C,isUndefined:w,isDate:function(e){return"[object Date]"===y.call(e)},isFile:function(e){return"[object File]"===y.call(e)},isBlob:function(e){return"[object Blob]"===y.call(e)},isFunction:S,isStream:function(e){return _(e)&&S(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:v,merge:function e(){var t={};function r(r,n){C(t[n])&&C(r)?t[n]=e(t[n],r):C(r)?t[n]=e({},r):b(r)?t[n]=r.slice():t[n]=r}for(var n=0,s=arguments.length;n<s;n++)v(arguments[n],r);return t},extend:function(e,t,r){return v(t,(function(t,n){e[n]=r&&"function"==typeof t?m(t,r):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}},U=T;function N(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var k=function(e,t,r){if(!t)return e;var n;if(r)n=r(t);else if(U.isURLSearchParams(t))n=t.toString();else{var s=[];U.forEach(t,(function(e,t){null!=e&&(U.isArray(e)?t+="[]":e=[e],U.forEach(e,(function(e){U.isDate(e)?e=e.toISOString():U.isObject(e)&&(e=JSON.stringify(e)),s.push(N(t)+"="+N(e))})))})),n=s.join("&")}if(n){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e},I=T;function O(){this.handlers=[]}O.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},O.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},O.prototype.forEach=function(e){I.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var R=O,D=T,x=function(e){return!(!e||!e.__CANCEL__)},L=T,A=function(e,t,r,n,s){return e.config=t,r&&(e.code=r),e.request=n,e.response=s,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e},M=function(e,t,r,n,s){var i=new Error(e);return A(i,t,r,n,s)},B=M,P=T,E=P.isStandardBrowserEnv()?{write:function(e,t,r,n,s,i){var o=[];o.push(e+"="+encodeURIComponent(t)),P.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),P.isString(n)&&o.push("path="+n),P.isString(s)&&o.push("domain="+s),!0===i&&o.push("secure"),document.cookie=o.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},q=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)},F=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e},j=T,J=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],W=T,K=W.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function n(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=n(window.location.href),function(t){var r=W.isString(t)?n(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0},H=T,G=function(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(B("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)},z=E,V=k,$=function(e,t){return e&&!q(t)?F(e,t):t},X=function(e){var t,r,n,s={};return e?(j.forEach(e.split("\n"),(function(e){if(n=e.indexOf(":"),t=j.trim(e.substr(0,n)).toLowerCase(),r=j.trim(e.substr(n+1)),t){if(s[t]&&J.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([r]):s[t]?s[t]+", "+r:r}})),s):s},Q=K,Y=M,Z=function(e){return new Promise((function(t,r){var n=e.data,s=e.headers;H.isFormData(n)&&delete s["Content-Type"];var i=new XMLHttpRequest;if(e.auth){var o=e.auth.username||"",a=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.Authorization="Basic "+btoa(o+":"+a)}var l=$(e.baseURL,e.url);if(i.open(e.method.toUpperCase(),V(l,e.params,e.paramsSerializer),!0),i.timeout=e.timeout,i.onreadystatechange=function(){if(i&&4===i.readyState&&(0!==i.status||i.responseURL&&0===i.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in i?X(i.getAllResponseHeaders()):null,s={data:e.responseType&&"text"!==e.responseType?i.response:i.responseText,status:i.status,statusText:i.statusText,headers:n,config:e,request:i};G(t,r,s),i=null}},i.onabort=function(){i&&(r(Y("Request aborted",e,"ECONNABORTED",i)),i=null)},i.onerror=function(){r(Y("Network Error",e,null,i)),i=null},i.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(Y(t,e,"ECONNABORTED",i)),i=null},H.isStandardBrowserEnv()){var c=(e.withCredentials||Q(l))&&e.xsrfCookieName?z.read(e.xsrfCookieName):void 0;c&&(s[e.xsrfHeaderName]=c)}if("setRequestHeader"in i&&H.forEach(s,(function(e,t){void 0===n&&"content-type"===t.toLowerCase()?delete s[t]:i.setRequestHeader(t,e)})),H.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),e.responseType)try{i.responseType=e.responseType}catch(u){if("json"!==e.responseType)throw u}"function"==typeof e.onDownloadProgress&&i.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){i&&(i.abort(),r(e),i=null)})),n||(n=null),i.send(n)}))},ee=T,te=function(e,t){L.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))},re={"Content-Type":"application/x-www-form-urlencoded"};function ne(e,t){!ee.isUndefined(e)&&ee.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var se,ie={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(se=Z),se),transformRequest:[function(e,t){return te(t,"Accept"),te(t,"Content-Type"),ee.isFormData(e)||ee.isArrayBuffer(e)||ee.isBuffer(e)||ee.isStream(e)||ee.isFile(e)||ee.isBlob(e)?e:ee.isArrayBufferView(e)?e.buffer:ee.isURLSearchParams(e)?(ne(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):ee.isObject(e)?(ne(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};ie.headers={common:{Accept:"application/json, text/plain, */*"}},ee.forEach(["delete","get","head"],(function(e){ie.headers[e]={}})),ee.forEach(["post","put","patch"],(function(e){ie.headers[e]=ee.merge(re)}));var oe=ie,ae=T,le=function(e,t,r){return D.forEach(r,(function(r){e=r(e,t)})),e},ce=x,ue=oe;function he(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var fe=T,de=function(e,t){t=t||{};var r={},n=["url","method","data"],s=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return fe.isPlainObject(e)&&fe.isPlainObject(t)?fe.merge(e,t):fe.isPlainObject(t)?fe.merge({},t):fe.isArray(t)?t.slice():t}function l(n){fe.isUndefined(t[n])?fe.isUndefined(e[n])||(r[n]=a(void 0,e[n])):r[n]=a(e[n],t[n])}fe.forEach(n,(function(e){fe.isUndefined(t[e])||(r[e]=a(void 0,t[e]))})),fe.forEach(s,l),fe.forEach(i,(function(n){fe.isUndefined(t[n])?fe.isUndefined(e[n])||(r[n]=a(void 0,e[n])):r[n]=a(void 0,t[n])})),fe.forEach(o,(function(n){n in t?r[n]=a(e[n],t[n]):n in e&&(r[n]=a(void 0,e[n]))}));var c=n.concat(s).concat(i).concat(o),u=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===c.indexOf(e)}));return fe.forEach(u,l),r},pe=T,ge=k,me=R,ye=function(e){return he(e),e.headers=e.headers||{},e.data=le(e.data,e.headers,e.transformRequest),e.headers=ae.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),ae.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||ue.adapter)(e).then((function(t){return he(e),t.data=le(t.data,t.headers,e.transformResponse),t}),(function(t){return ce(t)||(he(e),t&&t.response&&(t.response.data=le(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},be=de;function we(e){this.defaults=e,this.interceptors={request:new me,response:new me}}we.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=be(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[ye,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},we.prototype.getUri=function(e){return e=be(this.defaults,e),ge(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},pe.forEach(["delete","get","head","options"],(function(e){we.prototype[e]=function(t,r){return this.request(be(r||{},{method:e,url:t,data:(r||{}).data}))}})),pe.forEach(["post","put","patch"],(function(e){we.prototype[e]=function(t,r,n){return this.request(be(n||{},{method:e,url:t,data:r}))}}));var _e=we;function Ce(e){this.message=e}Ce.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Ce.prototype.__CANCEL__=!0;var Se=Ce,ve=Se;function Te(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new ve(e),t(r.reason))}))}Te.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},Te.source=function(){var e;return{token:new Te((function(t){e=t})),cancel:e}};var Ue=Te,Ne=T,ke=g,Ie=_e,Oe=de;function Re(e){var t=new Ie(e),r=ke(Ie.prototype.request,t);return Ne.extend(r,Ie.prototype,t),Ne.extend(r,t),r}var De=Re(oe);De.Axios=Ie,De.create=function(e){return Re(Oe(De.defaults,e))},De.Cancel=Se,De.CancelToken=Ue,De.isCancel=x,De.all=function(e){return Promise.all(e)},De.spread=function(e){return function(t){return e.apply(null,t)}},De.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError},p.exports=De,p.exports.default=De;var xe=p.exports;function Le(e){return new Promise(((t,r)=>{const n=xe.create();xe.interceptors.request.use=n.interceptors.request.use,n.interceptors.request.use((e=>e),(e=>{if("ECONNABORTED"===e.code&&-1!==e.message.indexOf("timeout"))return void console.log("request timeout !");const t=e.response;return t&&(e=t.data),Promise.reject(e)})),n.interceptors.response.use((e=>{var t;return void 0===e.data?t=JSON.parse(e.request.responseText):(t=e.data).code,t}),(e=>{if(e&&e.response){var t={code:e.response.status,msg:""};switch(e.response.status){case 400:t.msg="请求错误";break;case 401:t.msg="未授权,请登录",router.replace("/login");break;case 403:t.msg="拒绝访问";break;case 404:t.msg=`请求地址出错: ${e.response.config.url}`;break;case 408:t.msg="请求超时";break;case 500:t.msg="服务器内部错误";break;case 501:t.msg="服务未实现";break;case 502:t.msg="网关错误";break;case 503:t.msg="服务不可用";break;case 504:t.msg="网关超时";break;case 505:t.msg="HTTP版本不受支持";break;default:t.msg="未知错误"}}return Promise.reject(t)})),n(e).then((e=>{t(e)})).catch((e=>{r(e)}))}))}var Ae={reqConfig:function(){let e=h.getConfigUrl(h.env)+"?t="+(new Date).getTime();return r.d("reqConfig",e),this.get(e,{})},get:function(e,t){return f.isWx?new Promise(((r,n)=>{wx.request({url:e,data:t,success:e=>{r(e.data)}})})):Le({url:e,method:"get",params:t})},post:function(e,t){return Le({url:e,method:"post",data:t})}},Me=function(e,t){return f.isWx?new Promise(((r,n)=>{wx.request({url:e,data:t,method:"POST",success:e=>{r(e.data)}})})):Le({url:e,method:"post",data:t})},Be=function(e,t){return f.isWx?new Promise(((r,n)=>{wx.request({url:e,data:t,success:e=>{r(e.data)}})})):Le({url:e,method:"get",params:t})},Pe={enableSeek:!0,getChatId(e,t){let r=window.localStorage.getItem(e+"_"+t+"_historychatid");if(r)return JSON.parse(r)},addChatId(e,t,r){let n=this.getChatId(e,t);if(null==n&&(n={}),r in n)return;n[r]=r;let s=JSON.stringify(n);window.localStorage.setItem(e+"_"+t+"_historychatid",s)},setPlayLine(e){window&&window.localStorage.setItem("qxc_playback_line",e)},getPlayLine(){if(window){let e=window.localStorage.getItem("qxc_playback_line");return e||null}return null},savePlayerTime(e,t){f.isWx?(wx.setStorage({key:e+"_vodtime",data:t+""}),wx.setStorage({key:e+"_vodtime_ts",data:(new Date).getTime()+""})):window.localStorage.setItem(e+"_vodtime",t+"")},getPlayerTimeTs(e){if(f.isWx){let t=wx.getStorageSync(e+"_vodtime_ts");if(t)return parseInt(t)}else{let t=window.localStorage.getItem(e+"_vodtime_ts");if(t)return parseInt(t)}},getPlayerTime(e){if(f.isWx){let t=wx.getStorageSync(e+"_vodtime");if(t)return parseInt(t)}else{let t=window.localStorage.getItem(e+"_vodtime");if(t)return parseInt(t)}},getProTime(e){let t=this.getPlayerTime(e),r=this.getPlayerTimeTs(e);return void 0===t||void 0===r?null:(new Date).getTime()-r<=12e4?t:null},getProTime2(e){return this.getPlayerTime(e)}};function Ee(){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";this.encode=function(r){var n,s,i,o,a,l,c,u="",h=0;for(r=t(r);h<r.length;)o=(n=r.charCodeAt(h++))>>2,a=(3&n)<<4|(s=r.charCodeAt(h++))>>4,l=(15&s)<<2|(i=r.charCodeAt(h++))>>6,c=63&i,isNaN(s)?l=c=64:isNaN(i)&&(c=64),u=u+e.charAt(o)+e.charAt(a)+e.charAt(l)+e.charAt(c);return u},this.decode=t=>{var r,n,s,i,o,a,l="",c=0;if(null!=t&&null!=t){for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");c<t.length;)r=e.indexOf(t.charAt(c++))<<2|(i=e.indexOf(t.charAt(c++)))>>4,n=(15&i)<<4|(o=e.indexOf(t.charAt(c++)))>>2,s=(3&o)<<6|(a=e.indexOf(t.charAt(c++))),l+=String.fromCharCode(r),64!=o&&(l+=String.fromCharCode(n)),64!=a&&(l+=String.fromCharCode(s));return l}};let t=e=>{e=e.replace(/\r\n/g,"\n");for(var t="",r=0;r<e.length;r++){var n=e.charCodeAt(r);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t}}var qe={decryptByEncryKeyForVod:function(e){return this.decryptByEncryKeyByKeyForVod(e,81)},decryptByEncryKeyByKeyForVod:function(e,t){e=e.trim();let r=(new Ee).decode(e),n=this.stringToBytes(r),s=[];for(var i=0;i<n.length;i++)s.push(n[i]-t);return this.utf8ByteToUnicodeStr(s)},utf8ByteToUnicodeStr:function(e){for(var t="",r=0;r<e.length;){var n=e[r],s=0;n>>>7==0?(t+=String.fromCharCode(e[r]),r+=1):252==(252&n)?(s=(3&e[r])<<30,s|=(63&e[r+1])<<24,s|=(63&e[r+2])<<18,s|=(63&e[r+3])<<12,s|=(63&e[r+4])<<6,s|=63&e[r+5],t+=String.fromCharCode(s),r+=6):248==(248&n)?(s=(7&e[r])<<24,s|=(63&e[r+1])<<18,s|=(63&e[r+2])<<12,s|=(63&e[r+3])<<6,s|=63&e[r+4],t+=String.fromCharCode(s),r+=5):240==(240&n)?(s=(15&e[r])<<18,s|=(63&e[r+1])<<12,s|=(63&e[r+2])<<6,s|=63&e[r+3],t+=String.fromCharCode(s),r+=4):224==(224&n)?(s=(31&e[r])<<12,s|=(63&e[r+1])<<6,s|=63&e[r+2],t+=String.fromCharCode(s),r+=3):192==(192&n)?(s=(63&e[r])<<6,s|=63&e[r+1],t+=String.fromCharCode(s),r+=2):(t+=String.fromCharCode(e[r]),r+=1)}return t},decryptByEncryKey:function(e){e=e.trim();let t=(new Ee).decode(e),r=this.stringToBytes(t),n=[];for(var s=0;s<r.length;s++)n.push(r[s]-81);return this.byteToString(n)},stringToBytes:function(e){for(var t,r,n=[],s=0;s<e.length;s++){t=e.charCodeAt(s),r=[];do{r.push(255&t),t>>=8}while(t);n=n.concat(r.reverse())}return n},byteToString:function(e){if("string"==typeof e)return e;for(var t="",r=e,n=0;n<r.length;n++){var s=r[n].toString(2),i=s.match(/^1+?(?=0)/);if(i&&8==s.length){for(var o=i[0].length,a=r[n].toString(2).slice(7-o),l=1;l<o;l++)a+=r[l+n].toString(2).slice(2);t+=String.fromCharCode(parseInt(a,2)),n+=o-1}else t+=String.fromCharCode(r[n])}return t},randomNum:function(e,t){switch(arguments.length){case 1:return parseInt(Math.random()*e+1,10);case 2:return parseInt(Math.random()*(t-e+1)+e,10);default:return 0}},isEmptyString:function(e){return"[object String]"===Object.prototype.toString.call(e)&&!!e},isTypeString:function(e){return"[object String]"===Object.prototype.toString.call(e)},isFunction:function(e){if(!e)return!1;return"[object Function]"===Object.prototype.toString.call(e)},isSafari:function(){return/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)},isMp4:function(e){return e.indexOf(".mp4")>0},isM3u8:function(e){return e.indexOf(".m3u8")>0},randomString:function(e){let t="ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678";var r=t.length,n="";for(let s=0;s<e;s++)n+=t.charAt(Math.floor(Math.random()*r));return n},Base64:{encode:e=>btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))),decode:e=>decodeURIComponent(atob(e).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))},encodeReportData:function(e){let t=this.randomString(3),r=this.randomString(6);e=e.trim();let n=this.Base64.encode(e);return n=t+n+r,n},getExploreName(){var e=navigator.userAgent;let t="Unkonwn";return t=e.indexOf("Opera")>-1||e.indexOf("OPR")>-1?"Opera":e.indexOf("compatible")>-1&&e.indexOf("MSIE")>-1?"IE":e.indexOf("Edge")>-1?"Edge":e.indexOf("Firefox")>-1?"Firefox":e.indexOf("Safari")>-1&&-1==e.indexOf("Chrome")?"Safari":e.indexOf("Chrome")>-1&&e.indexOf("Safari")>-1?"Chrome":window.ActiveXObject||"ActiveXObject"in window?"IE>=11":"Unkonwn",t+"("+e+")"},isH5:()=>!!/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(navigator.userAgent),isIOS:()=>!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),isAndroid(){let e=navigator.userAgent;return e.indexOf("Android")>-1||e.indexOf("Linux")>-1},getPlatformName:()=>/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(navigator.userAgent)?"H5":"Web",topTip2Html(e){let t=JSON.parse(e).msg,r="";for(let n=0;n<t.length;n++){let e=t[n],s="",i=e.content.replace(/\n/g,"<br/>");1===e.type?s='<span style="color: #2A4350;"> '+i+" </span>":2===e.type&&(s='<a style="color: #FF6800;" href="'+e.url+'" target="_blank" >'+i+"</a>"),r+=s}return r},xmlToJson:function(e){let t=this.getArrData(e);if(!t||0===t.length)return null;let r=[];for(let n=0;n<t.length;n++){let e=t[n],s={index:n+1,content:"",type:1};if(e.startsWith("<a")){s.type=2;let t=this.getXmlDocumentByXmlString(e),r=t.childNodes[0].attributes[0].nodeValue;s.content=t.childNodes[0].innerHTML,s.url=r}else s.type=1,s.content=e;r.push(s)}return{msg:r}},fullscreen:function(e){e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitEnterFullscreen&&e.webkitEnterFullscreen()},exitFullscreen:function(e=document){try{e.exitFullscreen?e.exitFullscreen().catch((e=>{})):e.mozCancelFullScreen?e.mozCancelFullScreen().catch((e=>{})):e.webkitCancelFullScreen?e.webkitCancelFullScreen().catch((e=>{})):e.msExitFullscreen?e.msExitFullscreen().catch((e=>{})):e.webkitExitFullscreen&&e.webkitExitFullscreen().catch((e=>{}))}catch(t){r.e("exit full screen")}},IsOrNoFullScreen:function(e){return window.navigator.userAgent.toLowerCase().indexOf("chrome")>0?e.scrollHeight===window.screen.height&&e.scrollWidth===window.screen.width:window.outerHeight===window.screen.height&&window.outerWidth===window.screen.width},getMS(e){let t=parseInt(e/60),r=parseInt(e%60),n=r+"";return r<=9&&(n="0"+r),`${t}:${n}`},initVideoAttr:function(e){e.setAttribute("width","100%"),e.setAttribute("height","100%"),e.setAttribute("preload","auto"),e.setAttribute("autoplay","autoplay"),e.setAttribute("playsinline","true"),e.setAttribute("x5-video-player-type","h5"),e.setAttribute("x5-video-player-fullscreen","true"),e.setAttribute("x5-video-orientation","portraint")},getQueryVariable:function(e){for(var t=window.location.search.substring(1).split("&"),r=0;r<t.length;r++){var n=t[r].split("=");if(n[0]==e)return n[1]}return!1}},Fe={encodeWebsocketData:function(e){let t=this.randomString(5),r=this.randomString(8);e=e.trim();let n=this.Base64.encode(e);return n=t+n+r,n},decodeWebsocketData:function(e){return e=(e=(e=e.trim()).substring(5)).substr(0,e.length-8),this.Base64.decode(e)},randomString:function(e){let t="ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678";var r=t.length,n="";for(let s=0;s<e;s++)n+=t.charAt(Math.floor(Math.random()*r));return n},Base64:{encode:e=>(new Ee).encode(e),decode:e=>(new Ee).decode(e)}};class je{constructor(e,n){t(this,"onOpen",(e=>{this.onopen(e),this.startHeartTime()})),t(this,"onMessage",(e=>{let t=e.data;this.encry&&(t=Fe.decodeWebsocketData(e.data));let n={data:t};r.d("basews",this.wssUrl+" 收到消息 解码后:"+JSON.stringify(t)),this.onmessage(n)})),t(this,"onError",(e=>{this.onerror(e),this.cancelHeartTime()})),t(this,"onClose",(e=>{this.cancelHeartTime(),this.isRelease||this.onclose(e)})),this.wssUrl=e,this.ws=void 0,this.onopen=this.onmessage=this.onerror=this.onclose=this.onheart=null,this.interval=null,this.encry=!n||n.encry,this.heartTime=n&&n.heartTime?n.heartTime:1e4}connect(){this.ws=new WebSocket(this.wssUrl),this.ws.onopen=this.onOpen,this.ws.onmessage=this.onMessage,this.ws.onerror=this.onError,this.ws.onclose=this.onClose,this.isRelease=!1}release(){this.isRelease=!0,this.close()}close(){this.ws&&(this.ws.close(),this.cancelHeartTime())}sendMsg(e){let t=JSON.stringify(e);r.d("basews",this.wssUrl+" 发送消息 编码前:"+t),this.encry&&(t=Fe.encodeWebsocketData(t)),null!==this.ws&&void 0!==this.ws&&this.ws.send(t)}startHeartTime(){this.cancelHeartTime(),this.interval=setInterval((()=>{this.onheart()}),this.heartTime)}cancelHeartTime(){clearInterval(this.interval)}}class Je{constructor(e,n){t(this,"onOpen",(e=>{this.onopen(e),this.startHeartTime()})),t(this,"onMessage",(e=>{let t=e.data;this.encry&&(t=Fe.decodeWebsocketData(e.data));let n={data:t};r.d("basews",this.wssUrl+" 收到消息 解码后:"+JSON.stringify(t)),this.onmessage(n)})),t(this,"onError",(e=>{r.d("onError",e),this.onerror(e),this.cancelHeartTime()})),t(this,"onClose",(e=>{r.d("onClose",e),this.cancelHeartTime(),this.isRelease||this.onclose(e)})),this.wssUrl=e,this.ws=void 0,this.onopen=this.onmessage=this.onerror=this.onclose=this.onheart=null,this.interval=null,this.encry=!n||n.encry,this.heartTime=n&&n.heartTime?n.heartTime:1e4}connect(){this.ws=wx.connectSocket({url:this.wssUrl}),this.ws.onOpen(this.onOpen),this.ws.onMessage(this.onMessage),this.ws.onError(this.onError),this.ws.onClose(this.onClose),this.isRelease=!1}release(){this.isRelease=!0,this.close()}close(){this.ws&&(r.d("invoke close"),this.ws.close(),this.cancelHeartTime())}sendMsg(e){let t=JSON.stringify(e);r.d("basews",this.wssUrl+" 发送消息 编码前:"+t),this.encry&&(t=Fe.encodeWebsocketData(t)),r.d("basews",this.wssUrl+" 发送消息 编码后:"+t),null!==this.ws&&void 0!==this.ws&&this.ws.send({data:t})}startHeartTime(){this.cancelHeartTime(),this.interval=setInterval((()=>{this.onheart()}),this.heartTime)}cancelHeartTime(){clearInterval(this.interval)}}class We{constructor(e){this.onUserChatMgr=null,this.onKickoutUserRq=null,this.onChatAllMgr=null,this.onTeacherUpMediaBC=null,this.onTeacherDownMediaBC=null,this.onUserListRs=null,this.onUserNumberBC=null,this.onDuplicateLoginKickOut=null,this.onRoomUserInNotify=null,this.onRoomUserOutNotify=null,this.onLiveClassUserOutNotify=null,this.onLiveClassUserInNotify=null,this.onRoomTransMessageRs=null,this.onRoomTransMessageRq=null,this.onMediaPlayStart=null,this.onMediaPlayPause=null,this.onMediaPlayStop=null,this.onMasterTokenRs=null,this.onMasterTeacherInOut=null,this.onClassTypeAndUpMediaNotify=null,this.onQuestionNotify=null,this.onQuestionResultSync=null,this.onTeacherQuestionStop=null,this.onGraffitiBC=null,this.onGraffitiStop=null,this.onTopTipMsgBC=null,this.onTopTipMsgDel=null,this.onTopTipMsgRemove=null,this.onProductList=null,this.onProductUpBC=null,this.onProductDownBC=null,this.onUpProductListBC=null,this.onLotteryMessageNotify=null,this.onLotteryNotify=null,this.onLotteryResultRs=null,this.onLotteryStop=null,this.onCountDown=null,this.onAssistantRecordRs=null,this.onTeacherRecordStatusBC=null,this.onTeacherMediaStatusBC=null,this.onRoomSystemMsgNotify=null,this.onBigClassHandUpOp=null,this.onBigClassUserHandUpBC=null,this.onBigClassMediaInteractRq=null,this.onBigClassNotifyUserOpenMedia=null,this.onMediaSubUserNotify=null,this.onBigClassDebugDeviceStopMedia=null,this.onAdList=null,this.onAdUpBC=null,this.onAdDownBC=null,this.onUpAdListBC=null}formatData(e,t){let r=parseInt(e),n={},s=null;if(27===r)n={teacherUserId:t.teacherUserId,studentUserId:t.studentUserId,chatStatus:t.chatStatus},s=this.onUserChatMgr;else if(28===r)n={mgrUserId:t.mgrUserId,studentUserId:t.studentUserId},s=this.onKickoutUserRq;else if(36===r)n={enable:t.enable},s=this.onChatAllMgr;else if(52===r)n={mediaType:t.mediaType,stream:t.stream,width:t.width,height:t.height,teacehrName:t.teacherName},s=this.onTeacherUpMediaBC;else if(53===r)n={stream:t.stream},s=this.onTeacherDownMediaBC;else if(50===r){let e=t.userList;if(!e)return;for(let t=0;t<e.length;t++){let r=e[t].userId,n=this.getUserId(r);e[t].userId=n}n={lastTs:t.lastTs,userList:t.userList},s=this.onUserListRs}else if(51===r)n={studentNumber:t.studentNumber,totalNumber:t.totalNumber,pureNumber:t.pureNumber},s=this.onUserNumberBC;else if(54===r){n={userId:this.getUserId(t.userId)},s=this.onLiveClassUserOutNotify}else if(55===r){n={userId:this.getUserId(t.userId),userName:t.userName,enableChat:t.enableChat,userType:t.userType},s=this.onLiveClassUserInNotify}else if(56==r)n={type:t.type,userName:t.userName},s=this.onMasterTeacherInOut;else if(57==r)n={type:t.type,up:t.up},s=this.onClassTypeAndUpMediaNotify;else if(59==r)n={master:t.master,roomId:t.roomId,token:t.token},s=this.onMasterTokenRs;else if(60==r)n={srcUserId:this.getUserId(t.srcUserId),dstUserId:this.getUserId(t.dstUserId),messageType:t.messageType,messageRq:t.messageRq},s=this.onRoomTransMessageRq;else if(61==r)n={srcUserId:this.getUserId(t.srcUserId),dstUserId:this.getUserId(t.dstUserId),messageType:t.MessageType||t.messageType,messageRs:t.messageRs},s=this.onRoomTransMessageRs;else if(62==r)n={type:t.type,url:t.url,playTs:t.playTs,totalTs:t.totalTs,name:t.name},s=this.onMediaPlayStart;else if(63==r)n={type:t.type,url:t.url,playTs:t.playTs,totalTs:t.totalTs,name:t.name},s=this.onMediaPlayPause;else if(64==r)n={type:t.type,url:t.url,playTs:t.playTs},s=this.onMediaPlayStop;else if(72==r)n={mgrUserId:t.mgrUserId,studentUserId:t.studentUserId},s=this.onDuplicateLoginKickOut;else if(8===r)n={userid:this.getUserId(t.userid),usertype:t.usertype,username:t.username},s=this.onRoomUserInNotify;else if(9===r)n={userid:this.getUserId(t.userid),username:t.username},s=this.onRoomUserOutNotify;else if(82===r)n={msgType:t.msgType,msg:t.msg},s=this.onRoomAppMsg;else if(83===r)n=t,s=this.onCountDown;else if(85===r)n={questionId:t.questionId,msgType:t.msgType,itemNum:t.itemNum,multiple:t.multiple,showUserNum:t.showUserNum},s=this.onQuestionNotify;else if(87===r)n={questionId:t.questionId,msgType:t.msgType,answerCount:t.answerCount,rightPercent:t.rightPercent,totalResult:t.totalResult,tsTotal:t.tsTotal,showUserNum:t.showUserNum},s=this.onQuestionResultSync;else if(88===r)n={status:t.status},s=this.onTeacherQuestionStop;else if(90===r){n=t,n.users||(n.users=[]);for(let e=0;e<n.users.length;e++){let t=n.users[e];t.userId=t.userIdEx}s=this.onLotteryMessageNotify}else if(91===r)n=t,s=this.onLotteryNotify;else if(93===r)n=t,s=this.onLotteryResultRs;else if(107===r)n=t,s=this.onLotteryStop;else if(95===r)n={exVal:t.exVal},s=this.onGraffitiBC;else if(96===r)n={exVal:t.exVal},s=this.onGraffitiStop;else if(98===r)n={msgId:t.msgId,msgContent:t.msgContent},s=this.onTopTipMsgBC;else if(99===r)n={msgId:t.msgId},s=this.onTopTipMsgDel;else if(100===r)n=t,s=this.onProductList;else if(102===r)n=t,s=this.onProductUpBC;else if(104===r)n=t,s=this.onProductDownBC;else if(105===r)n={prouctList:t.prouctList},s=this.onUpProductListBC;else if(109===r)n=t,s=this.onAssistantRecordRs;else if(110===r)n=t,s=this.onTeacherRecordStatusBC;else if(111===r)n=t,s=this.onTeacherMediaStatusBC;else if(140===r)n=t,s=this.onAdList;else if(142===r)n=t,s=this.onAdUpBC;else if(144===r)n=t,s=this.onAdDownBC;else if(145===r)n={prouctList:t.prouctList},s=this.onUpAdListBC;else if(122===r)n=t,s=this.onBigClassHandUpOp;else if(124===r)n=t,s=this.onBigClassUserHandUpBC;else if(125===r)n=t,n.srcUserId=this.getUserId(n.srcUserId)+"",n.dstUserId=this.getUserId(n.dstUserId)+"",s=this.onBigClassMediaInteractRq;else if(127===r)n=t,s=this.onBigClassNotifyUserOpenMedia;else if(14===r)if(s=this.onMediaSubUserNotify,void 0===t.mediauserlist)n={userlist:[]};else{let e=t.mediauserlist;for(let t=0;t<e.length;t++){let r=e[t].userid,n=this.getUserId(r);e[t].userid=n}n={userlist:e}}else 129===r?(n=t,n.userId=this.getUserId(n.userId)+"",s=this.onBigClassDebugDeviceStopMedia):150===r&&(n=t,s=this.onRoomSystemMsgNotify);return{data:n,callback:s}}isInteger(e){return"number"==typeof e&&e%1==0}getUserId(e){return this.isInteger(e)?e+"":e.toString()}}var Ke={exports:{}},He={exports:{}},Ge=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ze=Math.ceil,Ve=Math.floor,$e="[BigNumber Error] ",Xe=$e+"Number primitive has more than 15 significant digits: ",Qe=1e14,Ye=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Ze=1e9;function et(e){var t=0|e;return e>0||e===t?t:t-1}function tt(e){for(var t,r,n=1,s=e.length,i=e[0]+"";n<s;){for(r=14-(t=e[n++]+"").length;r--;t="0"+t);i+=t}for(s=i.length;48===i.charCodeAt(--s););return i.slice(0,s+1||1)}function rt(e,t){var r,n,s=e.c,i=t.c,o=e.s,a=t.s,l=e.e,c=t.e;if(!o||!a)return null;if(r=s&&!s[0],n=i&&!i[0],r||n)return r?n?0:-a:o;if(o!=a)return o;if(r=o<0,n=l==c,!s||!i)return n?0:!s^r?1:-1;if(!n)return l>c^r?1:-1;for(a=(l=s.length)<(c=i.length)?l:c,o=0;o<a;o++)if(s[o]!=i[o])return s[o]>i[o]^r?1:-1;return l==c?0:l>c^r?1:-1}function nt(e,t,r,n){if(e<t||e>r||e!==Ve(e))throw Error($e+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function st(e){var t=e.c.length-1;return et(e.e/14)==t&&e.c[t]%2!=0}function it(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function ot(e,t,r){var n,s;if(t<0){for(s=r+".";++t;s+=r);e=s+e}else if(++t>(n=e.length)){for(s=r,t-=n;--t;s+=r);e+=s}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}var at,lt,ct=function e(t){var r,n,s,i,o,a,l,c,u,h,f=U.prototype={constructor:U,toString:null,valueOf:null},d=new U(1),p=20,g=4,m=-7,y=21,b=-1e7,w=1e7,_=!1,C=1,S=0,v={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},T="0123456789abcdefghijklmnopqrstuvwxyz";function U(e,t){var r,i,o,a,l,c,u,h,f=this;if(!(f instanceof U))return new U(e,t);if(null==t){if(e&&!0===e._isBigNumber)return f.s=e.s,void(!e.c||e.e>w?f.c=f.e=null:e.e<b?f.c=[f.e=0]:(f.e=e.e,f.c=e.c.slice()));if((c="number"==typeof e)&&0*e==0){if(f.s=1/e<0?(e=-e,-1):1,e===~~e){for(a=0,l=e;l>=10;l/=10,a++);return void(a>w?f.c=f.e=null:(f.e=a,f.c=[e]))}h=String(e)}else{if(!Ge.test(h=String(e)))return s(f,h,c);f.s=45==h.charCodeAt(0)?(h=h.slice(1),-1):1}(a=h.indexOf("."))>-1&&(h=h.replace(".","")),(l=h.search(/e/i))>0?(a<0&&(a=l),a+=+h.slice(l+1),h=h.substring(0,l)):a<0&&(a=h.length)}else{if(nt(t,2,T.length,"Base"),10==t)return O(f=new U(e),p+f.e+1,g);if(h=String(e),c="number"==typeof e){if(0*e!=0)return s(f,h,c,t);if(f.s=1/e<0?(h=h.slice(1),-1):1,U.DEBUG&&h.replace(/^0\.0*|\./,"").length>15)throw Error(Xe+e)}else f.s=45===h.charCodeAt(0)?(h=h.slice(1),-1):1;for(r=T.slice(0,t),a=l=0,u=h.length;l<u;l++)if(r.indexOf(i=h.charAt(l))<0){if("."==i){if(l>a){a=u;continue}}else if(!o&&(h==h.toUpperCase()&&(h=h.toLowerCase())||h==h.toLowerCase()&&(h=h.toUpperCase()))){o=!0,l=-1,a=0;continue}return s(f,String(e),c,t)}c=!1,(a=(h=n(h,t,10,f.s)).indexOf("."))>-1?h=h.replace(".",""):a=h.length}for(l=0;48===h.charCodeAt(l);l++);for(u=h.length;48===h.charCodeAt(--u););if(h=h.slice(l,++u)){if(u-=l,c&&U.DEBUG&&u>15&&(e>9007199254740991||e!==Ve(e)))throw Error(Xe+f.s*e);if((a=a-l-1)>w)f.c=f.e=null;else if(a<b)f.c=[f.e=0];else{if(f.e=a,f.c=[],l=(a+1)%14,a<0&&(l+=14),l<u){for(l&&f.c.push(+h.slice(0,l)),u-=14;l<u;)f.c.push(+h.slice(l,l+=14));l=14-(h=h.slice(l)).length}else l-=u;for(;l--;h+="0");f.c.push(+h)}}else f.c=[f.e=0]}function N(e,t,r,n){var s,i,o,a,l;if(null==r?r=g:nt(r,0,8),!e.c)return e.toString();if(s=e.c[0],o=e.e,null==t)l=tt(e.c),l=1==n||2==n&&(o<=m||o>=y)?it(l,o):ot(l,o,"0");else if(i=(e=O(new U(e),t,r)).e,a=(l=tt(e.c)).length,1==n||2==n&&(t<=i||i<=m)){for(;a<t;l+="0",a++);l=it(l,i)}else if(t-=o,l=ot(l,i,"0"),i+1>a){if(--t>0)for(l+=".";t--;l+="0");}else if((t+=i-a)>0)for(i+1==a&&(l+=".");t--;l+="0");return e.s<0&&s?"-"+l:l}function k(e,t){for(var r,n=1,s=new U(e[0]);n<e.length;n++){if(!(r=new U(e[n])).s){s=r;break}t.call(s,r)&&(s=r)}return s}function I(e,t,r){for(var n=1,s=t.length;!t[--s];t.pop());for(s=t[0];s>=10;s/=10,n++);return(r=n+14*r-1)>w?e.c=e.e=null:r<b?e.c=[e.e=0]:(e.e=r,e.c=t),e}function O(e,t,r,n){var s,i,o,a,l,c,u,h=e.c,f=Ye;if(h){e:{for(s=1,a=h[0];a>=10;a/=10,s++);if((i=t-s)<0)i+=14,o=t,u=(l=h[c=0])/f[s-o-1]%10|0;else if((c=ze((i+1)/14))>=h.length){if(!n)break e;for(;h.length<=c;h.push(0));l=u=0,s=1,o=(i%=14)-14+1}else{for(l=a=h[c],s=1;a>=10;a/=10,s++);u=(o=(i%=14)-14+s)<0?0:l/f[s-o-1]%10|0}if(n=n||t<0||null!=h[c+1]||(o<0?l:l%f[s-o-1]),n=r<4?(u||n)&&(0==r||r==(e.s<0?3:2)):u>5||5==u&&(4==r||n||6==r&&(i>0?o>0?l/f[s-o]:0:h[c-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,n?(t-=e.e+1,h[0]=f[(14-t%14)%14],e.e=-t||0):h[0]=e.e=0,e;if(0==i?(h.length=c,a=1,c--):(h.length=c+1,a=f[14-i],h[c]=o>0?Ve(l/f[s-o]%f[o])*a:0),n)for(;;){if(0==c){for(i=1,o=h[0];o>=10;o/=10,i++);for(o=h[0]+=a,a=1;o>=10;o/=10,a++);i!=a&&(e.e++,h[0]==Qe&&(h[0]=1));break}if(h[c]+=a,h[c]!=Qe)break;h[c--]=0,a=1}for(i=h.length;0===h[--i];h.pop());}e.e>w?e.c=e.e=null:e.e<b&&(e.c=[e.e=0])}return e}function R(e){var t,r=e.e;return null===r?e.toString():(t=tt(e.c),t=r<=m||r>=y?it(t,r):ot(t,r,"0"),e.s<0?"-"+t:t)}return U.clone=e,U.ROUND_UP=0,U.ROUND_DOWN=1,U.ROUND_CEIL=2,U.ROUND_FLOOR=3,U.ROUND_HALF_UP=4,U.ROUND_HALF_DOWN=5,U.ROUND_HALF_EVEN=6,U.ROUND_HALF_CEIL=7,U.ROUND_HALF_FLOOR=8,U.EUCLID=9,U.config=U.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error($e+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(nt(r=e[t],0,Ze,t),p=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(nt(r=e[t],0,8,t),g=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(nt(r[0],-Ze,0,t),nt(r[1],0,Ze,t),m=r[0],y=r[1]):(nt(r,-Ze,Ze,t),m=-(y=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)nt(r[0],-Ze,-1,t),nt(r[1],1,Ze,t),b=r[0],w=r[1];else{if(nt(r,-Ze,Ze,t),!r)throw Error($e+t+" cannot be zero: "+r);b=-(w=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error($e+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw _=!r,Error($e+"crypto unavailable");_=r}else _=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(nt(r=e[t],0,9,t),C=r),e.hasOwnProperty(t="POW_PRECISION")&&(nt(r=e[t],0,Ze,t),S=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error($e+t+" not an object: "+r);v=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.$|[+-.\s]|(.).*\1/.test(r))throw Error($e+t+" invalid: "+r);T=r}}return{DECIMAL_PLACES:p,ROUNDING_MODE:g,EXPONENTIAL_AT:[m,y],RANGE:[b,w],CRYPTO:_,MODULO_MODE:C,POW_PRECISION:S,FORMAT:v,ALPHABET:T}},U.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!U.DEBUG)return!0;var t,r,n=e.c,s=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===i||-1===i)&&s>=-Ze&&s<=Ze&&s===Ve(s)){if(0===n[0]){if(0===s&&1===n.length)return!0;break e}if((t=(s+1)%14)<1&&(t+=14),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=Qe||r!==Ve(r))break e;if(0!==r)return!0}}}else if(null===n&&null===s&&(null===i||1===i||-1===i))return!0;throw Error($e+"Invalid BigNumber: "+e)},U.maximum=U.max=function(){return k(arguments,f.lt)},U.minimum=U.min=function(){return k(arguments,f.gt)},U.random=(i=9007199254740992,o=Math.random()*i&2097151?function(){return Ve(Math.random()*i)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,s,i,a=0,l=[],c=new U(d);if(null==e?e=p:nt(e,0,Ze),s=ze(e/14),_)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(s*=2));a<s;)(i=131072*t[a]+(t[a+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[a]=r[0],t[a+1]=r[1]):(l.push(i%1e14),a+=2);a=s/2}else{if(!crypto.randomBytes)throw _=!1,Error($e+"crypto unavailable");for(t=crypto.randomBytes(s*=7);a<s;)(i=281474976710656*(31&t[a])+1099511627776*t[a+1]+4294967296*t[a+2]+16777216*t[a+3]+(t[a+4]<<16)+(t[a+5]<<8)+t[a+6])>=9e15?crypto.randomBytes(7).copy(t,a):(l.push(i%1e14),a+=7);a=s/7}if(!_)for(;a<s;)(i=o())<9e15&&(l[a++]=i%1e14);for(e%=14,(s=l[--a])&&e&&(i=Ye[14-e],l[a]=Ve(s/i)*i);0===l[a];l.pop(),a--);if(a<0)l=[n=0];else{for(n=-1;0===l[0];l.splice(0,1),n-=14);for(a=1,i=l[0];i>=10;i/=10,a++);a<14&&(n-=14-a)}return c.e=n,c.c=l,c}),U.sum=function(){for(var e=1,t=arguments,r=new U(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){var e="0123456789";function t(e,t,r,n){for(var s,i,o=[0],a=0,l=e.length;a<l;){for(i=o.length;i--;o[i]*=t);for(o[0]+=n.indexOf(e.charAt(a++)),s=0;s<o.length;s++)o[s]>r-1&&(null==o[s+1]&&(o[s+1]=0),o[s+1]+=o[s]/r|0,o[s]%=r)}return o.reverse()}return function(n,s,i,o,a){var l,c,u,h,f,d,m,y,b=n.indexOf("."),w=p,_=g;for(b>=0&&(h=S,S=0,n=n.replace(".",""),d=(y=new U(s)).pow(n.length-b),S=h,y.c=t(ot(tt(d.c),d.e,"0"),10,i,e),y.e=y.c.length),u=h=(m=t(n,s,i,a?(l=T,e):(l=e,T))).length;0==m[--h];m.pop());if(!m[0])return l.charAt(0);if(b<0?--u:(d.c=m,d.e=u,d.s=o,m=(d=r(d,y,w,_,i)).c,f=d.r,u=d.e),b=m[c=u+w+1],h=i/2,f=f||c<0||null!=m[c+1],f=_<4?(null!=b||f)&&(0==_||_==(d.s<0?3:2)):b>h||b==h&&(4==_||f||6==_&&1&m[c-1]||_==(d.s<0?8:7)),c<1||!m[0])n=f?ot(l.charAt(1),-w,l.charAt(0)):l.charAt(0);else{if(m.length=c,f)for(--i;++m[--c]>i;)m[c]=0,c||(++u,m=[1].concat(m));for(h=m.length;!m[--h];);for(b=0,n="";b<=h;n+=l.charAt(m[b++]));n=ot(n,u,l.charAt(0))}return n}}(),r=function(){function e(e,t,r){var n,s,i,o,a=0,l=e.length,c=t%1e7,u=t/1e7|0;for(e=e.slice();l--;)a=((s=c*(i=e[l]%1e7)+(n=u*i+(o=e[l]/1e7|0)*c)%1e7*1e7+a)/r|0)+(n/1e7|0)+u*o,e[l]=s%r;return a&&(e=[a].concat(e)),e}function t(e,t,r,n){var s,i;if(r!=n)i=r>n?1:-1;else for(s=i=0;s<r;s++)if(e[s]!=t[s]){i=e[s]>t[s]?1:-1;break}return i}function r(e,t,r,n){for(var s=0;r--;)e[r]-=s,s=e[r]<t[r]?1:0,e[r]=s*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,s,i,o,a){var l,c,u,h,f,d,p,g,m,y,b,w,_,C,S,v,T,N=n.s==s.s?1:-1,k=n.c,I=s.c;if(!(k&&k[0]&&I&&I[0]))return new U(n.s&&s.s&&(k?!I||k[0]!=I[0]:I)?k&&0==k[0]||!I?0*N:N/0:NaN);for(m=(g=new U(N)).c=[],N=i+(c=n.e-s.e)+1,a||(a=Qe,c=et(n.e/14)-et(s.e/14),N=N/14|0),u=0;I[u]==(k[u]||0);u++);if(I[u]>(k[u]||0)&&c--,N<0)m.push(1),h=!0;else{for(C=k.length,v=I.length,u=0,N+=2,(f=Ve(a/(I[0]+1)))>1&&(I=e(I,f,a),k=e(k,f,a),v=I.length,C=k.length),_=v,b=(y=k.slice(0,v)).length;b<v;y[b++]=0);T=I.slice(),T=[0].concat(T),S=I[0],I[1]>=a/2&&S++;do{if(f=0,(l=t(I,y,v,b))<0){if(w=y[0],v!=b&&(w=w*a+(y[1]||0)),(f=Ve(w/S))>1)for(f>=a&&(f=a-1),p=(d=e(I,f,a)).length,b=y.length;1==t(d,y,p,b);)f--,r(d,v<p?T:I,p,a),p=d.length,l=1;else 0==f&&(l=f=1),p=(d=I.slice()).length;if(p<b&&(d=[0].concat(d)),r(y,d,b,a),b=y.length,-1==l)for(;t(I,y,v,b)<1;)f++,r(y,v<b?T:I,b,a),b=y.length}else 0===l&&(f++,y=[0]);m[u++]=f,y[0]?y[b++]=k[_]||0:(y=[k[_]],b=1)}while((_++<C||null!=y[0])&&N--);h=null!=y[0],m[0]||m.splice(0,1)}if(a==Qe){for(u=1,N=m[0];N>=10;N/=10,u++);O(g,i+(g.e=u+14*c-1)+1,o,h)}else g.e=c,g.r=+h;return g}}(),a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,l=/^([^.]+)\.$/,c=/^\.([^.]+)$/,u=/^-?(Infinity|NaN)$/,h=/^\s*\+(?=[\w.])|^\s+|\s+$/g,s=function(e,t,r,n){var s,i=r?t:t.replace(h,"");if(u.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!r&&(i=i.replace(a,(function(e,t,r){return s="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=s?e:t})),n&&(s=n,i=i.replace(l,"$1").replace(c,"0.$1")),t!=i))return new U(i,s);if(U.DEBUG)throw Error($e+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},f.absoluteValue=f.abs=function(){var e=new U(this);return e.s<0&&(e.s=1),e},f.comparedTo=function(e,t){return rt(this,new U(e,t))},f.decimalPlaces=f.dp=function(e,t){var r,n,s,i=this;if(null!=e)return nt(e,0,Ze),null==t?t=g:nt(t,0,8),O(new U(i),e+i.e+1,t);if(!(r=i.c))return null;if(n=14*((s=r.length-1)-et(this.e/14)),s=r[s])for(;s%10==0;s/=10,n--);return n<0&&(n=0),n},f.dividedBy=f.div=function(e,t){return r(this,new U(e,t),p,g)},f.dividedToIntegerBy=f.idiv=function(e,t){return r(this,new U(e,t),0,1)},f.exponentiatedBy=f.pow=function(e,t){var r,n,s,i,o,a,l,c,u=this;if((e=new U(e)).c&&!e.isInteger())throw Error($e+"Exponent not an integer: "+R(e));if(null!=t&&(t=new U(t)),o=e.e>14,!u.c||!u.c[0]||1==u.c[0]&&!u.e&&1==u.c.length||!e.c||!e.c[0])return c=new U(Math.pow(+R(u),o?2-st(e):+R(e))),t?c.mod(t):c;if(a=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new U(NaN);(n=!a&&u.isInteger()&&t.isInteger())&&(u=u.mod(t))}else{if(e.e>9&&(u.e>0||u.e<-1||(0==u.e?u.c[0]>1||o&&u.c[1]>=24e7:u.c[0]<8e13||o&&u.c[0]<=9999975e7)))return i=u.s<0&&st(e)?-0:0,u.e>-1&&(i=1/i),new U(a?1/i:i);S&&(i=ze(S/14+2))}for(o?(r=new U(.5),a&&(e.s=1),l=st(e)):l=(s=Math.abs(+R(e)))%2,c=new U(d);;){if(l){if(!(c=c.times(u)).c)break;i?c.c.length>i&&(c.c.length=i):n&&(c=c.mod(t))}if(s){if(0===(s=Ve(s/2)))break;l=s%2}else if(O(e=e.times(r),e.e+1,1),e.e>14)l=st(e);else{if(0===(s=+R(e)))break;l=s%2}u=u.times(u),i?u.c&&u.c.length>i&&(u.c.length=i):n&&(u=u.mod(t))}return n?c:(a&&(c=d.div(c)),t?c.mod(t):i?O(c,S,g,undefined):c)},f.integerValue=function(e){var t=new U(this);return null==e?e=g:nt(e,0,8),O(t,t.e+1,e)},f.isEqualTo=f.eq=function(e,t){return 0===rt(this,new U(e,t))},f.isFinite=function(){return!!this.c},f.isGreaterThan=f.gt=function(e,t){return rt(this,new U(e,t))>0},f.isGreaterThanOrEqualTo=f.gte=function(e,t){return 1===(t=rt(this,new U(e,t)))||0===t},f.isInteger=function(){return!!this.c&&et(this.e/14)>this.c.length-2},f.isLessThan=f.lt=function(e,t){return rt(this,new U(e,t))<0},f.isLessThanOrEqualTo=f.lte=function(e,t){return-1===(t=rt(this,new U(e,t)))||0===t},f.isNaN=function(){return!this.s},f.isNegative=function(){return this.s<0},f.isPositive=function(){return this.s>0},f.isZero=function(){return!!this.c&&0==this.c[0]},f.minus=function(e,t){var r,n,s,i,o=this,a=o.s;if(t=(e=new U(e,t)).s,!a||!t)return new U(NaN);if(a!=t)return e.s=-t,o.plus(e);var l=o.e/14,c=e.e/14,u=o.c,h=e.c;if(!l||!c){if(!u||!h)return u?(e.s=-t,e):new U(h?o:NaN);if(!u[0]||!h[0])return h[0]?(e.s=-t,e):new U(u[0]?o:3==g?-0:0)}if(l=et(l),c=et(c),u=u.slice(),a=l-c){for((i=a<0)?(a=-a,s=u):(c=l,s=h),s.reverse(),t=a;t--;s.push(0));s.reverse()}else for(n=(i=(a=u.length)<(t=h.length))?a:t,a=t=0;t<n;t++)if(u[t]!=h[t]){i=u[t]<h[t];break}if(i&&(s=u,u=h,h=s,e.s=-e.s),(t=(n=h.length)-(r=u.length))>0)for(;t--;u[r++]=0);for(t=Qe-1;n>a;){if(u[--n]<h[n]){for(r=n;r&&!u[--r];u[r]=t);--u[r],u[n]+=Qe}u[n]-=h[n]}for(;0==u[0];u.splice(0,1),--c);return u[0]?I(e,u,c):(e.s=3==g?-1:1,e.c=[e.e=0],e)},f.modulo=f.mod=function(e,t){var n,s,i=this;return e=new U(e,t),!i.c||!e.s||e.c&&!e.c[0]?new U(NaN):!e.c||i.c&&!i.c[0]?new U(i):(9==C?(s=e.s,e.s=1,n=r(i,e,0,3),e.s=s,n.s*=s):n=r(i,e,0,C),(e=i.minus(n.times(e))).c[0]||1!=C||(e.s=i.s),e)},f.multipliedBy=f.times=function(e,t){var r,n,s,i,o,a,l,c,u,h,f,d,p,g,m,y=this,b=y.c,w=(e=new U(e,t)).c;if(!(b&&w&&b[0]&&w[0]))return!y.s||!e.s||b&&!b[0]&&!w||w&&!w[0]&&!b?e.c=e.e=e.s=null:(e.s*=y.s,b&&w?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=et(y.e/14)+et(e.e/14),e.s*=y.s,(l=b.length)<(h=w.length)&&(p=b,b=w,w=p,s=l,l=h,h=s),s=l+h,p=[];s--;p.push(0));for(g=Qe,m=1e7,s=h;--s>=0;){for(r=0,f=w[s]%m,d=w[s]/m|0,i=s+(o=l);i>s;)r=((c=f*(c=b[--o]%m)+(a=d*c+(u=b[o]/m|0)*f)%m*m+p[i]+r)/g|0)+(a/m|0)+d*u,p[i--]=c%g;p[i]=r}return r?++n:p.splice(0,1),I(e,p,n)},f.negated=function(){var e=new U(this);return e.s=-e.s||null,e},f.plus=function(e,t){var r,n=this,s=n.s;if(t=(e=new U(e,t)).s,!s||!t)return new U(NaN);if(s!=t)return e.s=-t,n.minus(e);var i=n.e/14,o=e.e/14,a=n.c,l=e.c;if(!i||!o){if(!a||!l)return new U(s/0);if(!a[0]||!l[0])return l[0]?e:new U(a[0]?n:0*s)}if(i=et(i),o=et(o),a=a.slice(),s=i-o){for(s>0?(o=i,r=l):(s=-s,r=a),r.reverse();s--;r.push(0));r.reverse()}for((s=a.length)-(t=l.length)<0&&(r=l,l=a,a=r,t=s),s=0;t;)s=(a[--t]=a[t]+l[t]+s)/Qe|0,a[t]=Qe===a[t]?0:a[t]%Qe;return s&&(a=[s].concat(a),++o),I(e,a,o)},f.precision=f.sd=function(e,t){var r,n,s,i=this;if(null!=e&&e!==!!e)return nt(e,1,Ze),null==t?t=g:nt(t,0,8),O(new U(i),e,t);if(!(r=i.c))return null;if(n=14*(s=r.length-1)+1,s=r[s]){for(;s%10==0;s/=10,n--);for(s=r[0];s>=10;s/=10,n++);}return e&&i.e+1>n&&(n=i.e+1),n},f.shiftedBy=function(e){return nt(e,-9007199254740991,9007199254740991),this.times("1e"+e)},f.squareRoot=f.sqrt=function(){var e,t,n,s,i,o=this,a=o.c,l=o.s,c=o.e,u=p+4,h=new U("0.5");if(1!==l||!a||!a[0])return new U(!l||l<0&&(!a||a[0])?NaN:a?o:1/0);if(0==(l=Math.sqrt(+R(o)))||l==1/0?(((t=tt(a)).length+c)%2==0&&(t+="0"),l=Math.sqrt(+t),c=et((c+1)/2)-(c<0||c%2),n=new U(t=l==1/0?"5e"+c:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+c)):n=new U(l+""),n.c[0])for((l=(c=n.e)+u)<3&&(l=0);;)if(i=n,n=h.times(i.plus(r(o,i,u,1))),tt(i.c).slice(0,l)===(t=tt(n.c)).slice(0,l)){if(n.e<c&&--l,"9999"!=(t=t.slice(l-3,l+1))&&(s||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(O(n,n.e+p+2,1),e=!n.times(n).eq(o));break}if(!s&&(O(i,i.e+p+2,0),i.times(i).eq(o))){n=i;break}u+=4,l+=4,s=1}return O(n,n.e+p+1,g,e)},f.toExponential=function(e,t){return null!=e&&(nt(e,0,Ze),e++),N(this,e,t,1)},f.toFixed=function(e,t){return null!=e&&(nt(e,0,Ze),e=e+this.e+1),N(this,e,t)},f.toFormat=function(e,t,r){var n,s=this;if(null==r)null!=e&&t&&"object"==typeof t?(r=t,t=null):e&&"object"==typeof e?(r=e,e=t=null):r=v;else if("object"!=typeof r)throw Error($e+"Argument not an object: "+r);if(n=s.toFixed(e,t),s.c){var i,o=n.split("."),a=+r.groupSize,l=+r.secondaryGroupSize,c=r.groupSeparator||"",u=o[0],h=o[1],f=s.s<0,d=f?u.slice(1):u,p=d.length;if(l&&(i=a,a=l,l=i,p-=i),a>0&&p>0){for(i=p%a||a,u=d.substr(0,i);i<p;i+=a)u+=c+d.substr(i,a);l>0&&(u+=c+d.slice(i)),f&&(u="-"+u)}n=h?u+(r.decimalSeparator||"")+((l=+r.fractionGroupSize)?h.replace(new RegExp("\\d{"+l+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):h):u}return(r.prefix||"")+n+(r.suffix||"")},f.toFraction=function(e){var t,n,s,i,o,a,l,c,u,h,f,p,m=this,y=m.c;if(null!=e&&(!(l=new U(e)).isInteger()&&(l.c||1!==l.s)||l.lt(d)))throw Error($e+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+R(l));if(!y)return new U(m);for(t=new U(d),u=n=new U(d),s=c=new U(d),p=tt(y),o=t.e=p.length-m.e-1,t.c[0]=Ye[(a=o%14)<0?14+a:a],e=!e||l.comparedTo(t)>0?o>0?t:u:l,a=w,w=1/0,l=new U(p),c.c[0]=0;h=r(l,t,0,1),1!=(i=n.plus(h.times(s))).comparedTo(e);)n=s,s=i,u=c.plus(h.times(i=u)),c=i,t=l.minus(h.times(i=t)),l=i;return i=r(e.minus(n),s,0,1),c=c.plus(i.times(u)),n=n.plus(i.times(s)),c.s=u.s=m.s,f=r(u,s,o*=2,g).minus(m).abs().comparedTo(r(c,n,o,g).minus(m).abs())<1?[u,s]:[c,n],w=a,f},f.toNumber=function(){return+R(this)},f.toPrecision=function(e,t){return null!=e&&nt(e,1,Ze),N(this,e,t,2)},f.toString=function(e){var t,r=this,s=r.s,i=r.e;return null===i?s?(t="Infinity",s<0&&(t="-"+t)):t="NaN":(null==e?t=i<=m||i>=y?it(tt(r.c),i):ot(tt(r.c),i,"0"):10===e?t=ot(tt((r=O(new U(r),p+i+1,g)).c),r.e,"0"):(nt(e,2,T.length,"Base"),t=n(ot(tt(r.c),i,"0"),10,e,s,!0)),s<0&&r.c[0]&&(t="-"+t)),t},f.valueOf=f.toJSON=function(){return R(this)},f._isBigNumber=!0,f[Symbol.toStringTag]="BigNumber",f[Symbol.for("nodejs.util.inspect.custom")]=f.valueOf,null!=t&&U.set(t),U}(),ut=d(Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",BigNumber:ct,default:ct}));at=ut,lt=He.exports,function(){var e,t,r,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,s={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function i(e){return n.lastIndex=0,n.test(e)?'"'+e.replace(n,(function(e){var t=s[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}))+'"':'"'+e+'"'}function o(n,s){var a,l,c,u,h,f=e,d=s[n],p=null!=d&&(d instanceof at||at.isBigNumber(d));switch(d&&"object"==typeof d&&"function"==typeof d.toJSON&&(d=d.toJSON(n)),"function"==typeof r&&(d=r.call(s,n,d)),typeof d){case"string":return p?d:i(d);case"number":return isFinite(d)?String(d):"null";case"boolean":case"null":case"bigint":return String(d);case"object":if(!d)return"null";if(e+=t,h=[],"[object Array]"===Object.prototype.toString.apply(d)){for(u=d.length,a=0;a<u;a+=1)h[a]=o(a,d)||"null";return c=0===h.length?"[]":e?"[\n"+e+h.join(",\n"+e)+"\n"+f+"]":"["+h.join(",")+"]",e=f,c}if(r&&"object"==typeof r)for(u=r.length,a=0;a<u;a+=1)"string"==typeof r[a]&&(c=o(l=r[a],d))&&h.push(i(l)+(e?": ":":")+c);else Object.keys(d).forEach((function(t){var r=o(t,d);r&&h.push(i(t)+(e?": ":":")+r)}));return c=0===h.length?"{}":e?"{\n"+e+h.join(",\n"+e)+"\n"+f+"}":"{"+h.join(",")+"}",e=f,c}}"function"!=typeof lt.stringify&&(lt.stringify=function(n,s,i){var a;if(e="",t="","number"==typeof i)for(a=0;a<i;a+=1)t+=" ";else"string"==typeof i&&(t=i);if(r=s,s&&"function"!=typeof s&&("object"!=typeof s||"number"!=typeof s.length))throw new Error("JSON.stringify");return o("",{"":n})})}();var ht=ut;const ft=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,dt=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;var pt=function(e){var t={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(null!=e){if(!0===e.strict&&(t.strict=!0),!0===e.storeAsString&&(t.storeAsString=!0),t.alwaysParseAsBig=!0===e.alwaysParseAsBig&&e.alwaysParseAsBig,t.useNativeBigInt=!0===e.useNativeBigInt&&e.useNativeBigInt,void 0!==e.constructorAction){if("error"!==e.constructorAction&&"ignore"!==e.constructorAction&&"preserve"!==e.constructorAction)throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${e.constructorAction}`);t.constructorAction=e.constructorAction}if(void 0!==e.protoAction){if("error"!==e.protoAction&&"ignore"!==e.protoAction&&"preserve"!==e.protoAction)throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${e.protoAction}`);t.protoAction=e.protoAction}}var r,n,s,i,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},a=function(e){throw{name:"SyntaxError",message:e,at:r,text:s}},l=function(e){return e&&e!==n&&a("Expected '"+e+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},c=function(){var e,r="";for("-"===n&&(r="-",l("-"));n>="0"&&n<="9";)r+=n,l();if("."===n)for(r+=".";l()&&n>="0"&&n<="9";)r+=n;if("e"===n||"E"===n)for(r+=n,l(),"-"!==n&&"+"!==n||(r+=n,l());n>="0"&&n<="9";)r+=n,l();if(e=+r,isFinite(e))return null==ht&&(ht=ut),r.length>15?t.storeAsString?r:t.useNativeBigInt?BigInt(r):r:t.alwaysParseAsBig?t.useNativeBigInt?BigInt(e):new ht(e):e;a("Bad number")},u=function(){var e,t,i,c="";if('"'===n)for(var u=r;l();){if('"'===n)return r-1>u&&(c+=s.substring(u,r-1)),l(),c;if("\\"===n){if(r-1>u&&(c+=s.substring(u,r-1)),l(),"u"===n){for(i=0,t=0;t<4&&(e=parseInt(l(),16),isFinite(e));t+=1)i=16*i+e;c+=String.fromCharCode(i)}else{if("string"!=typeof o[n])break;c+=o[n]}u=r}}a("Bad string")},h=function(){for(;n&&n<=" ";)l()};return i=function(){switch(h(),n){case"{":return function(){var e,r=Object.create(null);if("{"===n){if(l("{"),h(),"}"===n)return l("}"),r;for(;n;){if(e=u(),h(),l(":"),!0===t.strict&&Object.hasOwnProperty.call(r,e)&&a('Duplicate key "'+e+'"'),!0===ft.test(e)?"error"===t.protoAction?a("Object contains forbidden prototype property"):"ignore"===t.protoAction?i():r[e]=i():!0===dt.test(e)?"error"===t.constructorAction?a("Object contains forbidden constructor property"):"ignore"===t.constructorAction?i():r[e]=i():r[e]=i(),h(),"}"===n)return l("}"),r;l(","),h()}}a("Bad object")}();case"[":return function(){var e=[];if("["===n){if(l("["),h(),"]"===n)return l("]"),e;for(;n;){if(e.push(i()),h(),"]"===n)return l("]"),e;l(","),h()}}a("Bad array")}();case'"':return u();case"-":return c();default:return n>="0"&&n<="9"?c():function(){switch(n){case"t":return l("t"),l("r"),l("u"),l("e"),!0;case"f":return l("f"),l("a"),l("l"),l("s"),l("e"),!1;case"n":return l("n"),l("u"),l("l"),l("l"),null}a("Unexpected '"+n+"'")}()}},function(e,t){var o;return s=e+"",r=0,n=" ",o=i(),h(),n&&a("Syntax error"),"function"==typeof t?function e(r,n){var s,i=r[n];return i&&"object"==typeof i&&Object.keys(i).forEach((function(t){void 0!==(s=e(i,t))?i[t]=s:delete i[t]})),t.call(r,n,i)}({"":o},""):o}},gt=He.exports.stringify,mt=pt;Ke.exports=function(e){return{parse:mt(e),stringify:gt}},Ke.exports.parse=mt(),Ke.exports.stringify=gt;var yt=Ke.exports;class bt{constructor(e,n){t(this,"onHeart",(e=>{let t=this.createCommendJson("HB","");this.basews.sendMsg(t)})),t(this,"onOpen",(e=>{let t=this.param;(this.isRc||this.isReconnect)&&(t+="|qx1");let r={name:this.name,param:t,dev:this.dev},n=JSON.stringify(r),s=this.createCommendJson("UserInfo",n);this.basews.sendMsg(s)})),t(this,"onMessage",(e=>{let t=yt.parse(e.data),r=t.command,n=t.message;if("LoginRs"===r){let e=JSON.parse(n),t=e.code,r=e.desc,s=e.userid;this.onLoginRs(t,r,s),this.isReconnect=!0}else{let e=this.dataFormat.formatData(r,n);if(!e)return;"function"==typeof e.callback&&e.callback(e.data)}})),t(this,"onError",(e=>{console.log(e),r.d("RoomWS","room connect error"),r.showLog("reportDataWs roomconnect onError ")})),t(this,"onClose",(e=>{console.log(e),r.d("RoomWS","room connect close"),r.showLog("reportDataWs roomconnect onClose "),setTimeout((()=>{let e=this.getNextUrl();e&&(this.basews.wssUrl=e),this.basews.connect()}),1e3)})),this.name=n.name,this.param=n.param,this.dev=n.dev,this.basews=new je(e),f.isWx?this.basews=new Je(e):this.basews=new je(e),this.isRc=n.isRc||!1,this.onChatMsg=null,this.onLoginRs=null,this.dataFormat=new We,this.isReconnect=!1,this.getNextUrl=null}callbackobj(){return this.dataFormat}connect(){this.basews.onopen=this.onOpen,this.basews.onmessage=this.onMessage,this.basews.onerror=this.onError,this.basews.onclose=this.onClose,this.basews.onheart=this.onHeart,this.basews.connect()}release(){this.basews.release()}close(){this.basews.close()}createCommendJson(e,t){return{command:e,message:t}}pageShapesRq(e,t){let r={docId:e,pageId:t},n=JSON.stringify(r),s=this.createCommendJson("1004",n);this.basews.sendMsg(s)}userListRq(e){let t={lastTs:e},r=JSON.stringify(t),n=this.createCommendJson("49",r);this.basews.sendMsg(n)}userChatMgr(e,t,r){let n='{"teacherUserId":0,"studentUserId":'+t+',"chatStatus":'+r+"}",s=this.createCommendJson("27",n);this.basews.sendMsg(s)}kickoutUserRq(e,t){let r='{"mgrUserId":0,"studentUserId":'+t+"}",n=this.createCommendJson("28",r);this.basews.sendMsg(n)}getMasterToken(e){let t='{"userId":'+e+"}",r=this.createCommendJson("58",t);this.basews.sendMsg(r)}roomTransMessageRq(e,t,r,n){let s='{"srcUserId":'+e+',"dstUserId":'+t+',"messageType":'+r+',"messageRq":"'+(n=n.replace(/"/g,'\\"'))+'"}',i=this.createCommendJson("60",s);this.basews.sendMsg(i)}roomTransMessageRs(e,t,r,n){let s='{"srcUserId":'+e+',"dstUserId":'+t+',"messageType":'+r+',"messageRs":"'+(n=n.replace(/"/g,'\\"'))+'"}',i=this.createCommendJson("61",s);this.basews.sendMsg(i)}questionResult(e,t,r){let n={questionId:e,msgType:t,answerMultiple:r},s=JSON.stringify(n),i=this.createCommendJson("86",s);this.basews.sendMsg(i)}topTipMsgRq(e,t){let r={msgId:e,msgContent:JSON.stringify(t)},n=JSON.stringify(r),s=this.createCommendJson("97",n);this.basews.sendMsg(s)}topTipMsgDel(e){let t={msgId:e},r=JSON.stringify(t),n=this.createCommendJson("99",r);this.basews.sendMsg(n)}productListRq(e){let t={ts:e},r=JSON.stringify(t),n=this.createCommendJson("106",r);this.basews.sendMsg(n)}productUpRq(e){let t={productId:e.productId,productName:e.productName,productDesc:e.productDesc,productImgUrl:e.productImgUrl,productPrice:e.productPrice,productCount:e.productCount,productDetailUrl:e.productDetailUrl},r=JSON.stringify(t),n=this.createCommendJson("101",r);this.basews.sendMsg(n)}productDownBC(e){let t={productId:e},r=JSON.stringify(t),n=this.createCommendJson("103",r);this.basews.sendMsg(n)}lotteryMessageRq(e,t){let r={LotteryId:e,userCount:parseInt(t)},n=JSON.stringify(r),s=this.createCommendJson("89",n);this.basews.sendMsg(s)}lotteryResultRq(e){let t={LotteryId:e,exVal:0},r=JSON.stringify(t),n=this.createCommendJson("92",r);this.basews.sendMsg(n)}lotteryStop(e){let t={LotteryId:e,exVal:0},r=JSON.stringify(t),n=this.createCommendJson("107",r);this.basews.sendMsg(n)}assistantRecordRq(e,t){let r='{"teacherId":'+e+',"opType":'+t+"}",n=this.createCommendJson("108",r);this.basews.sendMsg(n)}chatAllMgr(e){let t={enable:!!e},r=JSON.stringify(t),n=this.createCommendJson("36",r);this.basews.sendMsg(n)}mediaPlayStart(e,t,r,n,s){let i={type:e,url:t,playTs:r,totalTs:n,name:s},o=JSON.stringify(i),a=this.createCommendJson("62",o);this.basews.sendMsg(a)}mediaPlayPause(e,t,r,n,s){let i={type:e,url:t,playTs:r,totalTs:n,name:s},o=JSON.stringify(i),a=this.createCommendJson("63",o);this.basews.sendMsg(a)}mediaPlayStop(e,t){let r={url:e,playTs:t},n=JSON.stringify(r),s=this.createCommendJson("64",n);this.basews.sendMsg(s)}adListRq(e){let t={ts:e},r=JSON.stringify(t),n=this.createCommendJson("146",r);this.basews.sendMsg(n)}adUpRq(e){let t={productId:e.productId,productName:e.productName,productDesc:e.productDesc,productImgUrl:e.productImgUrl,productPrice:e.productPrice,productCount:e.productCount,productDetailUrl:e.productDetailUrl},r=JSON.stringify(t),n=this.createCommendJson("141",r);this.basews.sendMsg(n)}adDownBC(e){let t={productId:e},r=JSON.stringify(t),n=this.createCommendJson("143",r);this.basews.sendMsg(n)}bigClassMediaInteractUserRs(e,t,r){let n='{"srcUserId":'+e+', "dstUserId":'+t+',"accept":'+r+"}",s=this.createCommendJson("126",n);this.basews.sendMsg(s)}bigClassUserHandUpRq(e){let t={handup:e},r=JSON.stringify(t),n=this.createCommendJson("123",r);this.basews.sendMsg(n)}bigClassUserMediaStatusSet(e,t,r){let n='{"userid":'+e+', "audio":'+t+',"video":'+r+"}",s=this.createCommendJson("128",n);this.basews.sendMsg(s)}roomSystemMsgNotify(e,t,r,n,s){let i={userid:e,name:t,type:r,msg:s},o={msgType:n,msgContent:JSON.stringify(i)},a=JSON.stringify(o),l=this.createCommendJson("150",a);this.basews.sendMsg(l)}}var wt={sessionid:0,token:"",init:function(e){this.token=e},error:function(e){this.report("logging.error",e)},trace:function(e){this.report("logging.trace",e)},info:function(e){this.report("logging.info",e)},warning:function(e){this.report("logging.warning",e)},report:function(e,t){if(this.token){"string"==typeof t&&(t={message:t});let n=o+"/replay/logging?token="+this.token+"&session_id="+this.sessionid;Me(n,{command:e,message:t}).then((e=>{0===e.code&&0===this.sessionid&&(this.sessionid=e.content.session_id)})),r.d("reportlog",this.sessionid,e,t)}},reqOriginDuration:function(e,t){let r=a+"/media/origin_duration?token="+this.token+"&url="+e;this.info("reqOriginDuration requestion url="+r),Be(r).then((e=>{this.info("reqOriginDuration response "+JSON.stringify(e)),0===e.code&&t&&t(e.content.origin_duration,e)})).catch((e=>{this.info("reqOriginDuration response error ")}))}};class _t extends class{constructor(e){this._CONNECT_TAG="Connect",this._urlIndex=0,this._wsName="",this._isRc=!1,this._token=e.token,this._name=e.name,this._wsurl=e.wsurl,this._wsName=e.wsname,this._isRc=e.isRc}connect(){this._queryProxy().then((()=>{r.d(this._CONNECT_TAG,"connect 获取prox 完成"),this._connectWs()}))}_getLine(){this._checkUrlIndex();let e="wss://"+this._lines[this._urlIndex].addr+"/"+this._getWsName();return this._urlIndex++,e}_checkUrlIndex(){(this._urlIndex>=this._lines.length||this._urlIndex<0)&&(this._urlIndex=0)}_queryProxy(){let e=this._token;return Ae.get(this._wsurl,{token:e}).then((e=>{let t=qe.decryptByEncryKey(e),n=JSON.parse(t);this._lines=n.serverlist,this._urlIndex=qe.randomNum(0,this._lines.length-1),r.d(this._CONNECT_TAG,"_queryProxy",this._lines,this._urlIndex)})).catch((t=>{r.e(this._CONNECT_TAG,"_queryProxy",t),wt.error("queryProxy error url="+this._wsurl+" token="+e)}))}_getWsName(){return this._wsName}getCurLine(){return this._checkUrlIndex(),"wss://"+this._lines[this._urlIndex].addr+"/"+this._getWsName()}}{constructor(e){super(e),this._TAG="RoomConnect",this._streamName=null,this._mediaType=0}setCallback(e){this._callback=e}_connectWs(){let e=this._getLine();r.d(this._TAG,e),r.d(this._TAG,"开始链接房间ws"),this.roomWs=new bt(e,{dev:"web",param:this._token,name:this._name,isRc:this._isRc}),this.roomWs.onLoginRs=this.onLoginRs.bind(this),this.roomWs.callbackobj().onUserChatMgr=this.onUserChatMgr.bind(this),this.roomWs.callbackobj().onKickoutUserRq=this.onKickoutUserRq.bind(this),this.roomWs.callbackobj().onDuplicateLoginKickOut=this.onDuplicateLoginKickOut.bind(this),this.roomWs.callbackobj().onChatAllMgr=this.onChatAllMgr.bind(this),this.roomWs.callbackobj().onTeacherUpMediaBC=this.onTeacherUpMediaBC.bind(this),this.roomWs.callbackobj().onTeacherDownMediaBC=this.onTeacherDownMediaBC.bind(this),this.roomWs.callbackobj().onUserNumberBC=this.onUserNumberBC.bind(this),this.roomWs.callbackobj().onRoomTransMessageRq=this.onRoomTransMessageRq.bind(this),this.roomWs.callbackobj().onTopTipMsgBC=this.onTopTipMsgBC.bind(this),this.roomWs.callbackobj().onTopTipMsgDel=this.onTopTipMsgDel.bind(this),this.roomWs.callbackobj().onLotteryNotify=this.onLotteryNotify.bind(this),this.roomWs.callbackobj().onLotteryResultRs=this.onLotteryResultRs.bind(this),this.roomWs.callbackobj().onLotteryStop=this.onLotteryStop.bind(this),this.roomWs.callbackobj().onCountDown=this.onCountDown.bind(this),this.roomWs.getNextUrl=this._getLine.bind(this),this.roomWs.callbackobj().onAdUpBC=this.onAdUpBC.bind(this),this.roomWs.callbackobj().onAdDownBC=this.onAdDownBC.bind(this),this.roomWs.connect()}onLoginRs(e,t,r){let n=0,s="";if("200"===e)n=0,s="登录成功",qe.isFunction(this._callback.onLocalUserInfo)&&this._callback.onLocalUserInfo(r);else if("701"===e)n=1,s="您被管理员限制登录";else if("900"===e)n=2,s="登录限制,超过课程预订最大人数限制";else{if("403"===e||"500"===e)return console.log("loginRs error",e),void this._forceReConnect();"406"===e&&(n=4,s="观看回放链接已超时")}qe.isFunction(this._callback.onConnectResult)&&this._callback.onConnectResult(n,s)}onUserChatMgr(e){qe.isFunction(this._callback.onUserChatMgr)&&this._callback.onUserChatMgr(1===e.chatStatus)}onKickoutUserRq(e){qe.isFunction(this._callback.onKickoutUserRq)&&this._callback.onKickoutUserRq()}onDuplicateLoginKickOut(e){qe.isFunction(this._callback.onDuplicateLoginKickOut)&&this._callback.onDuplicateLoginKickOut()}onChatAllMgr(e){qe.isFunction(this._callback.onChatAllMgr)&&this._callback.onChatAllMgr(e.enable)}onUserNumberBC(e){qe.isFunction(this._callback.onUserNumberBC)&&this._callback.onUserNumberBC(e.totalNumber)}onTeacherUpMediaBC(e){this._streamName=e.stream,this._mediaType=e.mediaType,qe.isFunction(this._callback.onTeaMediaUp)&&this._callback.onTeaMediaUp(e.stream,e.mediaType)}onTeacherDownMediaBC(e){this._streamName=null,qe.isFunction(this._callback.onTeaMediaDown)&&this._callback.onTeaMediaDown()}onRoomTransMessageRq(e){if(1e3===e.messageType)qe.isFunction(this._callback.onRoomTransMessageRq)&&this._callback.onRoomTransMessageRq(e.dstUserId,e.srcUserId);else if(1002===e.messageType)qe.isFunction(this._callback.getlinesRq)&&this._callback.getlinesRq(e.dstUserId,e.srcUserId);else if(1003===e.messageType){let t=JSON.parse(e.messageRq).lineId;qe.isFunction(this._callback.switchlinesRq)&&this._callback.switchlinesRq(e.dstUserId,e.srcUserId,t)}}onAdUpBC(e){qe.isFunction(this._callback.onAdUpBc)&&this._callback.onAdUpBc(e.productId,e.productName,e.productDesc,e.productImgUrl,e.productPrice,e.productCount,e.productDetailUrl)}onAdDownBC(e){qe.isFunction(this._callback.onAdDownBc)&&this._callback.onAdDownBc(e.productId)}_forceReConnect(){this.roomWs.close()}getStreamName(){return this._streamName}getMediaType(){return this._mediaType}transMessageRs(e,t,r,n){this.roomWs.roomTransMessageRs(e,t,r,n)}lotteryResultRq(e){this.roomWs.lotteryResultRq(e)}onTopTipMsgBC(e){qe.isFunction(this._callback.onTopTipMsgBC)&&this._callback.onTopTipMsgBC(e.msgId,e.msgContent)}onTopTipMsgDel(e){qe.isFunction(this._callback.onTopTipMsgDel)&&this._callback.onTopTipMsgDel(e.msgId)}onLotteryNotify(e){qe.isFunction(this._callback.onLotteryNotify)&&this._callback.onLotteryNotify(e.LotteryId)}onLotteryResultRs(e){qe.isFunction(this._callback.onLotteryResultRs)&&this._callback.onLotteryResultRs(e.result)}onLotteryStop(e){qe.isFunction(this._callback.onLotteryStop)&&this._callback.onLotteryStop(e.LotteryId)}onCountDown(e){qe.isFunction(this._callback.onCountDown)&&this._callback.onCountDown(e.totalTs,e.Status)}release(){this.roomWs.release()}}class Ct{constructor(e){this.replaysvr=e.replaysvr,this.replaypro=e.reportVodUrl,this.roomUrl=e.roomUrl,this.recordnotify=e.recordnotify,this.svrquery=e.svrquery,this.vodquery=e.vodquery,this.statusQuery=e.statusQuery,this.playreplaceset=e.playreplaceset?e.playreplaceset:{enable:!1,oldurl:"",newurl:""},this.playreplaceset.enable=!1,h.setPlayreplaceSet(this.playreplaceset),this.playerUrlList=e.playmediaLine.chromeLine}}class St{constructor(){this._duration=0,this._curIndex=0}get duration(){return this._duration}setPlayData(e){this._init(),this._playData=e,this._computeData()}getDataByNext(){if(this._curIndex<this._playData.length-1){if(this._curIndex++,this._curIndex>=this._playData.length)return null;let e=this._playData[this._curIndex],t=this._formatPlayUrl(e.cdn_url);return{seek:e.begin_time,url:t}}return null}getDataBySeek(e){let t=this._getPlayDataBySeek(e);if(!t)return null;let{realSeekTo:r,data:n,index:s}=t;return this._curIndex=s,{seek:r,url:this._formatPlayUrl(n.cdn_url)}}_getPlayDataBySeek(e){let t=0;for(let r=0;r<this._playData.length;r++){let n=this._playData[r];if(t+n.duration>=e)return{realSeekTo:e-t+n.begin_time,data:n,index:r};t+=n.duration}return null}getGlobalSeek(e){let t=0,r=this._playData[this._curIndex].begin_time;for(let s=0;s<this._curIndex;s++){t+=this._playData[s].duration}let n=e+t-r;return n<0&&(n=0),n}_init(){this._duration=0}_computeData(){for(let e=0;e<this._playData.length;e++){let t=this._playData[e];this._duration+=t.duration}}_formatPlayUrl(e){if(e.indexOf("_.m3u8")>-1){return e.replace("_.m3u8",".m3u8")}return e}}class vt{constructor(e){this.playerUrlList=e,this._initDefaultLine(),this._initCacheLine()}_initDefaultLine(){for(let e in this.playerUrlList)this.playerUrlList[e].selected=this.playerUrlList[e].default}_initCacheLine(){let e=Pe.getPlayLine();e&&this.setLineSelectedByKey(e)}setLineSelectedByKey(e){for(let t in this.playerUrlList){let r=this.playerUrlList[t];r.selected=r.key===e}}isExitKeyInLines(e){for(let t in this.playerUrlList)if(this.playerUrlList[t].key===e)return!0;return!1}_isSafeLine(e){return!!e&&!!e.safeline}skipToSafeLine(){for(let e in this.playerUrlList){let t=this.playerUrlList[e];t.safeline?t.selected=!0:t.selected=!1}}getSelectedLine(){for(let e in this.playerUrlList){let t=this.playerUrlList[e];if(t.selected)return t}return null}setSelectedFirstLine(){let e=!1;for(let t in this.playerUrlList){this.playerUrlList[t].selected=!e,e=!0}}getLineList(){let e=[];for(let t=0;t<this.playerUrlList.length;t++){let r=this.playerUrlList[t],n={id:r.key,name:r.title,selected:r.selected};e.push(n)}return e}}class Tt{constructor(e,t){this._timeFlag=null,this._TAG="MyTimer tag",this._interval=e,this._onTimer=t.onTimer}start(){this._timeFlag||(this.stop(),r.d(this._TAG,"start"),this._timeFlag=setInterval((()=>{this._onTimer&&this._onTimer()}),this._interval))}stop(){this._timeFlag&&(r.d(this._TAG,"stop"),clearInterval(this._timeFlag)),this._timeFlag=null}}var Ut={formatPlayData:function(e){let t=e.data,r=e.clip;if(t=this.fullPlayData(t),r){let e=[],{minTime:n,maxTime:s}=this.getPlayDataMinMaxTime(t),i=null,o=0;for(let a=n;a<=s;a++){let n=this.getPlayDataItemByTime(t,a);null!==n&&(null!=this.getClipByTime(r,a)?i=null:(null!==i&&i.stream===n.stream||(i={stream:n.stream,start_time:n.start_time,stop_time:n.stop_time,duration:0,cdn_url:n.cdn_url+"?v="+o,size:n.size,cutbegin_time:a,cutend_time:a,begin_time:a-n.start_time,end_time:0},e.push(i),o++),i.stream===n.stream&&(i.cutend_time=a,i.duration=i.cutend_time-i.cutbegin_time,i.end_time=i.begin_time+i.duration)))}return e}return t},isEqualPlayData:function(e,t){return e.stream===t.stream},getClipByTime:function(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(n.starttime<=t&&n.stoptime>=t)return n}return null},getPlayDataItemByTime:function(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(n.start_time<=t&&n.stop_time>=t)return n}return null},getPlayDataMinMaxTime:function(e){let t=9999999999,r=1e9;for(let n=0;n<e.length;n++){let s=e[n];s.start_time<t&&(t=s.start_time),s.stop_time>r&&(r=s.stop_time)}return{minTime:t,maxTime:r}},fullPlayData:function(e){for(let t=0;t<e.length;t++){let r=e[t];r.begin_time=0,r.end_time=r.stop_time-r.start_time,r.cutbegin_time=r.start_time,r.cutend_time=r.stop_time}return e}};class Nt{constructor(e,t,r){this.url=e,this.token=t,this.callback=r,this.resultData=null,this.lines=null,this.queryLine()}queryLine(){r.d("queryLine start"),Be(this.url+"/playbackqueryh5",{token:this.token}).then((e=>{if(e.code)return void this.callback(e.code,e.msg);let t=qe.decryptByEncryKeyForVod(e);r.d("queryLine",t),t=JSON.parse(t),t.hasOwnProperty("code")?this.callback(t.code,t.msg):(this.resultData=t.lines,r.d(this.resultData),this.formatLine(),this.callback(200,""))})).catch((e=>{wt.error("lineinfo playbackqueryh5 error url = "+this.url+"/playbackqueryh5?token="+this.token)}))}formatLine(){this.lines=[];for(let e=0;e<this.resultData.length;e++){let t={key:this.resultData[e].line,default:0===e,title:this.getLineIndexName(e),safeline:!0};this.lines.push(t)}this.hasDefaultTrue()||this.setFirstDefaultTrue()}setFirstDefaultTrue(){for(let e=0;e<this.lines.length;e++){return void(this.lines[e].default=!0)}}hasDefaultTrue(){let e=!1;for(let t=0;t<this.lines.length;t++){if(this.lines[t].default){e=!0;break}}return e}getLineIndexName(e){return 0===e?"线路一":1===e?"线路二":2===e?"线路三":3===e?"线路四":4===e?"线路五":5===e?"线路六":6===e?"线路七":7===e?"线路八":8===e?"线路九":9===e?"线路十":void 0}getLineData(e){for(let t=0;t<this.resultData.length;t++){let r=this.resultData[t];if(r.line===e)return r}return null}}var kt=function(e){return e.split("|")[5]};export default class{constructor(e){this._TAG="QXCPlayerSDK",this._proStr="",this._reportTime=6e4,this._curTime=0,console.log("QXCPlaySDK V1.0.0"),this._token=e.data.token,this._name=e.data.name,this._env=e.data.env,this._isRc=true,h.env=this._env,this._playerSDKCallback=e.playerCallback,f.isWx=e.data.isWx,this._classId=kt(this._token),this._reportTimer=new Tt(this._reportTime,{onTimer:this._onReportTime.bind(this)}),void 0===e.data.logLeve?r.level=r.NONE:r.level=e.data.logLeve,this._initData(),this._initListener()}_initData(){this._playerData=new St,this._curTime=0}setCurTime(e){this._curTime!==e&&(this._curTime=e,Pe.savePlayerTime(this._classId,this._curTime))}_initListener(){this._roomCallback={onLocalUserInfo:e=>{this._playerSDKCallback&&qe.isFunction(this._playerSDKCallback.onLocalUserInfo)&&this._playerSDKCallback.onLocalUserInfo(e)},onConnectResult:(e,t)=>{var r;this._playerSDKCallback&&(null==(r=this._playerSDKCallback)||r.onConnectResult(e,t)),(h.env===u||0===e)&&(this._reportTimer.start(),this._startMedia())},onDuplicateLoginKickOut:()=>{this._playerSDKCallback&&qe.isFunction(this._playerSDKCallback.onDuplicateLoginKickOut)&&this._playerSDKCallback.onDuplicateLoginKickOut()}}}connect(){r.d("正在获取配置..."),this._requeryConfig().then((()=>{this._connectRoom()}))}_queryPlayLines(){return new Promise(((e,t)=>{this._lineInfo=new Nt(this._config.vodquery,this._token,((r,n)=>{200===r?(this._config.playerUrlList=this._lineInfo.lines,e({})):(console.error(n),this._playerSDKCallback&&this._playerSDKCallback.onMediaError(r,n),t())}))}))}_requeryConfig(){return this._config?this._queryPlayLines().then((()=>{this._mediaUrlManager=new vt(this._config.playerUrlList),this._switchLineCallback()})):Ae.reqConfig().then((e=>(qe.isTypeString(e)&&(e=JSON.parse(e)),r.d("reqConfig resp",e),this._config=new Ct(e),this._queryPlayLines().then((()=>{this._mediaUrlManager=new vt(this._config.playerUrlList),this._switchLineCallback()}))))).catch((e=>{r.e(this._TAG,e)}))}_connectRoom(){r.d(this._TAG,"开始初始化房间"),this._roomConnect=new _t({token:this._token,name:this._name,wsurl:this._config.replaysvr,wsname:"replayproxy",isRc:this._isRc}),this._roomConnect.setCallback(this._roomCallback),this._roomConnect.connect()}_startMedia(){let e=this._mediaUrlManager.getSelectedLine();if(!e&&(this._mediaUrlManager.setSelectedFirstLine(),e=this._mediaUrlManager.getSelectedLine(),this._switchLineCallback(),!e))return;Pe.setPlayLine(e.key),this._queryPlayerData(e.key);let t=this._getPlayUrl();this._reqPlayPro().then((e=>{t?this._playerSDKCallback&&this._playerSDKCallback.onPlayUrl(t,e):this._playerSDKCallback&&this._playerSDKCallback.onPlayUrl("",e)}))}_queryPlayerData(e){let t=this._lineInfo.getLineData(e),r=Ut.formatPlayData(t);this._playerData.setPlayData(r),this._playerSDKCallback&&qe.isFunction(this._playerSDKCallback.onPlayerInfo)&&this._playerSDKCallback.onPlayerInfo(this._title,this._playerData.duration)}_startPlay(e=!0){r.d("testplaysdk _startPlay curTime = "+this._curTime);this._playerData.getDataBySeek(this._curTime)}_switchLineCallback(){this._playerSDKCallback&&qe.isFunction(this._playerSDKCallback.onLineList)&&this._playerSDKCallback.onLineList(this._mediaUrlManager.getLineList())}_playNext(){this._playerData.getDataByNext()}_reportPro(){if(0===this._curTime||!this._playerData||0===this._playerData.duration)return;let e=1*this._curTime/this._playerData.duration,t=e.toFixed(4);if(e>1&&(t="1.0000"),this._proStr===t)return;this._proStr=t;let n={token:this._token,progress:t,ts:this._curTime};r.d(this._TAG,"reportdata",n),Me(this._config.replaypro+"/replaypro",n)}_onReportTime(){this._reportPro()}_release(){this._roomConnect&&this._roomConnect.release(),this._reportTimer&&this._reportTimer.stop()}_getPlayUrl(){let e=this._playerData.getDataBySeek(0);if(e){let{url:t}=e;return t}return null}_reqPlayPro(){return new Promise(((e,t)=>{Be(this._config.statusQuery+"/statusquery",{token:this._token}).then((t=>{let r=t.ts,n=Pe.getProTime2(this._classId);e(n||r)}))}))}release(){this._release()}} |
components/qxcplayer/qxcplayer.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="qxcplayer-box" :style="'height:' + height + 'rpx'"> | ||
| 3 | + <video id="qxc_player" class="qxc-video" :src="playUrl" | ||
| 4 | + autoplay="" @play="videoPlay()" @pause="videoPause()" @timeupdate="videoTimeUpdate" | ||
| 5 | + @error="videoError" | ||
| 6 | + referrer-policy="origin" | ||
| 7 | + @controlstoggle="controlstoggle" | ||
| 8 | + @fullscreenchange="fullScreenChange" | ||
| 9 | + :custom-cache="false" | ||
| 10 | + > | ||
| 11 | + <view :class="fullScreen? 'controller-top controller-top-nobg': 'controller-top'" v-if="topShow"> | ||
| 12 | + <text class="speed-txt" @click="speedTap">X {{speedVal}}</text> | ||
| 13 | + </view> | ||
| 14 | + <cover-image v-if="!isPlay && topShow" @click="centerPlayClick" src="../../static/qxc_play.png" :class="fullScreen ? 'centerbtn-fullscreen' : 'centerbtn'"></cover-image> | ||
| 15 | + <cover-image v-if="isPlay && topShow" @click="centerPauseClick" src="../../static/qxc_pause.png" :class="fullScreen ? 'centerbtn-fullscreen' : 'centerbtn'"></cover-image> | ||
| 16 | + <SpeedView @speedChange="speedChange" ref="speedBox" class="speed-box"></SpeedView> | ||
| 17 | + </video> | ||
| 18 | + </view> | ||
| 19 | +</template> | ||
| 20 | + | ||
| 21 | +<script> | ||
| 22 | + import QXCMiniPlayerSDK from './lib/qxcplaysdk.es' | ||
| 23 | + import SpeedView from './speed/speedview.vue' | ||
| 24 | + let qxcplayerSDK = null | ||
| 25 | + let videoCtx = null | ||
| 26 | + export default { | ||
| 27 | + name:"qxcplayer", | ||
| 28 | + components: {SpeedView}, | ||
| 29 | + props: { | ||
| 30 | + height: { | ||
| 31 | + type: Number, | ||
| 32 | + default: 400 | ||
| 33 | + } | ||
| 34 | + }, | ||
| 35 | + data() { | ||
| 36 | + return { | ||
| 37 | + count: 0, | ||
| 38 | + isPlay: false, | ||
| 39 | + showControls: true, | ||
| 40 | + topShow: true, | ||
| 41 | + fullScreen: false, | ||
| 42 | + speedVal: 1.0, | ||
| 43 | + playUrl: null, | ||
| 44 | + VVideo: { | ||
| 45 | + curTime: 0 | ||
| 46 | + } | ||
| 47 | + }; | ||
| 48 | + }, | ||
| 49 | + mounted() { | ||
| 50 | + videoCtx = uni.createVideoContext('qxc_player', this) | ||
| 51 | + }, | ||
| 52 | + methods: { | ||
| 53 | + setTime: function(time) {/*设置视频初始化播放位置 参数 第一个 时间*/ | ||
| 54 | + let that = this; | ||
| 55 | + if (time && time > 0) { | ||
| 56 | + videoCtx.seek(time); | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + initData: function(params) { | ||
| 60 | + console.log('V1.0.0') | ||
| 61 | + qxcplayerSDK = new QXCMiniPlayerSDK({ | ||
| 62 | + data: { | ||
| 63 | + token: params.token, | ||
| 64 | + // 用户名,可不填 | ||
| 65 | + name: params.name, | ||
| 66 | + // 环境 test 测试环境 product 正式环境 默认是正式环境 | ||
| 67 | + env: params.env, | ||
| 68 | + logLeve: 0, | ||
| 69 | + isWx: true | ||
| 70 | + }, | ||
| 71 | + playerCallback: { | ||
| 72 | + onConnectResult: (type, reason) => { | ||
| 73 | + }, | ||
| 74 | + onDuplicateLoginKickOut: () => { | ||
| 75 | + // 异地登录 | ||
| 76 | + this.playUrl = '' | ||
| 77 | + uni.showToast({ | ||
| 78 | + title: '异地登录' + this.count, | ||
| 79 | + icon:'error', | ||
| 80 | + duration: 2000 | ||
| 81 | + }); | ||
| 82 | + }, | ||
| 83 | + onPlayUrl: (url, time) => { | ||
| 84 | + // uni.showToast({ | ||
| 85 | + // title: 'onPlayUrl' + url, | ||
| 86 | + // icon: 'none' | ||
| 87 | + // }) | ||
| 88 | + this.playUrl = url | ||
| 89 | + videoCtx.seek(time) | ||
| 90 | + }, | ||
| 91 | + onLineList: (linelist) => { | ||
| 92 | + }, | ||
| 93 | + onPlayerInfo: (title, total) => { | ||
| 94 | + }, | ||
| 95 | + onMediaError: (code, msg) => { | ||
| 96 | + uni.showToast({ | ||
| 97 | + title: msg + "#" + code, | ||
| 98 | + icon:'error', | ||
| 99 | + duration: 2000 | ||
| 100 | + }); | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + }) | ||
| 104 | + qxcplayerSDK.connect() | ||
| 105 | + this.count = this.count + 1 | ||
| 106 | + console.log('mgs: initData', this.count) | ||
| 107 | + }, | ||
| 108 | + videoPlay: function () { | ||
| 109 | + this.isPlay = true | ||
| 110 | + }, | ||
| 111 | + videoPause: function () { | ||
| 112 | + this.isPlay = false | ||
| 113 | + }, | ||
| 114 | + videoTimeUpdate: function (e) { | ||
| 115 | + qxcplayerSDK.setCurTime(Math.floor(e.detail.currentTime)) | ||
| 116 | + this.VVideo.curTime = e.detail.currentTime | ||
| 117 | + }, | ||
| 118 | + videoError: function (e) { | ||
| 119 | + console.log(e) | ||
| 120 | + uni.showToast({ | ||
| 121 | + title: '播放失败' + this.count, | ||
| 122 | + icon:'error', | ||
| 123 | + duration: 2000 | ||
| 124 | + }); | ||
| 125 | + this.isPlay = false | ||
| 126 | + }, | ||
| 127 | + speedTap: function (e) { | ||
| 128 | + this.$refs.speedBox.setShow() | ||
| 129 | + }, | ||
| 130 | + speedChange: function (val) { | ||
| 131 | + videoCtx.playbackRate(Number(val)) | ||
| 132 | + this.speedVal = val | ||
| 133 | + }, | ||
| 134 | + controlstoggle: function (e) { | ||
| 135 | + let show = e.detail.show | ||
| 136 | + this.topShow = show | ||
| 137 | + }, | ||
| 138 | + fullScreenChange: function (e) { | ||
| 139 | + this.fullScreen = e.detail.fullScreen | ||
| 140 | + }, | ||
| 141 | + centerPlayClick: function () { | ||
| 142 | + if (videoCtx) videoCtx.play() | ||
| 143 | + }, | ||
| 144 | + centerPauseClick: function () { | ||
| 145 | + if (videoCtx) videoCtx.pause() | ||
| 146 | + }, | ||
| 147 | + destory: function () { | ||
| 148 | + this.playUrl = '' | ||
| 149 | + qxcplayerSDK.release() | ||
| 150 | + } | ||
| 151 | + } | ||
| 152 | + } | ||
| 153 | +</script> | ||
| 154 | + | ||
| 155 | +<style scoped> | ||
| 156 | + .qxcplayer-box{ | ||
| 157 | + position: relative; | ||
| 158 | + width: 100%; | ||
| 159 | + } | ||
| 160 | + | ||
| 161 | + .qxc-video{ | ||
| 162 | + width: 100%; | ||
| 163 | + height: 100%; | ||
| 164 | + } | ||
| 165 | + .controller-top{ | ||
| 166 | + width: 100%; | ||
| 167 | + height: 30rpx; | ||
| 168 | + position: fixed; | ||
| 169 | + top: 0rpx; | ||
| 170 | + display: flex; | ||
| 171 | + flex-direction: row-reverse; | ||
| 172 | + background: rgba(0, 0, 0, 0.3); | ||
| 173 | + padding-top: 20rpx; | ||
| 174 | + } | ||
| 175 | + .controller-top-nobg{ | ||
| 176 | + background: rgba(0, 0, 0, 0.0); | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + .speed-txt{ | ||
| 180 | + color: white; | ||
| 181 | + font-size: 10pt; | ||
| 182 | + pointer-events: all; | ||
| 183 | + margin-right: 40rpx; | ||
| 184 | + padding: 2rpx; | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + .centerbtn{ | ||
| 188 | + position: absolute; | ||
| 189 | + width: 30rpx; | ||
| 190 | + height: 30rpx; | ||
| 191 | + top: calc(200rpx - 37rpx); | ||
| 192 | + left: calc(50% - 30rpx); | ||
| 193 | + background-color: rgba(0, 0, 0, 0.2); | ||
| 194 | + border-radius: 50%; | ||
| 195 | + padding: 20rpx; | ||
| 196 | + } | ||
| 197 | + | ||
| 198 | + .centerbtn-fullscreen{ | ||
| 199 | + position: absolute; | ||
| 200 | + width: 30rpx; | ||
| 201 | + height: 30rpx; | ||
| 202 | + top: calc(50% - 37rpx); | ||
| 203 | + left: calc(50% - 30rpx); | ||
| 204 | + background-color: rgba(0, 0, 0, 0.2); | ||
| 205 | + border-radius: 50%; | ||
| 206 | + padding: 20rpx; | ||
| 207 | + } | ||
| 208 | +</style> |
components/qxcplayer/speed/speedview.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="speed-wrap-box" @click="speedbgTap" v-show="show"> | ||
| 3 | + <view :class="showAnim ? 'speed-info-box speed-info-box-show' : 'speed-info-box'"> | ||
| 4 | + <template v-for="(speedItem, speedIndex) in speedList"> | ||
| 5 | + <text :key="speedIndex" :class="curIndex === speedIndex ? 'speed-item-txt active':'speed-item-txt'" @click="speedItemClick(speedIndex)"> {{speedItem}} </text> | ||
| 6 | + </template> | ||
| 7 | + | ||
| 8 | + </view> | ||
| 9 | + </view> | ||
| 10 | +</template> | ||
| 11 | + | ||
| 12 | +<script> | ||
| 13 | + export default { | ||
| 14 | + name: 'SpeedView', | ||
| 15 | + data (){ | ||
| 16 | + return { | ||
| 17 | + show: false, | ||
| 18 | + showAnim: false, | ||
| 19 | + speedList: [0.5, 1.0, 1.25, 1.5, 2.0], | ||
| 20 | + curIndex: 1 | ||
| 21 | + } | ||
| 22 | + }, | ||
| 23 | + methods: { | ||
| 24 | + setShow: function () { | ||
| 25 | + this.show = true | ||
| 26 | + setTimeout(() => { | ||
| 27 | + this.showAnim = true | ||
| 28 | + }) | ||
| 29 | + }, | ||
| 30 | + setHiden: function () { | ||
| 31 | + this.showAnim = false | ||
| 32 | + setTimeout(() => { | ||
| 33 | + this.show = false | ||
| 34 | + }, 300) | ||
| 35 | + }, | ||
| 36 | + speedbgTap: function (e) { | ||
| 37 | + this.setHiden() | ||
| 38 | + }, | ||
| 39 | + speedItemClick: function (index){ | ||
| 40 | + this.curIndex = index | ||
| 41 | + this.$emit('speedChange', this.speedList[this.curIndex]) | ||
| 42 | + this.setHiden() | ||
| 43 | + } | ||
| 44 | + } | ||
| 45 | + } | ||
| 46 | +</script> | ||
| 47 | + | ||
| 48 | +<style scoped> | ||
| 49 | + .speed-info-box{ | ||
| 50 | + height: 100%; | ||
| 51 | + width: 300rpx; | ||
| 52 | + background: rgba(0, 0, 0, 0.5); | ||
| 53 | + position: absolute; | ||
| 54 | + right: -300px; | ||
| 55 | + display: flex; | ||
| 56 | + flex-direction: column; | ||
| 57 | + justify-content: space-evenly; | ||
| 58 | + align-items: center; | ||
| 59 | + color: white; | ||
| 60 | + font-size: 10pt; | ||
| 61 | + transition: right 0.3s linear 0s; | ||
| 62 | + | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + .speed-wrap-box{ | ||
| 66 | + pointer-events: all; | ||
| 67 | + width: 100%; | ||
| 68 | + height: 100%; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + .speed-item-txt{ | ||
| 72 | + color: #fff; | ||
| 73 | + font-size: 10pt; | ||
| 74 | + padding: 10rpx; | ||
| 75 | + } | ||
| 76 | + .active{ | ||
| 77 | + color: #12d2f6; | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + .speed-info-box-show{ | ||
| 81 | + right: 0px; | ||
| 82 | + } | ||
| 83 | +</style> |
components/yz-audio/index.scss
0 → 100644
| 1 | +@mixin textoverflow() { | ||
| 2 | + display: -webkit-box; | ||
| 3 | + overflow: hidden; | ||
| 4 | + text-overflow: ellipsis; | ||
| 5 | + -webkit-box-orient: vertical; | ||
| 6 | + -webkit-line-clamp: 1; | ||
| 7 | +} | ||
| 8 | +@keyframes rowup { | ||
| 9 | + 0% { | ||
| 10 | + -webkit-transform: translate(-50%, -50%) rotate(0deg); | ||
| 11 | + transform-origin: center center; | ||
| 12 | + } | ||
| 13 | + | ||
| 14 | + 100% { | ||
| 15 | + -webkit-transform: translate(-50%, -50%) rotate(360deg); | ||
| 16 | + transform-origin: center center; | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +.imt-audio{ | ||
| 20 | + width: 100%; | ||
| 21 | + overflow: hidden; | ||
| 22 | + // display: flex; | ||
| 23 | + box-sizing: border-box; | ||
| 24 | + position:relative; | ||
| 25 | + .imt-audio-1{ | ||
| 26 | + display: flex; | ||
| 27 | + align-items: center; | ||
| 28 | + font-size: 24rpx; | ||
| 29 | + color: #a7a3a2; | ||
| 30 | + .imt-audio-1-middle{ | ||
| 31 | + flex-grow: 1; | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | + .imt-audio-2{ | ||
| 35 | + display: flex; | ||
| 36 | + justify-content: space-between; | ||
| 37 | + align-items: center; | ||
| 38 | + .imt-audio-2-left{ | ||
| 39 | + font-size: 30rpx; | ||
| 40 | + color: #fff; | ||
| 41 | + width: 40rpx; | ||
| 42 | + height: 40rpx; | ||
| 43 | + } | ||
| 44 | + .imt-audio-2-middle{ | ||
| 45 | + display: flex; | ||
| 46 | + align-items: center; | ||
| 47 | + justify-content: space-between; | ||
| 48 | + flex-grow: 1; | ||
| 49 | + margin: 0 70rpx; | ||
| 50 | + .imt-audio-2-middle-left{ | ||
| 51 | + image{ | ||
| 52 | + width: 40rpx; | ||
| 53 | + height: 40rpx; | ||
| 54 | + } | ||
| 55 | + } | ||
| 56 | + .imt-audio-2-middle-middle{ | ||
| 57 | + image{ | ||
| 58 | + height: 150rpx; | ||
| 59 | + width: 150rpx; | ||
| 60 | + } | ||
| 61 | + } | ||
| 62 | + .imt-audio-2-middle-right{ | ||
| 63 | + image{ | ||
| 64 | + width: 40rpx; | ||
| 65 | + height: 40rpx; | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + } | ||
| 69 | + .imt-audio-2-right{ | ||
| 70 | + image{ | ||
| 71 | + width: 39rpx; | ||
| 72 | + height: 39rpx; | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + .top { | ||
| 77 | + width: 140rpx; | ||
| 78 | + position: relative; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + .audio-wrapper { | ||
| 82 | + display: flex; | ||
| 83 | + flex-direction: column; | ||
| 84 | + flex: 1; | ||
| 85 | + color: #fff; | ||
| 86 | + margin-left: 20rpx; | ||
| 87 | + | ||
| 88 | + .titlebox { | ||
| 89 | + display: flex; | ||
| 90 | + line-height: 100rpx; | ||
| 91 | + margin-bottom: 10rpx; | ||
| 92 | + .title { | ||
| 93 | + font-size: 30rpx; | ||
| 94 | + max-width: 60%; | ||
| 95 | + @include textoverflow; | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + .singer { | ||
| 99 | + margin-left: 20rpx; | ||
| 100 | + font-size: 28rpx; | ||
| 101 | + max-width: 50%; | ||
| 102 | + @include textoverflow; | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | + .slidebox { | ||
| 107 | + display: flex; | ||
| 108 | + justify-content: space-between; | ||
| 109 | + width: 96%; | ||
| 110 | + } | ||
| 111 | + /deep/ .uni-slider-tap-area { | ||
| 112 | + padding: 0; | ||
| 113 | + } | ||
| 114 | + /deep/ .uni-slider-wrapper { | ||
| 115 | + min-height: 0; | ||
| 116 | + } | ||
| 117 | + /deep/ .uni-slider-handle-wrapper { | ||
| 118 | + height: 6px; | ||
| 119 | + } | ||
| 120 | + .audio-slider { | ||
| 121 | + // padding-top: 10rpx; | ||
| 122 | + // margin-left: 150rpx; | ||
| 123 | + // position: absolute; | ||
| 124 | + // bottom: 40rpx; | ||
| 125 | + // width: 75vw; | ||
| 126 | + // left: 0; | ||
| 127 | + // padding: 0; | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + | ||
| 131 | + .cover { | ||
| 132 | + width: 120rpx; | ||
| 133 | + height: 120rpx; | ||
| 134 | + box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); | ||
| 135 | + position: absolute; | ||
| 136 | + top: 50%; | ||
| 137 | + left: 50%; | ||
| 138 | + transform: translate(-50%, -50%); | ||
| 139 | + animation-fill-mode: forwards; | ||
| 140 | + -webkit-animation-fill-mode: forwards; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + .play { | ||
| 144 | + width: 80rpx; | ||
| 145 | + height: 80rpx; | ||
| 146 | + z-index: 99; | ||
| 147 | + background: rgba(0, 0, 0, 0.4); | ||
| 148 | + border-radius: 50%; | ||
| 149 | + position: absolute; | ||
| 150 | + top: 50%; | ||
| 151 | + left: 50%; | ||
| 152 | + transform: translate(-50%, -50%); | ||
| 153 | + &.loading{ | ||
| 154 | + width: 60rpx; | ||
| 155 | + height: 60rpx; | ||
| 156 | + animation: rotating_theme3 2s linear infinite; | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | +} | ||
| 160 | + | ||
| 161 | +@keyframes rotating { | ||
| 162 | + 0% { | ||
| 163 | + transform: rotateZ(0deg) | ||
| 164 | + } | ||
| 165 | + 100% { | ||
| 166 | + transform: rotateZ(360deg) | ||
| 167 | + } | ||
| 168 | +} | ||
| 169 | +@keyframes rotating_theme3 { | ||
| 170 | + 0% { | ||
| 171 | + transform: translate(-50%, -50%) rotateZ(0deg) | ||
| 172 | + } | ||
| 173 | + 100% { | ||
| 174 | + transform: translate(-50%, -50%) rotateZ(360deg) | ||
| 175 | + } | ||
| 176 | +} | ||
| 177 | + | ||
| 178 | +.hItem | ||
| 179 | +{ | ||
| 180 | + margin-left: 16rpx; | ||
| 181 | +} | ||
| 182 | + | ||
| 183 | +.extrButton | ||
| 184 | +{ | ||
| 185 | + font-size: 36rpx; | ||
| 186 | +} |
components/yz-audio/static/loading.png
0 → 100644
331 字节
components/yz-audio/static/loading2.png
0 → 100644
333 字节
components/yz-audio/static/pausebtn.png
0 → 100644
189 字节
components/yz-audio/static/playbtn.png
0 → 100644
274 字节
components/yz-audio/yz-audio.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="imt-audio"> | ||
| 3 | + <template> | ||
| 4 | + <view class="imt-audio-1"> | ||
| 5 | + <view>{{formatSeconds(currentTime)}}</view> | ||
| 6 | + <view class="imt-audio-1-middle"> | ||
| 7 | + <slider | ||
| 8 | + class="audio-slider" | ||
| 9 | + activeColor="#fff" | ||
| 10 | + backgroundColor="rgba(255, 255, 255, 0.1)" | ||
| 11 | + block-size="12" | ||
| 12 | + :max="duration" | ||
| 13 | + :value="currentTime" | ||
| 14 | + @change="sliderChange" | ||
| 15 | + @changing="sliderChanging"></slider> | ||
| 16 | + </view> | ||
| 17 | + <view>{{formatSeconds(duration)}}</view> | ||
| 18 | + </view> | ||
| 19 | + <view class="imt-audio-2"> | ||
| 20 | + <view class="imt-audio-2-left"></view> | ||
| 21 | + <view class="imt-audio-2-middle"> | ||
| 22 | + <!-- <view class="imt-audio-2-middle-left" @click="previousSong"> | ||
| 23 | + <image src="@/static/imagesV2/icon49.png"></image> | ||
| 24 | + </view> --> | ||
| 25 | + <view></view> | ||
| 26 | + <view class="imt-audio-2-middle-middle"> | ||
| 27 | + <image src="@/static/imagesV2/icon50.png" @click="play" v-if="playState=='pause'"></image> | ||
| 28 | + <image src="@/static/imagesV2/icon51.png" @click="pause" v-else></image> | ||
| 29 | + </view> | ||
| 30 | + <view></view> | ||
| 31 | + <!-- <view class="imt-audio-2-middle-right" @click="nextSong"> | ||
| 32 | + <image src="@/static/imagesV2/icon52.png"></image> | ||
| 33 | + </view> --> | ||
| 34 | + </view> | ||
| 35 | + </view> | ||
| 36 | + </template> | ||
| 37 | + </view> | ||
| 38 | +</template> | ||
| 39 | + | ||
| 40 | +<script> | ||
| 41 | + export default { | ||
| 42 | + props: { | ||
| 43 | + info: { | ||
| 44 | + type: Object, | ||
| 45 | + default: () => { | ||
| 46 | + return {} | ||
| 47 | + } | ||
| 48 | + }, | ||
| 49 | + // 歌曲标题 | ||
| 50 | + title: { | ||
| 51 | + type: [String] | ||
| 52 | + }, | ||
| 53 | + // 专辑名称 | ||
| 54 | + epname: { | ||
| 55 | + type: [String] | ||
| 56 | + }, | ||
| 57 | + // 歌手 | ||
| 58 | + singer: { | ||
| 59 | + type: [String] | ||
| 60 | + }, | ||
| 61 | + autoplay: { | ||
| 62 | + type: [Boolean], | ||
| 63 | + default: false | ||
| 64 | + } | ||
| 65 | + }, | ||
| 66 | + data() { | ||
| 67 | + return { | ||
| 68 | + src: '', | ||
| 69 | + duration:0, | ||
| 70 | + currentTime:0, | ||
| 71 | + playState:"pause",//"loading"/"playing"/"pause" | ||
| 72 | + isSliderChanging:false, | ||
| 73 | + backgroundAudioManager: wx.getBackgroundAudioManager() | ||
| 74 | + }; | ||
| 75 | + }, | ||
| 76 | + mounted: function(){ | ||
| 77 | + if(this.autoplay) { | ||
| 78 | + // this.play() | ||
| 79 | + } | ||
| 80 | + }, | ||
| 81 | + methods:{ | ||
| 82 | + previousSong() { | ||
| 83 | + this.$emit('previousSong') | ||
| 84 | + }, | ||
| 85 | + nextSong() { | ||
| 86 | + this.$emit('nextSong') | ||
| 87 | + }, | ||
| 88 | + selectItem(item) { | ||
| 89 | + this.$emit('selectItem', item) | ||
| 90 | + this.$refs.NotificationD.show = false | ||
| 91 | + }, | ||
| 92 | + setSrc(src) { | ||
| 93 | + this.src = src | ||
| 94 | + this.play() | ||
| 95 | + }, | ||
| 96 | + openNotificationD() { | ||
| 97 | + this.$refs.NotificationD.show = true | ||
| 98 | + }, | ||
| 99 | + playerOnPlay:function(e) | ||
| 100 | + { | ||
| 101 | + this.playState="playing"; | ||
| 102 | + this.duration = this.backgroundAudioManager.duration | ||
| 103 | + this.backgroundAudioManager.onTimeUpdate(() => { | ||
| 104 | + this.currentTime = this.backgroundAudioManager.currentTime | ||
| 105 | + }) | ||
| 106 | + this.$emit("play"); | ||
| 107 | + }, | ||
| 108 | + playerOnPause:function(e) | ||
| 109 | + { | ||
| 110 | + this.playState="pause"; | ||
| 111 | + this.$emit("pause"); | ||
| 112 | + }, | ||
| 113 | + playerOnEnded:function(e) | ||
| 114 | + { | ||
| 115 | + this.playState="pause"; | ||
| 116 | + this.$emit("ended"); | ||
| 117 | + }, | ||
| 118 | + playerOnTimeupdate:function(e) | ||
| 119 | + { | ||
| 120 | + this.playState="playing"; | ||
| 121 | + this.duration = e.detail.duration; | ||
| 122 | + this.currentTime = e.detail.currentTime; | ||
| 123 | + this.$emit("timeUpdate",e.detail); | ||
| 124 | + }, | ||
| 125 | + playerOnWaiting:function(e) | ||
| 126 | + { | ||
| 127 | + this.playState="loading"; | ||
| 128 | + }, | ||
| 129 | + playerOnError:function(e) | ||
| 130 | + { | ||
| 131 | + uni.showToast({ | ||
| 132 | + title:"播放出错"+e | ||
| 133 | + }); | ||
| 134 | + this.playState="pause"; | ||
| 135 | + this.$emit("error",e); | ||
| 136 | + }, | ||
| 137 | + formatSeconds:function(seconds){ | ||
| 138 | + var result = typeof seconds === "string" ? parseFloat(seconds) : seconds; | ||
| 139 | + if (isNaN(result)) | ||
| 140 | + return ""; | ||
| 141 | + let h = Math.floor(result / 3600) < 10 | ||
| 142 | + ? "0" + Math.floor(result / 3600) | ||
| 143 | + : Math.floor(result / 3600); | ||
| 144 | + let m = Math.floor((result / 60) % 60) < 10 | ||
| 145 | + ? "0" + Math.floor((result / 60) % 60) | ||
| 146 | + : Math.floor((result / 60) % 60) + h * 60; | ||
| 147 | + let s = Math.floor(result % 60) < 10 | ||
| 148 | + ? "0" + Math.floor(result % 60) | ||
| 149 | + : Math.floor(result % 60); | ||
| 150 | + return `${m}:${s}`; | ||
| 151 | + }, | ||
| 152 | + play:function(){ | ||
| 153 | + this.backgroundAudioManager.title = this.title;// | ||
| 154 | + this.backgroundAudioManager.epname = this.epname;// | ||
| 155 | + this.backgroundAudioManager.singer = this.singer;// | ||
| 156 | + this.backgroundAudioManager.src = this.src | ||
| 157 | + this.backgroundAudioManager.onPlay(this.playerOnPlay) | ||
| 158 | + // this.setProgress(10) | ||
| 159 | + this.backgroundAudioManager.onEnded(this.playerOnEnded) | ||
| 160 | + this.backgroundAudioManager.onError(this.playerOnError) | ||
| 161 | + }, | ||
| 162 | + pause:function(){ | ||
| 163 | + this.backgroundAudioManager.pause(); | ||
| 164 | + this.backgroundAudioManager.onPause(this.playerOnPause) | ||
| 165 | + }, | ||
| 166 | + setProgress(num) { | ||
| 167 | + if (num) { | ||
| 168 | + this.backgroundAudioManager.seek(num) | ||
| 169 | + } | ||
| 170 | + }, | ||
| 171 | + sliderChange:function(e){ | ||
| 172 | + this.isSliderChanging = false; | ||
| 173 | + //要通过e.detail.value获取,否则如果通过dom去读取slider的value | ||
| 174 | + //就会存在滚动条拖不动的情况 | ||
| 175 | + this.backgroundAudioManager.seek(e.detail.value) | ||
| 176 | + }, | ||
| 177 | + sliderChanging:function() | ||
| 178 | + { | ||
| 179 | + this.isSliderChanging = true; | ||
| 180 | + }, | ||
| 181 | + }, | ||
| 182 | + } | ||
| 183 | +</script> | ||
| 184 | + | ||
| 185 | +<style lang="scss"> | ||
| 186 | +@import './index.scss'; | ||
| 187 | +</style> |
| @@ -72,4 +72,64 @@ export const AUDITSTATUS = { | @@ -72,4 +72,64 @@ export const AUDITSTATUS = { | ||
| 72 | * @value 3 | 72 | * @value 3 |
| 73 | */ | 73 | */ |
| 74 | 'FAILED': 3 | 74 | 'FAILED': 3 |
| 75 | +} | ||
| 76 | +/** | ||
| 77 | + * 点赞类型 | ||
| 78 | + */ | ||
| 79 | +export const PAGETYPE = { | ||
| 80 | + /** | ||
| 81 | + * 在线答疑 | ||
| 82 | + * @value 1 | ||
| 83 | + */ | ||
| 84 | + 'ONLINE': 1, | ||
| 85 | + /** | ||
| 86 | + * 答疑课堂 | ||
| 87 | + * @value 2 | ||
| 88 | + */ | ||
| 89 | + 'CLASSROOM': 2 | ||
| 90 | +} | ||
| 91 | +/** | ||
| 92 | + * 我的提问类型 | ||
| 93 | + */ | ||
| 94 | +export const MYQUESTIONTYPE = { | ||
| 95 | + /** | ||
| 96 | + * 已解答 | ||
| 97 | + * @value 1 | ||
| 98 | + */ | ||
| 99 | + 'ANSWERED': 1, | ||
| 100 | + /** | ||
| 101 | + * 未解答 | ||
| 102 | + * @value 2 | ||
| 103 | + */ | ||
| 104 | + 'UNANSWERED': 2 | ||
| 105 | +} | ||
| 106 | +/** | ||
| 107 | + * 大咖课类型 | ||
| 108 | + */ | ||
| 109 | +export const BIGSHOTS = { | ||
| 110 | + /** | ||
| 111 | + * 视频课 | ||
| 112 | + * @value 1 | ||
| 113 | + */ | ||
| 114 | + 'VIDEOLESSONS': 1, | ||
| 115 | + /** | ||
| 116 | + * 音频课 | ||
| 117 | + * @value 2 | ||
| 118 | + */ | ||
| 119 | + 'AUDIOLESSONS': 2 | ||
| 120 | +} | ||
| 121 | +/** | ||
| 122 | + * 支付类型 | ||
| 123 | + */ | ||
| 124 | +export const PAYMENTTYPE = { | ||
| 125 | + /** | ||
| 126 | + * 微信支付 | ||
| 127 | + * @value 1 | ||
| 128 | + */ | ||
| 129 | + 'WECHAT': 1, | ||
| 130 | + /** | ||
| 131 | + * 支付宝支付 | ||
| 132 | + * @value 2 | ||
| 133 | + */ | ||
| 134 | + 'ALIPAY': 2 | ||
| 75 | } | 135 | } |
new_tec/editInfo/editInfo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="oneSetting"> | ||
| 3 | + <view class="oneSettingV2"> | ||
| 4 | + <view class="oneSettingV2-c"> | ||
| 5 | + <view class="oneSettingV2-c-1"> | ||
| 6 | + <view class="oneSettingV2-c-1-l">头像</view> | ||
| 7 | + <view class="oneSettingV2-c-1-r"> | ||
| 8 | + <avatar selWidth="100rpx" selHeight="100rpx" @upload="myUpload" | ||
| 9 | + :avatarSrc="userdata.img?$service.getimg(userdata.img):imgUrl" | ||
| 10 | + avatarStyle="width: 100rpx;height: 100rpx;border-radius: 50%;" inner=true></avatar> | ||
| 11 | + </view> | ||
| 12 | + </view> | ||
| 13 | + <view class="oneSettingV2-c-1"> | ||
| 14 | + <view class="oneSettingV2-c-1-l">姓名</view> | ||
| 15 | + <view class="oneSettingV2-c-1-r">{{userdata.name}}</view> | ||
| 16 | + </view> | ||
| 17 | + <view class="oneSettingV2-c-1"> | ||
| 18 | + <view class="oneSettingV2-c-1-l">性别</view> | ||
| 19 | + <view class="oneSettingV2-c-1-r">{{userdata.sex==1?'男':'女'}}</view> | ||
| 20 | + </view> | ||
| 21 | + <view class="oneSettingV2-c-1"> | ||
| 22 | + <view class="oneSettingV2-c-1-l">学号</view> | ||
| 23 | + <view class="oneSettingV2-c-1-r">{{userdata.study_code}}</view> | ||
| 24 | + </view> | ||
| 25 | + | ||
| 26 | + </view> | ||
| 27 | + <!-- <view class="oneSettingV2-c-su" @click="logout_fuc">退出登录</view> --> | ||
| 28 | + </view> | ||
| 29 | + </view> | ||
| 30 | +</template> | ||
| 31 | + | ||
| 32 | +<script> | ||
| 33 | + import Vue from 'vue' | ||
| 34 | + import { | ||
| 35 | + mapState, | ||
| 36 | + mapMutations | ||
| 37 | + } from 'vuex' | ||
| 38 | + var that | ||
| 39 | + export default { | ||
| 40 | + data() { | ||
| 41 | + return { | ||
| 42 | + imgUrl: '/static/images/tx.png', | ||
| 43 | + userName: "学员01", | ||
| 44 | + gender: "男", | ||
| 45 | + studentNum: "ZZ202012058", | ||
| 46 | + identity:0, | ||
| 47 | + userdata:{ | ||
| 48 | + img:'' | ||
| 49 | + } | ||
| 50 | + } | ||
| 51 | + }, | ||
| 52 | + onLoad(option) { | ||
| 53 | + that=this | ||
| 54 | + console.log(option); | ||
| 55 | + this.identity=uni.getStorageSync('identity') | ||
| 56 | + this.userdata=this.userDatas | ||
| 57 | + }, | ||
| 58 | + computed: { | ||
| 59 | + ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime', 'userDatas']), | ||
| 60 | + }, | ||
| 61 | + methods: { | ||
| 62 | + // 更新头像 | ||
| 63 | + myUpload(rsp) { | ||
| 64 | + var avatar = rsp.path | ||
| 65 | + // console.log(avatar) | ||
| 66 | + // Vue.set(that.userdata,'head_portrait',avatar) | ||
| 67 | + // return | ||
| 68 | + this.$service.wx_upload(avatar).then(res => { | ||
| 69 | + | ||
| 70 | + that.btn_kg = 0 | ||
| 71 | + console.log(res) | ||
| 72 | + if (res.code == 1) { | ||
| 73 | + var datas = res.data | ||
| 74 | + console.log(that.userdata) | ||
| 75 | + Vue.set(that.userdata,'img',datas) | ||
| 76 | + that.setmsg() | ||
| 77 | + } else { | ||
| 78 | + if (res.msg) { | ||
| 79 | + uni.showToast({ | ||
| 80 | + icon: 'none', | ||
| 81 | + title: res.msg | ||
| 82 | + }) | ||
| 83 | + } else { | ||
| 84 | + uni.showToast({ | ||
| 85 | + icon: "none", | ||
| 86 | + title: "上传失败" | ||
| 87 | + }) | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | + }).catch(e => { | ||
| 91 | + that.btn_kg = 0 | ||
| 92 | + console.log(e) | ||
| 93 | + uni.showToast({ | ||
| 94 | + icon: 'none', | ||
| 95 | + title: '操作失败' | ||
| 96 | + }) | ||
| 97 | + }) | ||
| 98 | + }, | ||
| 99 | + setmsg(){ | ||
| 100 | + var datas = { | ||
| 101 | + img:that.userdata.img | ||
| 102 | + } | ||
| 103 | + var jkurl = '/my/save' | ||
| 104 | + | ||
| 105 | + that.$service.P_post(jkurl, datas).then(res => { | ||
| 106 | + that.btnkg = 0 | ||
| 107 | + console.log(res) | ||
| 108 | + if (res.code == 1) { | ||
| 109 | + that.htmlReset = 0 | ||
| 110 | + var datas = res.data | ||
| 111 | + console.log(typeof datas) | ||
| 112 | + | ||
| 113 | + if (typeof datas == 'string') { | ||
| 114 | + datas = JSON.parse(datas) | ||
| 115 | + } | ||
| 116 | + console.log(res) | ||
| 117 | + | ||
| 118 | + } else { | ||
| 119 | + | ||
| 120 | + if (res.msg) { | ||
| 121 | + uni.showToast({ | ||
| 122 | + icon: 'none', | ||
| 123 | + title: res.msg | ||
| 124 | + }) | ||
| 125 | + } else { | ||
| 126 | + uni.showToast({ | ||
| 127 | + icon: 'none', | ||
| 128 | + title: '获取数据失败' | ||
| 129 | + }) | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + }).catch(e => { | ||
| 133 | + that.htmlReset = 1 | ||
| 134 | + that.btnkg = 0 | ||
| 135 | + // that.$refs.htmlLoading.htmlReset_fuc(1) | ||
| 136 | + console.log(e) | ||
| 137 | + uni.showToast({ | ||
| 138 | + icon: 'none', | ||
| 139 | + title: '获取数据失败,请检查您的网络连接' | ||
| 140 | + }) | ||
| 141 | + }) | ||
| 142 | + }, | ||
| 143 | + getimg(img){ | ||
| 144 | + return this.$service.getimg(img) | ||
| 145 | + }, | ||
| 146 | + logout_fuc(){ | ||
| 147 | + uni.removeStorageSync('token') | ||
| 148 | + uni.reLaunch({ | ||
| 149 | + url:'/pages/login/login' | ||
| 150 | + }) | ||
| 151 | + } | ||
| 152 | + } | ||
| 153 | + } | ||
| 154 | +</script> | ||
| 155 | + | ||
| 156 | +<style lang="scss" scoped> | ||
| 157 | + .oneSetting { | ||
| 158 | + position: relative; | ||
| 159 | + } | ||
| 160 | + .oneSettingV2{ | ||
| 161 | + padding: 20rpx 25rpx; | ||
| 162 | + .oneSettingV2-c{ | ||
| 163 | + background: #fff; | ||
| 164 | + padding: 0 30rpx; | ||
| 165 | + border-radius: 20rpx; | ||
| 166 | + .oneSettingV2-c-1{ | ||
| 167 | + min-height: 110rpx; | ||
| 168 | + border-bottom: 1rpx solid #F3F3F7; | ||
| 169 | + display: flex; | ||
| 170 | + justify-content: space-between; | ||
| 171 | + align-items: center; | ||
| 172 | + padding: 25rpx 0; | ||
| 173 | + .oneSettingV2-c-1-l{ | ||
| 174 | + font-size: 30rpx; | ||
| 175 | + font-weight: bold; | ||
| 176 | + } | ||
| 177 | + .oneSettingV2-c-1-r{ | ||
| 178 | + font-size: 28rpx; | ||
| 179 | + color: #646464; | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + .oneSettingV2-c-su{ | ||
| 184 | + border-radius: 200rpx; | ||
| 185 | + background: #2D81FF; | ||
| 186 | + color: #FFFFFF; | ||
| 187 | + height: 88rpx; | ||
| 188 | + line-height: 88rpx; | ||
| 189 | + text-align: center; | ||
| 190 | + margin-top: 49rpx; | ||
| 191 | + } | ||
| 192 | + } | ||
| 193 | + .tel_index_bg { | ||
| 194 | + position: absolute; | ||
| 195 | + top: 0; | ||
| 196 | + z-index: 1; | ||
| 197 | + width: 100%; | ||
| 198 | + min-height: 220rpx; | ||
| 199 | + background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%); | ||
| 200 | + } | ||
| 201 | + .vio_list{ | ||
| 202 | + width: 100%; | ||
| 203 | + padding: 0 30rpx 30rpx; | ||
| 204 | + position: relative; | ||
| 205 | + z-index: 2; | ||
| 206 | + // .main_list{ | ||
| 207 | + // margin-top: 20rpx; | ||
| 208 | + // background: #FFFFFF; | ||
| 209 | + // border-radius: 10rpx; | ||
| 210 | + // padding:0 30rpx; | ||
| 211 | + // } | ||
| 212 | + | ||
| 213 | + } | ||
| 214 | + .msg_box { | ||
| 215 | + width: 100%; | ||
| 216 | + height: auto; | ||
| 217 | + background: #FFFFFF; | ||
| 218 | + border-radius: 20rpx; | ||
| 219 | + | ||
| 220 | + | ||
| 221 | + .content-head-wrap { | ||
| 222 | + width: 100%; | ||
| 223 | + height: 340rpx; | ||
| 224 | + justify-content: center; | ||
| 225 | + align-items: center; | ||
| 226 | + border-bottom: #eeeeee 1px solid; | ||
| 227 | + | ||
| 228 | + .content-head-img { | ||
| 229 | + width: 164rpx; | ||
| 230 | + height: 164rpx; | ||
| 231 | + border-radius: 50%; | ||
| 232 | + | ||
| 233 | + image { | ||
| 234 | + width: 164rpx; | ||
| 235 | + height: 164rpx; | ||
| 236 | + border-radius: 50%; | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + .content-item { | ||
| 242 | + width: 100%; | ||
| 243 | + height: 90rpx; | ||
| 244 | + border-bottom: #eeeeee 1px solid; | ||
| 245 | + padding: 0 28rpx; | ||
| 246 | + justify-content: space-between; | ||
| 247 | + align-items: center; | ||
| 248 | + font-size: 30rpx; | ||
| 249 | + font-family: PingFang SC; | ||
| 250 | + font-weight: 400; | ||
| 251 | + color: #5B6476; | ||
| 252 | + | ||
| 253 | + .user-name { | ||
| 254 | + font-size: 30rpx; | ||
| 255 | + font-family: PingFang SC; | ||
| 256 | + font-weight: 400; | ||
| 257 | + color: #A9B1C0; | ||
| 258 | + } | ||
| 259 | + } | ||
| 260 | + .sign-out{ | ||
| 261 | + width: 100%; | ||
| 262 | + height: 112rpx; | ||
| 263 | + line-height: 112rpx; | ||
| 264 | + text-align: center; | ||
| 265 | + font-size: 30rpx; | ||
| 266 | + font-family: PingFang SC; | ||
| 267 | + font-weight: 400; | ||
| 268 | + color: #2D81FF; | ||
| 269 | + } | ||
| 270 | + } | ||
| 271 | +</style> |
new_tec/homePage/homePage.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="homePage"> | ||
| 3 | + <view class="homePage-1" @click="toNewSetting"> | ||
| 4 | + <image class="homePage-1-i" src="@/static/imagesV2/icon55.png" mode="widthFix"></image> | ||
| 5 | + </view> | ||
| 6 | + <view class="homePage-2"> | ||
| 7 | + <view class="homePage-2-1"> | ||
| 8 | + <image class="homePage-2-1-c" src="@/static/images/tx.png" mode="widthFix"></image> | ||
| 9 | + </view> | ||
| 10 | + <view class="homePage-2-2" @click="toEditInfo"> | ||
| 11 | + <view class="homePage-2-2-c"> | ||
| 12 | + <text>张东</text> | ||
| 13 | + <view class="homePage-2-2-r"> | ||
| 14 | + <u-icon name="edit-pen" size="24" color="#babbbc"></u-icon> | ||
| 15 | + </view> | ||
| 16 | + </view> | ||
| 17 | + </view> | ||
| 18 | + <view class="homePage-2-3"> | ||
| 19 | + 任课题目:行测 | ||
| 20 | + </view> | ||
| 21 | + <view class="homePage-2-4"> | ||
| 22 | + <view class="homePage-2-4-1"> | ||
| 23 | + <view class="homePage-2-4-1-l"> | ||
| 24 | + <view class="homePage-2-4-1-l-1">100</view> | ||
| 25 | + <view class="homePage-2-4-1-l-2">解答问题量</view> | ||
| 26 | + </view> | ||
| 27 | + <view class="homePage-2-4-1-l"> | ||
| 28 | + <view class="homePage-2-4-1-l-1">4.8</view> | ||
| 29 | + <view class="homePage-2-4-1-l-2">评价分</view> | ||
| 30 | + </view> | ||
| 31 | + </view> | ||
| 32 | + <view class="homePage-2-4-2"> | ||
| 33 | + <image class="homePage-bg" src="@/static/imagesV2/icon56.png" mode="widthFix"></image> | ||
| 34 | + <view class="homePage-2-4-2-c"> | ||
| 35 | + 在线答疑 | ||
| 36 | + </view> | ||
| 37 | + </view> | ||
| 38 | + <view class="homePage-2-4-2"> | ||
| 39 | + <image class="homePage-bg" src="@/static/imagesV2/icon57.png" mode="widthFix"></image> | ||
| 40 | + <view class="homePage-2-4-2-c"> | ||
| 41 | + 评价记录 | ||
| 42 | + </view> | ||
| 43 | + </view> | ||
| 44 | + <view class="homePage-2-4-2"> | ||
| 45 | + <image class="homePage-bg" src="@/static/imagesV2/icon58.png" mode="widthFix"></image> | ||
| 46 | + <view class="homePage-2-4-2-c"> | ||
| 47 | + 教师评价 | ||
| 48 | + </view> | ||
| 49 | + </view> | ||
| 50 | + </view> | ||
| 51 | + </view> | ||
| 52 | + </view> | ||
| 53 | +</template> | ||
| 54 | + | ||
| 55 | +<script> | ||
| 56 | + export default { | ||
| 57 | + data() { | ||
| 58 | + return { | ||
| 59 | + | ||
| 60 | + } | ||
| 61 | + }, | ||
| 62 | + methods: { | ||
| 63 | + toEditInfo() { | ||
| 64 | + uni.navigateTo({ | ||
| 65 | + url: '/new_tec/editInfo/editInfo' | ||
| 66 | + }) | ||
| 67 | + }, | ||
| 68 | + toNewSetting() { | ||
| 69 | + uni.navigateTo({ | ||
| 70 | + url: '/pagesB/newSetting/newSetting' | ||
| 71 | + }) | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | +</script> | ||
| 76 | + | ||
| 77 | +<style lang="scss" scoped> | ||
| 78 | +.homePage{ | ||
| 79 | + height: 100vh; | ||
| 80 | + background-color: #fff; | ||
| 81 | + .homePage-1{ | ||
| 82 | + display: flex; | ||
| 83 | + justify-content: flex-end; | ||
| 84 | + padding: 30rpx 30rpx; | ||
| 85 | + .homePage-1-i{ | ||
| 86 | + height: 38rpx; | ||
| 87 | + width: 38rpx; | ||
| 88 | + } | ||
| 89 | + } | ||
| 90 | + .homePage-2{ | ||
| 91 | + .homePage-2-1{ | ||
| 92 | + display: flex; | ||
| 93 | + justify-content: center; | ||
| 94 | + .homePage-2-1-c{ | ||
| 95 | + height: 146rpx; | ||
| 96 | + width: 146rpx; | ||
| 97 | + border-radius: 100%; | ||
| 98 | + border: 8rpx solid #f7f7f7; | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + .homePage-2-2{ | ||
| 102 | + display: flex; | ||
| 103 | + font-size: 36rpx; | ||
| 104 | + color: #323232; | ||
| 105 | + font-weight: bold; | ||
| 106 | + justify-content: center; | ||
| 107 | + margin-top: 25rpx; | ||
| 108 | + .homePage-2-2-c{ | ||
| 109 | + position: relative; | ||
| 110 | + .homePage-2-2-r{ | ||
| 111 | + position: absolute; | ||
| 112 | + right: 0; | ||
| 113 | + transform: translate(100%, -50%); | ||
| 114 | + top: 50%; | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + } | ||
| 118 | + .homePage-2-3{ | ||
| 119 | + text-align: center; | ||
| 120 | + color: #448EFE; | ||
| 121 | + font-size: 26rpx; | ||
| 122 | + margin-top: 27rpx; | ||
| 123 | + } | ||
| 124 | + .homePage-2-4{ | ||
| 125 | + padding: 0 75rpx; | ||
| 126 | + .homePage-2-4-1{ | ||
| 127 | + height: 160rpx; | ||
| 128 | + border-radius: 20rpx; | ||
| 129 | + background-color: #F7F7F7; | ||
| 130 | + margin-top: 40rpx; | ||
| 131 | + display: flex; | ||
| 132 | + | ||
| 133 | + .homePage-2-4-1-l{ | ||
| 134 | + width: 50%; | ||
| 135 | + display: flex; | ||
| 136 | + flex-direction: column; | ||
| 137 | + justify-content: center; | ||
| 138 | + align-items: center; | ||
| 139 | + position: relative; | ||
| 140 | + &:first-child{ | ||
| 141 | + &:before{ | ||
| 142 | + content: ''; | ||
| 143 | + height: 52rpx; | ||
| 144 | + border-left: #E6E6E6 solid 1rpx; | ||
| 145 | + right: 0; | ||
| 146 | + top: 50%; | ||
| 147 | + transform: translateY(-50%); | ||
| 148 | + position: absolute; | ||
| 149 | + } | ||
| 150 | + } | ||
| 151 | + .homePage-2-4-1-l-1{ | ||
| 152 | + font-size: 40rpx; | ||
| 153 | + color: #323232; | ||
| 154 | + } | ||
| 155 | + .homePage-2-4-1-l-2{ | ||
| 156 | + font-size: 26rpx; | ||
| 157 | + color: #646464; | ||
| 158 | + margin-top: 10rpx; | ||
| 159 | + } | ||
| 160 | + } | ||
| 161 | + } | ||
| 162 | + .homePage-2-4-2{ | ||
| 163 | + margin-top: 30rpx; | ||
| 164 | + position: relative; | ||
| 165 | + .homePage-bg{ | ||
| 166 | + height: 180rpx; | ||
| 167 | + width: 100%; | ||
| 168 | + } | ||
| 169 | + .homePage-2-4-2-c{ | ||
| 170 | + position: absolute; | ||
| 171 | + top: 50%; | ||
| 172 | + transform: translateY(-50%); | ||
| 173 | + left: 88rpx; | ||
| 174 | + font-size: 34rpx; | ||
| 175 | + color: #FFFFFF; | ||
| 176 | + font-weight: bold; | ||
| 177 | + } | ||
| 178 | + } | ||
| 179 | + } | ||
| 180 | + } | ||
| 181 | +} | ||
| 182 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="add_praise"> | 2 | <view class="add_praise"> |
| 3 | - <view class="tel_index_bg"></view> | ||
| 4 | - <view class="add_praise-main"> | ||
| 5 | - <view class="add_praise-main-1"> | ||
| 6 | - <view class="add_praise-main-1-l">请在此处提交你对我校及某位老师的表扬</view> | ||
| 7 | - <view class="add_praise-main-1-b"> | ||
| 8 | - <view class="add_praise-main-1-b-u"> | ||
| 9 | - <u-upload | ||
| 10 | - :fileList="fileList" | ||
| 11 | - @afterRead="afterRead" | ||
| 12 | - @delete="deletePic" | ||
| 13 | - name="4" | ||
| 14 | - multiple | ||
| 15 | - :maxCount="6" | ||
| 16 | - ></u-upload> | 3 | + <view class="add_praiseV2"> |
| 4 | + <view class="add_praiseV2-c"> | ||
| 5 | + <view class="add_praiseV2-c-1"> | ||
| 6 | + <textarea class="add_praiseV2-c-t" maxlength="-1" v-model="content" placeholder="请输入文字内容"></textarea> | ||
| 7 | + </view> | ||
| 8 | + <view class="add_praiseV2-c-2"> | ||
| 9 | + <view class="oneLeaveV2-2-3-i" v-for="(item,index) in fileList" :key="index"> | ||
| 10 | + <view class="oneLeaveV2-2-3-i-c"> | ||
| 11 | + <image class="oneLeaveV2-2-3-i-c-i" :src="$service.getimg(item)" mode="aspectFit"></image> | ||
| 12 | + <view class="oneLeaveV2-2-3-i-c-close" @click="imgdel" :data-idx="index"> | ||
| 13 | + <u-icon name="close-circle-fill" size="25" color="#000"></u-icon> | ||
| 14 | + </view> | ||
| 15 | + </view> | ||
| 17 | </view> | 16 | </view> |
| 18 | - <view class="add_praise-main-1-b-t"> | ||
| 19 | - <u--textarea height="150" v-model="content" placeholder="请输入文字内容" ></u--textarea> | 17 | + <view class="oneLeaveV2-2-3-i" @click="scpic"> |
| 18 | + <u-icon name="plus" color="#DEDEDE" size="30"></u-icon> | ||
| 20 | </view> | 19 | </view> |
| 21 | </view> | 20 | </view> |
| 22 | - | ||
| 23 | </view> | 21 | </view> |
| 24 | <view class="operation" @click="submit"> | 22 | <view class="operation" @click="submit"> |
| 25 | 提交表扬 | 23 | 提交表扬 |
| @@ -37,10 +35,105 @@ | @@ -37,10 +35,105 @@ | ||
| 37 | }; | 35 | }; |
| 38 | }, | 36 | }, |
| 39 | methods: { | 37 | methods: { |
| 38 | + imgdel(e){ | ||
| 39 | + var that =this | ||
| 40 | + console.log(e.currentTarget.dataset.idx) | ||
| 41 | + wx.showModal({ | ||
| 42 | + title: '提示', | ||
| 43 | + content: '确定要删除这张图片吗', | ||
| 44 | + success (res) { | ||
| 45 | + if (res.confirm) { | ||
| 46 | + console.log('用户点击确定') | ||
| 47 | + that.fileList.splice(e.currentTarget.dataset.idx,1) | ||
| 48 | + } else if (res.cancel) { | ||
| 49 | + console.log('用户点击取消') | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | + }) | ||
| 53 | + | ||
| 54 | + }, | ||
| 55 | + scpic() { | ||
| 56 | + var that = this | ||
| 57 | + // var z_count = 9 - that.imgb.length | ||
| 58 | + var z_count = 9 | ||
| 59 | + uni.showActionSheet({ | ||
| 60 | + itemList: ['拍照', '相册'], | ||
| 61 | + success: function(res) { | ||
| 62 | + console.log('选中了第' + (res.tapIndex + 1) + '个按钮'); | ||
| 63 | + var sourceType = ['camera', 'album'] | ||
| 64 | + if (res.tapIndex == 0) { | ||
| 65 | + sourceType = ['camera'] | ||
| 66 | + } else { | ||
| 67 | + sourceType = ['album'] | ||
| 68 | + } | ||
| 69 | + uni.chooseImage({ | ||
| 70 | + count: z_count, | ||
| 71 | + sizeType: ['original', 'compressed'], | ||
| 72 | + sourceType: sourceType, | ||
| 73 | + success: function(res) { | ||
| 74 | + console.log(res) | ||
| 75 | + const tempFilePaths = res.tempFilePaths | ||
| 76 | + | ||
| 77 | + // const imglen = that.imgb.length | ||
| 78 | + that.upimg(tempFilePaths, 0) | ||
| 79 | + | ||
| 80 | + }, | ||
| 81 | + fail(err) { | ||
| 82 | + uni.showModal({ | ||
| 83 | + content: err | ||
| 84 | + }) | ||
| 85 | + } | ||
| 86 | + }); | ||
| 87 | + }, | ||
| 88 | + fail: function(res) { | ||
| 89 | + console.log(res.errMsg); | ||
| 90 | + } | ||
| 91 | + }); | ||
| 92 | + | ||
| 93 | + }, | ||
| 94 | + upimg(imgs, i) { | ||
| 95 | + var that = this | ||
| 96 | + that.$service.wx_upload(imgs[i]).then(res => { | ||
| 97 | + | ||
| 98 | + that.btn_kg = 0 | ||
| 99 | + console.log(res) | ||
| 100 | + if (res.code == 1) { | ||
| 101 | + var datas = res.data | ||
| 102 | + console.log(i) | ||
| 103 | + var newdata = that.fileList | ||
| 104 | + newdata.push(datas) | ||
| 105 | + that.fileList= newdata | ||
| 106 | + if (i<imgs.length-1) { | ||
| 107 | + i++ | ||
| 108 | + that.upimg(imgs, i) | ||
| 109 | + } | ||
| 110 | + } else { | ||
| 111 | + if (res.msg) { | ||
| 112 | + uni.showToast({ | ||
| 113 | + icon: 'none', | ||
| 114 | + title: res.msg | ||
| 115 | + }) | ||
| 116 | + } else { | ||
| 117 | + uni.showToast({ | ||
| 118 | + icon: "none", | ||
| 119 | + title: "上传失败" | ||
| 120 | + }) | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + }).catch(e => { | ||
| 124 | + that.btn_kg = 0 | ||
| 125 | + console.log(e) | ||
| 126 | + uni.showToast({ | ||
| 127 | + icon: 'none', | ||
| 128 | + title: '操作失败' | ||
| 129 | + }) | ||
| 130 | + }) | ||
| 131 | + | ||
| 132 | + }, | ||
| 40 | submit() { | 133 | submit() { |
| 41 | var datas = { | 134 | var datas = { |
| 42 | content: this.content, | 135 | content: this.content, |
| 43 | - imgs: this.fileList.map(item => item.url) | 136 | + imgs: this.fileList |
| 44 | } | 137 | } |
| 45 | var jkurl = '/praise/add' | 138 | var jkurl = '/praise/add' |
| 46 | this.$service.P_post(jkurl, datas).then(res => { | 139 | this.$service.P_post(jkurl, datas).then(res => { |
| @@ -100,6 +193,63 @@ | @@ -100,6 +193,63 @@ | ||
| 100 | 193 | ||
| 101 | <style lang="scss"> | 194 | <style lang="scss"> |
| 102 | .add_praise{ | 195 | .add_praise{ |
| 196 | + .add_praiseV2{ | ||
| 197 | + padding: 20rpx 25rpx; | ||
| 198 | + .add_praiseV2-c{ | ||
| 199 | + background: #fff; | ||
| 200 | + padding: 30rpx; | ||
| 201 | + border-radius: 20rpx; | ||
| 202 | + .add_praiseV2-c-1{ | ||
| 203 | + background-color: #F5F6F8; | ||
| 204 | + padding: 35rpx 30rpx; | ||
| 205 | + border-radius: 20rpx; | ||
| 206 | + .add_praiseV2-c-t{ | ||
| 207 | + height: 300rpx; | ||
| 208 | + } | ||
| 209 | + } | ||
| 210 | + .add_praiseV2-c-2{ | ||
| 211 | + display: grid; | ||
| 212 | + grid-row-gap: 20rpx; | ||
| 213 | + grid-column-gap: 20rpx; | ||
| 214 | + grid-template-columns: repeat(4, 140rpx); | ||
| 215 | + margin-top: 30rpx; | ||
| 216 | + .oneLeaveV2-2-3-i{ | ||
| 217 | + width: 140rpx; | ||
| 218 | + height: 140rpx; | ||
| 219 | + display: flex; | ||
| 220 | + align-items: center; | ||
| 221 | + justify-content: center; | ||
| 222 | + border: 1rpx dashed #DEDEDE; | ||
| 223 | + border-radius: 15rpx; | ||
| 224 | + .oneLeaveV2-2-3-i-c{ | ||
| 225 | + height: 100%; | ||
| 226 | + width: 100%; | ||
| 227 | + position: relative; | ||
| 228 | + .oneLeaveV2-2-3-i-c-i{ | ||
| 229 | + height: 100%; | ||
| 230 | + width: 100%; | ||
| 231 | + } | ||
| 232 | + .oneLeaveV2-2-3-i-c-close{ | ||
| 233 | + position: absolute; | ||
| 234 | + top: 0; | ||
| 235 | + right: 0; | ||
| 236 | + transform: translate(50%, -50%); | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + } | ||
| 240 | + } | ||
| 241 | + } | ||
| 242 | + .operation{ | ||
| 243 | + height: 88rpx; | ||
| 244 | + line-height: 88rpx; | ||
| 245 | + text-align: center; | ||
| 246 | + font-size: 34rpx; | ||
| 247 | + color: #FFFFFF; | ||
| 248 | + background: #2D81FF; | ||
| 249 | + border-radius: 200rpx; | ||
| 250 | + margin-top: 50rpx; | ||
| 251 | + } | ||
| 252 | + } | ||
| 103 | .tel_index_bg{ | 253 | .tel_index_bg{ |
| 104 | position: absolute; | 254 | position: absolute; |
| 105 | top: 0; | 255 | top: 0; |
| 1 | <template> | 1 | <template> |
| 2 | <view class="praise_andLike"> | 2 | <view class="praise_andLike"> |
| 3 | - <view class="tel_index_bg"></view> | 3 | + <public-switching :option="option" :current="current" @change="changeSwitching"></public-switching> |
| 4 | <view class="praise_andLike-main"> | 4 | <view class="praise_andLike-main"> |
| 5 | - <public-switching :option="option" :current="current" @change="changeSwitching"></public-switching> | ||
| 6 | <scroll-view :scroll-y="true" class="praise_andLike-list"> | 5 | <scroll-view :scroll-y="true" class="praise_andLike-list"> |
| 7 | <view v-if="dataList.length"> | 6 | <view v-if="dataList.length"> |
| 8 | <praise-item :type="LIKETYPE.STUDENTEND" v-for="item in dataList" :info="item" :key="item.id"></praise-item> | 7 | <praise-item :type="LIKETYPE.STUDENTEND" v-for="item in dataList" :info="item" :key="item.id"></praise-item> |
| 9 | </view> | 8 | </view> |
| 10 | - <u-empty v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" ></u-empty> | 9 | + <u-empty v-else mode="data" icon="/static/imagesV2/icon24.png" ></u-empty> |
| 11 | </scroll-view> | 10 | </scroll-view> |
| 12 | </view> | 11 | </view> |
| 13 | <view class="operation" @click="$service.jump" data-url="/page_admin/add_praise/add_praise"> | 12 | <view class="operation" @click="$service.jump" data-url="/page_admin/add_praise/add_praise"> |
| @@ -111,17 +110,20 @@ | @@ -111,17 +110,20 @@ | ||
| 111 | } | 110 | } |
| 112 | } | 111 | } |
| 113 | .operation{ | 112 | .operation{ |
| 114 | - border-radius: 15rpx; | ||
| 115 | - background-color: #2C82FD; | ||
| 116 | - line-height: 90rpx; | ||
| 117 | - text-align: center; | ||
| 118 | position: absolute; | 113 | position: absolute; |
| 119 | bottom: 150rpx; | 114 | bottom: 150rpx; |
| 120 | left: 50%; | 115 | left: 50%; |
| 121 | width: 700rpx; | 116 | width: 700rpx; |
| 122 | - color: #fff; | ||
| 123 | transform: translateX(-50%); | 117 | transform: translateX(-50%); |
| 124 | z-index: 1; | 118 | z-index: 1; |
| 119 | + height: 88rpx; | ||
| 120 | + line-height: 88rpx; | ||
| 121 | + background-color: #2D81FF; | ||
| 122 | + border-radius: 200rpx; | ||
| 123 | + text-align: center; | ||
| 124 | + font-size: 34rpx; | ||
| 125 | + color: #fff; | ||
| 126 | + margin-top: 53rpx; | ||
| 125 | } | 127 | } |
| 126 | } | 128 | } |
| 127 | </style> | 129 | </style> |
| @@ -47,7 +47,8 @@ | @@ -47,7 +47,8 @@ | ||
| 47 | "path": "pages/profile/profile", | 47 | "path": "pages/profile/profile", |
| 48 | "style": { | 48 | "style": { |
| 49 | "navigationBarTitleText": "我的", | 49 | "navigationBarTitleText": "我的", |
| 50 | - "enablePullDownRefresh": false | 50 | + "enablePullDownRefresh": false, |
| 51 | + "navigationStyle": "custom" | ||
| 51 | } | 52 | } |
| 52 | 53 | ||
| 53 | } | 54 | } |
| @@ -363,6 +364,89 @@ | @@ -363,6 +364,89 @@ | ||
| 363 | } | 364 | } |
| 364 | 365 | ||
| 365 | } | 366 | } |
| 367 | + ,{ | ||
| 368 | + "path" : "answer/answer", | ||
| 369 | + "style" : | ||
| 370 | + { | ||
| 371 | + "navigationBarTitleText": "在线答疑", | ||
| 372 | + "enablePullDownRefresh": false, | ||
| 373 | + "navigationStyle": "custom" | ||
| 374 | + } | ||
| 375 | + | ||
| 376 | + } | ||
| 377 | + ,{ | ||
| 378 | + "path" : "myQuestion/myQuestion", | ||
| 379 | + "style" : | ||
| 380 | + { | ||
| 381 | + "navigationBarTitleText": "我的提问", | ||
| 382 | + "enablePullDownRefresh": false | ||
| 383 | + } | ||
| 384 | + | ||
| 385 | + } | ||
| 386 | + ,{ | ||
| 387 | + "path" : "answerForm/answerForm", | ||
| 388 | + "style" : | ||
| 389 | + { | ||
| 390 | + "navigationBarTitleText": "提问", | ||
| 391 | + "enablePullDownRefresh": false | ||
| 392 | + } | ||
| 393 | + | ||
| 394 | + } | ||
| 395 | + ,{ | ||
| 396 | + "path" : "answerDetails/answerDetails", | ||
| 397 | + "style" : | ||
| 398 | + { | ||
| 399 | + "navigationBarTitleText": "提问", | ||
| 400 | + "enablePullDownRefresh": false | ||
| 401 | + } | ||
| 402 | + | ||
| 403 | + } | ||
| 404 | + ,{ | ||
| 405 | + "path" : "bigShots/bigShots", | ||
| 406 | + "style" : | ||
| 407 | + { | ||
| 408 | + "navigationBarTitleText": "大咖课", | ||
| 409 | + "enablePullDownRefresh": false | ||
| 410 | + } | ||
| 411 | + | ||
| 412 | + } | ||
| 413 | + ,{ | ||
| 414 | + "path" : "bigShotsDetails/bigShotsDetails", | ||
| 415 | + "style" : | ||
| 416 | + { | ||
| 417 | + "navigationBarTitleText": "课程详情", | ||
| 418 | + "enablePullDownRefresh": false | ||
| 419 | + } | ||
| 420 | + | ||
| 421 | + } | ||
| 422 | + ,{ | ||
| 423 | + "path" : "payment/payment", | ||
| 424 | + "style" : | ||
| 425 | + { | ||
| 426 | + "navigationBarTitleText": "学员缴费", | ||
| 427 | + "enablePullDownRefresh": false | ||
| 428 | + } | ||
| 429 | + | ||
| 430 | + } | ||
| 431 | + ,{ | ||
| 432 | + "path" : "paymentRecord/paymentRecord", | ||
| 433 | + "style" : | ||
| 434 | + { | ||
| 435 | + "navigationBarTitleText": "缴费记录", | ||
| 436 | + "enablePullDownRefresh": false | ||
| 437 | + } | ||
| 438 | + | ||
| 439 | + } | ||
| 440 | + ,{ | ||
| 441 | + "path" : "audioFrequency/audioFrequency", | ||
| 442 | + "style" : | ||
| 443 | + { | ||
| 444 | + "navigationBarTitleText": "音频播放器", | ||
| 445 | + "enablePullDownRefresh": false, | ||
| 446 | + "navigationStyle": "custom" | ||
| 447 | + } | ||
| 448 | + | ||
| 449 | + } | ||
| 366 | ] | 450 | ] |
| 367 | }, { | 451 | }, { |
| 368 | "root": "pagesA", | 452 | "root": "pagesA", |
| @@ -492,7 +576,7 @@ | @@ -492,7 +576,7 @@ | ||
| 492 | { | 576 | { |
| 493 | "path": "oneSetting/oneSetting", | 577 | "path": "oneSetting/oneSetting", |
| 494 | "style": { | 578 | "style": { |
| 495 | - "navigationBarTitleText": "设置", | 579 | + "navigationBarTitleText": "修改资料", |
| 496 | "enablePullDownRefresh": false | 580 | "enablePullDownRefresh": false |
| 497 | } | 581 | } |
| 498 | }, { | 582 | }, { |
| @@ -596,7 +680,25 @@ | @@ -596,7 +680,25 @@ | ||
| 596 | } | 680 | } |
| 597 | 681 | ||
| 598 | } | 682 | } |
| 599 | - ] | 683 | + ,{ |
| 684 | + "path" : "newSetting/newSetting", | ||
| 685 | + "style" : | ||
| 686 | + { | ||
| 687 | + "navigationBarTitleText": "设置", | ||
| 688 | + "enablePullDownRefresh": false | ||
| 689 | + } | ||
| 690 | + | ||
| 691 | + } | ||
| 692 | + ,{ | ||
| 693 | + "path" : "richText/richText", | ||
| 694 | + "style" : | ||
| 695 | + { | ||
| 696 | + "navigationBarTitleText": "详情", | ||
| 697 | + "enablePullDownRefresh": false | ||
| 698 | + } | ||
| 699 | + | ||
| 700 | + } | ||
| 701 | + ] | ||
| 600 | }, | 702 | }, |
| 601 | { | 703 | { |
| 602 | "root": "page_admin", | 704 | "root": "page_admin", |
| @@ -691,6 +793,28 @@ | @@ -691,6 +793,28 @@ | ||
| 691 | 793 | ||
| 692 | } | 794 | } |
| 693 | ] | 795 | ] |
| 796 | + }, | ||
| 797 | + { | ||
| 798 | + "root": "new_tec", | ||
| 799 | + "pages": [{ | ||
| 800 | + "path" : "homePage/homePage", | ||
| 801 | + "style" : | ||
| 802 | + { | ||
| 803 | + "navigationBarTitleText": "首页", | ||
| 804 | + "enablePullDownRefresh": false | ||
| 805 | + } | ||
| 806 | + | ||
| 807 | + } | ||
| 808 | + ,{ | ||
| 809 | + "path" : "editInfo/editInfo", | ||
| 810 | + "style" : | ||
| 811 | + { | ||
| 812 | + "navigationBarTitleText": "修改资料", | ||
| 813 | + "enablePullDownRefresh": false | ||
| 814 | + } | ||
| 815 | + | ||
| 816 | + } | ||
| 817 | + ] | ||
| 694 | } | 818 | } |
| 695 | ] | 819 | ] |
| 696 | 820 |
| 1 | <template> | 1 | <template> |
| 2 | <view class="achievement"> | 2 | <view class="achievement"> |
| 3 | - <!-- 成绩 --> | ||
| 4 | - <view class="header-wrap"> | ||
| 5 | - <view class="tabs-wrap area flex"> | ||
| 6 | - <view :class="current==index?'tabs-active':'tabs-item'" v-for="(item,index) in tabs" :key="index" | ||
| 7 | - @tap="tabsClick(item,index)"> | ||
| 8 | - {{item}} | ||
| 9 | - </view> | 3 | + <view class="achievementV2"> |
| 4 | + <view class="achievementV2-1"> | ||
| 5 | + <view @tap="tabsClick(item,index)" :class="{'achievementV2-i': true, 'achievementV2-is': current==index}" v-for="(item,index) in tabs" :key="index">{{item}}</view> | ||
| 10 | </view> | 6 | </view> |
| 11 | - </view> | ||
| 12 | - | ||
| 13 | - <!-- 成绩查看 --> | ||
| 14 | - <view v-if="current==0"> | ||
| 15 | - <view class="content_wrap"> | ||
| 16 | - <view class="see-wrap area flex"> | ||
| 17 | - <view class=""> | ||
| 18 | - <view class=""> | ||
| 19 | - 公务员 | 7 | + <view v-if="current==0"> |
| 8 | + <view class="achievementV2-2"> | ||
| 9 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=0"> | ||
| 10 | + <view class="achievementV2-2-i-l"> | ||
| 11 | + <view class="achievementV2-2-i-l-1"> | ||
| 12 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon26.png" mode="widthFix"></image> | ||
| 13 | + </view> | ||
| 14 | + <view class="achievementV2-2-i-l-2"> | ||
| 15 | + <view class="achievementV2-2-i-l-2-1">公务员</view> | ||
| 16 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 17 | + <text class="achievementV2-2-i-l-2-2-1">行测</text> | ||
| 18 | + <text class="achievementV2-2-i-l-2-2-1">申论</text> | ||
| 19 | + </view> | ||
| 20 | + </view> | ||
| 20 | </view> | 21 | </view> |
| 21 | - <view class="describe"> | ||
| 22 | - 行测 | 申论 | ||
| 23 | - </view> | ||
| 24 | - </view> | ||
| 25 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=0"> | ||
| 26 | - 去查看 | 22 | + <u-icon name="arrow-right" color="#646464"></u-icon> |
| 27 | </view> | 23 | </view> |
| 28 | - </view> | ||
| 29 | - <view class="see-wrap area flex"> | ||
| 30 | - <view class=""> | ||
| 31 | - <view class=""> | ||
| 32 | - 事业单位成绩 | ||
| 33 | - </view> | ||
| 34 | - <view class="describe"> | ||
| 35 | - 职业能力测试 | 综合运用能力 | 24 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=1"> |
| 25 | + <view class="achievementV2-2-i-l"> | ||
| 26 | + <view class="achievementV2-2-i-l-1"> | ||
| 27 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 28 | + </view> | ||
| 29 | + <view class="achievementV2-2-i-l-2"> | ||
| 30 | + <view class="achievementV2-2-i-l-2-1">事业单位成绩</view> | ||
| 31 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 32 | + <text class="achievementV2-2-i-l-2-2-1">职业能力测试</text> | ||
| 33 | + <text class="achievementV2-2-i-l-2-2-1">综合运用能力</text> | ||
| 34 | + </view> | ||
| 35 | + </view> | ||
| 36 | </view> | 36 | </view> |
| 37 | + <u-icon name="arrow-right" color="#646464"></u-icon> | ||
| 37 | </view> | 38 | </view> |
| 38 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=1"> | ||
| 39 | - 去查看 | ||
| 40 | - </view> | ||
| 41 | - </view> | ||
| 42 | - <view class="see-wrap area flex"> | ||
| 43 | - <view class=""> | ||
| 44 | - <view class=""> | ||
| 45 | - 特岗教师成绩 | ||
| 46 | - </view> | ||
| 47 | - <view class="describe"> | ||
| 48 | - 专业课 | 39 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=2"> |
| 40 | + <view class="achievementV2-2-i-l"> | ||
| 41 | + <view class="achievementV2-2-i-l-1"> | ||
| 42 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 43 | + </view> | ||
| 44 | + <view class="achievementV2-2-i-l-2"> | ||
| 45 | + <view class="achievementV2-2-i-l-2-1">特岗教师成绩</view> | ||
| 46 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 47 | + <text class="achievementV2-2-i-l-2-2-1">专业课</text> | ||
| 48 | + </view> | ||
| 49 | + </view> | ||
| 49 | </view> | 50 | </view> |
| 50 | - </view> | ||
| 51 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_list/result_list?type=2"> | ||
| 52 | - 去查看 | 51 | + <u-icon name="arrow-right" color="#646464"></u-icon> |
| 53 | </view> | 52 | </view> |
| 54 | </view> | 53 | </view> |
| 55 | </view> | 54 | </view> |
| 56 | - </view> | ||
| 57 | - | ||
| 58 | - <!-- 目标指定 --> | ||
| 59 | - <view v-if="current==1"> | ||
| 60 | - <view class="content_wrap"> | ||
| 61 | - <view class="see-wrap area flex"> | ||
| 62 | - <view class=""> | ||
| 63 | - <view class=""> | ||
| 64 | - 公务员 | 55 | + <view v-if="current==1"> |
| 56 | + <view class="achievementV2-2"> | ||
| 57 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=0"> | ||
| 58 | + <view class="achievementV2-2-i-l"> | ||
| 59 | + <view class="achievementV2-2-i-l-1"> | ||
| 60 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon26.png" mode="widthFix"></image> | ||
| 61 | + </view> | ||
| 62 | + <view class="achievementV2-2-i-l-2"> | ||
| 63 | + <view class="achievementV2-2-i-l-2-1">公务员</view> | ||
| 64 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 65 | + <text class="achievementV2-2-i-l-2-2-1">行测</text> | ||
| 66 | + <text class="achievementV2-2-i-l-2-2-1">申论</text> | ||
| 67 | + </view> | ||
| 68 | + </view> | ||
| 65 | </view> | 69 | </view> |
| 66 | - <view class="describe"> | ||
| 67 | - 行测 | 申论 | ||
| 68 | - </view> | ||
| 69 | - </view> | ||
| 70 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=0"> | ||
| 71 | - 去制定 | 70 | + <u-icon name="arrow-right" color="#646464"></u-icon> |
| 72 | </view> | 71 | </view> |
| 73 | - </view> | ||
| 74 | - <view class="see-wrap area flex"> | ||
| 75 | - <view class=""> | ||
| 76 | - <view class=""> | ||
| 77 | - 事业单位成绩 | ||
| 78 | - </view> | ||
| 79 | - <view class="describe"> | ||
| 80 | - 职业能力测试 | 综合运用能力 | 72 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=1"> |
| 73 | + <view class="achievementV2-2-i-l"> | ||
| 74 | + <view class="achievementV2-2-i-l-1"> | ||
| 75 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 76 | + </view> | ||
| 77 | + <view class="achievementV2-2-i-l-2"> | ||
| 78 | + <view class="achievementV2-2-i-l-2-1">事业单位成绩</view> | ||
| 79 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 80 | + <text class="achievementV2-2-i-l-2-2-1">职业能力测试</text> | ||
| 81 | + <text class="achievementV2-2-i-l-2-2-1">综合运用能力</text> | ||
| 82 | + </view> | ||
| 83 | + </view> | ||
| 81 | </view> | 84 | </view> |
| 85 | + <u-icon name="arrow-right" color="#646464"></u-icon> | ||
| 82 | </view> | 86 | </view> |
| 83 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=1"> | ||
| 84 | - 去制定 | ||
| 85 | - </view> | ||
| 86 | - </view> | ||
| 87 | - <view class="see-wrap area flex"> | ||
| 88 | - <view class=""> | ||
| 89 | - <view class=""> | ||
| 90 | - 特岗教师成绩 | 87 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=2"> |
| 88 | + <view class="achievementV2-2-i-l"> | ||
| 89 | + <view class="achievementV2-2-i-l-1"> | ||
| 90 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 91 | + </view> | ||
| 92 | + <view class="achievementV2-2-i-l-2"> | ||
| 93 | + <view class="achievementV2-2-i-l-2-1">特岗教师成绩</view> | ||
| 94 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 95 | + <text class="achievementV2-2-i-l-2-2-1">专业课</text> | ||
| 96 | + </view> | ||
| 97 | + </view> | ||
| 91 | </view> | 98 | </view> |
| 92 | - <view class="describe"> | ||
| 93 | - 专业课 | ||
| 94 | - </view> | ||
| 95 | - </view> | ||
| 96 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/target_edit/target_edit?type=2"> | ||
| 97 | - 去制定 | 99 | + <u-icon name="arrow-right" color="#646464"></u-icon> |
| 98 | </view> | 100 | </view> |
| 99 | </view> | 101 | </view> |
| 100 | </view> | 102 | </view> |
| 101 | - </view> | ||
| 102 | - | ||
| 103 | - <!-- 成绩分析 --> | ||
| 104 | - <view v-if="current==2"> | ||
| 105 | - <view class="content_wrap"> | ||
| 106 | - <view class="see-wrap area flex"> | ||
| 107 | - <view class=""> | ||
| 108 | - <view class=""> | ||
| 109 | - 公务员 | ||
| 110 | - </view> | ||
| 111 | - <view class="describe"> | ||
| 112 | - 行测 | 申论 | 103 | + <view v-if="current==2"> |
| 104 | + <view class="achievementV2-2"> | ||
| 105 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=0"> | ||
| 106 | + <view class="achievementV2-2-i-l"> | ||
| 107 | + <view class="achievementV2-2-i-l-1"> | ||
| 108 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon26.png" mode="widthFix"></image> | ||
| 109 | + </view> | ||
| 110 | + <view class="achievementV2-2-i-l-2"> | ||
| 111 | + <view class="achievementV2-2-i-l-2-1">公务员</view> | ||
| 112 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 113 | + <text class="achievementV2-2-i-l-2-2-1">行测</text> | ||
| 114 | + <text class="achievementV2-2-i-l-2-2-1">申论</text> | ||
| 115 | + </view> | ||
| 116 | + </view> | ||
| 113 | </view> | 117 | </view> |
| 118 | + <u-icon name="arrow-right" color="#646464"></u-icon> | ||
| 114 | </view> | 119 | </view> |
| 115 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=0"> | ||
| 116 | - 去查看 | ||
| 117 | - </view> | ||
| 118 | - </view> | ||
| 119 | - <view class="see-wrap area flex"> | ||
| 120 | - <view class=""> | ||
| 121 | - <view class=""> | ||
| 122 | - 事业单位成绩 | ||
| 123 | - </view> | ||
| 124 | - <view class="describe"> | ||
| 125 | - 职业能力测试 | 综合运用能力 | 120 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=1"> |
| 121 | + <view class="achievementV2-2-i-l"> | ||
| 122 | + <view class="achievementV2-2-i-l-1"> | ||
| 123 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 124 | + </view> | ||
| 125 | + <view class="achievementV2-2-i-l-2"> | ||
| 126 | + <view class="achievementV2-2-i-l-2-1">事业单位成绩</view> | ||
| 127 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 128 | + <text class="achievementV2-2-i-l-2-2-1">职业能力测试</text> | ||
| 129 | + <text class="achievementV2-2-i-l-2-2-1">综合运用能力</text> | ||
| 130 | + </view> | ||
| 131 | + </view> | ||
| 126 | </view> | 132 | </view> |
| 133 | + <u-icon name="arrow-right" color="#646464"></u-icon> | ||
| 127 | </view> | 134 | </view> |
| 128 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=1"> | ||
| 129 | - 去查看 | ||
| 130 | - </view> | ||
| 131 | - </view> | ||
| 132 | - <view class="see-wrap area flex"> | ||
| 133 | - <view class=""> | ||
| 134 | - <view class=""> | ||
| 135 | - 特岗教师成绩 | 135 | + <view class="achievementV2-2-i" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=2"> |
| 136 | + <view class="achievementV2-2-i-l"> | ||
| 137 | + <view class="achievementV2-2-i-l-1"> | ||
| 138 | + <image class="achievementV2-2-i-l-1-i" src="@/static/imagesV2/icon27.png" mode="widthFix"></image> | ||
| 139 | + </view> | ||
| 140 | + <view class="achievementV2-2-i-l-2"> | ||
| 141 | + <view class="achievementV2-2-i-l-2-1">特岗教师成绩</view> | ||
| 142 | + <view class="achievementV2-2-i-l-2-2"> | ||
| 143 | + <text class="achievementV2-2-i-l-2-2-1">专业课</text> | ||
| 144 | + </view> | ||
| 145 | + </view> | ||
| 136 | </view> | 146 | </view> |
| 137 | - <view class="describe"> | ||
| 138 | - 专业课 | ||
| 139 | - </view> | ||
| 140 | - </view> | ||
| 141 | - <view class="go-see" @click="$service.jump" data-url="/pagesStu/result_ana/result_ana?type=2"> | ||
| 142 | - 去查看 | 147 | + <u-icon name="arrow-right" color="#646464"></u-icon> |
| 143 | </view> | 148 | </view> |
| 144 | </view> | 149 | </view> |
| 145 | </view> | 150 | </view> |
| @@ -167,6 +172,91 @@ | @@ -167,6 +172,91 @@ | ||
| 167 | .achievement { | 172 | .achievement { |
| 168 | position: relative; | 173 | position: relative; |
| 169 | } | 174 | } |
| 175 | + .achievementV2{ | ||
| 176 | + .achievementV2-1{ | ||
| 177 | + border-top:1rpx solid #f3f4f6; | ||
| 178 | + display: flex; | ||
| 179 | + background: #fff; | ||
| 180 | + justify-content: space-around; | ||
| 181 | + .achievementV2-i{ | ||
| 182 | + font-size: 28rpx; | ||
| 183 | + color: #323232; | ||
| 184 | + height: 88rpx; | ||
| 185 | + display: flex; | ||
| 186 | + align-items: center; | ||
| 187 | + justify-content: center; | ||
| 188 | + } | ||
| 189 | + .achievementV2-is{ | ||
| 190 | + color: #2D81FF; | ||
| 191 | + position: relative; | ||
| 192 | + &:before{ | ||
| 193 | + content: ''; | ||
| 194 | + position: absolute; | ||
| 195 | + bottom: 0; | ||
| 196 | + left: 50%; | ||
| 197 | + background-image: url(@/static/imagesV2/icon23.png); | ||
| 198 | + background-size: 100% 100%; | ||
| 199 | + transform: translateX(-50%); | ||
| 200 | + height: 24rpx; | ||
| 201 | + width: 24rpx; | ||
| 202 | + } | ||
| 203 | + } | ||
| 204 | + } | ||
| 205 | + .achievementV2-2{ | ||
| 206 | + padding: 20rpx 25rpx; | ||
| 207 | + .achievementV2-2-i{ | ||
| 208 | + display: flex; | ||
| 209 | + justify-content: space-between; | ||
| 210 | + align-items: center; | ||
| 211 | + background: #FFFFFF; | ||
| 212 | + border-radius: 20rpx; | ||
| 213 | + padding: 34rpx 29rpx; | ||
| 214 | + margin-bottom: 19rpx; | ||
| 215 | + .achievementV2-2-i-l{ | ||
| 216 | + display: flex; | ||
| 217 | + .achievementV2-2-i-l-1{ | ||
| 218 | + .achievementV2-2-i-l-1-i{ | ||
| 219 | + height: 90rpx; | ||
| 220 | + width: 90rpx; | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + .achievementV2-2-i-l-2{ | ||
| 224 | + margin-left: 29rpx; | ||
| 225 | + display: flex; | ||
| 226 | + flex-direction: column; | ||
| 227 | + justify-content: space-between; | ||
| 228 | + .achievementV2-2-i-l-2-1{ | ||
| 229 | + font-size: 30rpx; | ||
| 230 | + color: #323232; | ||
| 231 | + } | ||
| 232 | + .achievementV2-2-i-l-2-2{ | ||
| 233 | + font-size: 26rpx; | ||
| 234 | + color: #979797; | ||
| 235 | + .achievementV2-2-i-l-2-2-1{ | ||
| 236 | + position: relative; | ||
| 237 | + padding: 0 17rpx; | ||
| 238 | + &:before{ | ||
| 239 | + content: ''; | ||
| 240 | + height: 23rpx; | ||
| 241 | + border-left: 1rpx #E6E6E6 solid; | ||
| 242 | + position: absolute; | ||
| 243 | + top: 50%; | ||
| 244 | + transform: translateY(-50%); | ||
| 245 | + right: 0; | ||
| 246 | + } | ||
| 247 | + &:first-child{ | ||
| 248 | + padding-left: 0; | ||
| 249 | + } | ||
| 250 | + &:last-child{ | ||
| 251 | + padding-right: 0; | ||
| 252 | + } | ||
| 253 | + } | ||
| 254 | + } | ||
| 255 | + } | ||
| 256 | + } | ||
| 257 | + } | ||
| 258 | + } | ||
| 259 | + } | ||
| 170 | 260 | ||
| 171 | .tabs-wrap { | 261 | .tabs-wrap { |
| 172 | justify-content: space-around; | 262 | justify-content: space-around; |
| @@ -24,16 +24,16 @@ | @@ -24,16 +24,16 @@ | ||
| 24 | </view> | 24 | </view> |
| 25 | </view> | 25 | </view> |
| 26 | <view class="contentV2-2"> | 26 | <view class="contentV2-2"> |
| 27 | - <view class="contentV2-2-l"> | 27 | + <view class="contentV2-2-l" @click="toBigShots"> |
| 28 | <image class="contentV2-2-l-i" src="@/static/imagesV2/icon2.png" mode="widthFix"></image> | 28 | <image class="contentV2-2-l-i" src="@/static/imagesV2/icon2.png" mode="widthFix"></image> |
| 29 | <text class="contentV2-2-l-t">大咖课</text> | 29 | <text class="contentV2-2-l-t">大咖课</text> |
| 30 | </view> | 30 | </view> |
| 31 | <view class="contentV2-2-r"> | 31 | <view class="contentV2-2-r"> |
| 32 | - <view class="contentV2-2-r-1-1"> | 32 | + <view class="contentV2-2-r-1-1" @click="toAnswer"> |
| 33 | <text class="contentV2-2-r-1-1-l">在线答疑</text> | 33 | <text class="contentV2-2-r-1-1-l">在线答疑</text> |
| 34 | <image class="contentV2-2-r-1-1-i" src="@/static/imagesV2/icon3.png"></image> | 34 | <image class="contentV2-2-r-1-1-i" src="@/static/imagesV2/icon3.png"></image> |
| 35 | </view> | 35 | </view> |
| 36 | - <view class="contentV2-2-r-1-2"> | 36 | + <view class="contentV2-2-r-1-2" @click="toMailbox"> |
| 37 | <text class="contentV2-2-r-1-1-l">校长信箱</text> | 37 | <text class="contentV2-2-r-1-1-l">校长信箱</text> |
| 38 | <image class="contentV2-2-r-1-1-i" src="@/static/imagesV2/icon4.png"></image> | 38 | <image class="contentV2-2-r-1-1-i" src="@/static/imagesV2/icon4.png"></image> |
| 39 | </view> | 39 | </view> |
| @@ -64,14 +64,18 @@ | @@ -64,14 +64,18 @@ | ||
| 64 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon10.png" mode="widthFix"></image> | 64 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon10.png" mode="widthFix"></image> |
| 65 | <view class="contentV2-3-item-l">申请审批结果</view> | 65 | <view class="contentV2-3-item-l">申请审批结果</view> |
| 66 | </view> | 66 | </view> |
| 67 | - <view class="contentV2-3-item"> | 67 | + <view class="contentV2-3-item" @click="$service.jump" data-url="/pages_v2/stu_jspf_index/stu_jspf_index"> |
| 68 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon11.png" mode="widthFix"></image> | 68 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon11.png" mode="widthFix"></image> |
| 69 | <view class="contentV2-3-item-l">评价反馈</view> | 69 | <view class="contentV2-3-item-l">评价反馈</view> |
| 70 | </view> | 70 | </view> |
| 71 | - <view class="contentV2-3-item"> | 71 | + <view class="contentV2-3-item" @click="$service.jump" data-url="/page_admin/praise_andLike/praise_andLike"> |
| 72 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon12.png" mode="widthFix"></image> | 72 | <image class="contentV2-3-item-i" src="@/static/imagesV2/icon12.png" mode="widthFix"></image> |
| 73 | <view class="contentV2-3-item-l">点击表扬</view> | 73 | <view class="contentV2-3-item-l">点击表扬</view> |
| 74 | </view> | 74 | </view> |
| 75 | + <view class="contentV2-3-item" @click="toPayment"> | ||
| 76 | + <image class="contentV2-3-item-i" src="@/static/imagesV2/icon46.png" mode="widthFix"></image> | ||
| 77 | + <view class="contentV2-3-item-l">学员缴费</view> | ||
| 78 | + </view> | ||
| 75 | </view> | 79 | </view> |
| 76 | </view> | 80 | </view> |
| 77 | <view v-if="userDatas" class="header-wrap"> | 81 | <view v-if="userDatas" class="header-wrap"> |
| @@ -275,6 +279,26 @@ | @@ -275,6 +279,26 @@ | ||
| 275 | 279 | ||
| 276 | }, | 280 | }, |
| 277 | methods: { | 281 | methods: { |
| 282 | + toMailbox() { | ||
| 283 | + uni.navigateTo({ | ||
| 284 | + url: '/pagesB/twoMailbox/twoMailbox' | ||
| 285 | + }) | ||
| 286 | + }, | ||
| 287 | + toPayment() { | ||
| 288 | + uni.navigateTo({ | ||
| 289 | + url: '/pagesStu/payment/payment' | ||
| 290 | + }) | ||
| 291 | + }, | ||
| 292 | + toBigShots() { | ||
| 293 | + uni.navigateTo({ | ||
| 294 | + url: '/pagesStu/bigShots/bigShots' | ||
| 295 | + }) | ||
| 296 | + }, | ||
| 297 | + toAnswer() { | ||
| 298 | + uni.navigateTo({ | ||
| 299 | + url: '/pagesStu/answer/answer' | ||
| 300 | + }) | ||
| 301 | + }, | ||
| 278 | openHonorWallRef() { | 302 | openHonorWallRef() { |
| 279 | this.$refs.honorWallRef.open() | 303 | this.$refs.honorWallRef.open() |
| 280 | }, | 304 | }, |
| @@ -37,6 +37,10 @@ | @@ -37,6 +37,10 @@ | ||
| 37 | }) | 37 | }) |
| 38 | }else{ | 38 | }else{ |
| 39 | var identity=uni.getStorageSync('identity') | 39 | var identity=uni.getStorageSync('identity') |
| 40 | + // uni.reLaunch({ | ||
| 41 | + // url:'/new_tec/homePage/homePage' | ||
| 42 | + // }) | ||
| 43 | + // return | ||
| 40 | if(identity==2){ | 44 | if(identity==2){ |
| 41 | uni.reLaunch({ | 45 | uni.reLaunch({ |
| 42 | url:'/pages/tch_index/tch_index' | 46 | url:'/pages/tch_index/tch_index' |
| @@ -196,6 +196,10 @@ | @@ -196,6 +196,10 @@ | ||
| 196 | title: '登陆成功' | 196 | title: '登陆成功' |
| 197 | }) | 197 | }) |
| 198 | setTimeout(function(){ | 198 | setTimeout(function(){ |
| 199 | + // uni.reLaunch({ | ||
| 200 | + // url:'/new_tec/homePage/homePage' | ||
| 201 | + // }) | ||
| 202 | + // return | ||
| 199 | if(identity==2){ | 203 | if(identity==2){ |
| 200 | uni.reLaunch({ | 204 | uni.reLaunch({ |
| 201 | url:'/pages/tch_index/tch_index' | 205 | url:'/pages/tch_index/tch_index' |
| 1 | <template> | 1 | <template> |
| 2 | <view class="profile"> | 2 | <view class="profile"> |
| 3 | + <CustomReturn title="我的" color="#323232" bgColor="none" /> | ||
| 4 | + <view class="profileV2"> | ||
| 5 | + <image class="profileV2-bg" src="@/static/imagesV2/icon29.png" mode="widthFix"></image> | ||
| 6 | + <PaddingTopB> | ||
| 7 | + <view class="profileV2-c"> | ||
| 8 | + <view class="profileV2-c-1-c"> | ||
| 9 | + <view class="profileV2-c-1"> | ||
| 10 | + <view class="profileV2-c-1-l" @tap="$sjuNav.navigateTo(`/pagesB/oneSetting/oneSetting`)"> | ||
| 11 | + <view class="profileV2-c-1-l-h"> | ||
| 12 | + <image class="profileV2-c-1-l-h-i" :src="$service.getimg(mymsg.img)" mode="widthFix"></image> | ||
| 13 | + </view> | ||
| 14 | + <view class="profileV2-c-1-l-t"> | ||
| 15 | + <text>{{mymsg.name||''}}</text> | ||
| 16 | + <u-icon name="edit-pen" size="30" color="#c0c0c0"></u-icon> | ||
| 17 | + </view> | ||
| 18 | + </view> | ||
| 19 | + <view class="profileV2-c-1-r" @click="go_txz"> | ||
| 20 | + 通行证 | ||
| 21 | + </view> | ||
| 22 | + </view> | ||
| 23 | + <view class="profileV2-c-1-c-2"> | ||
| 24 | + <view class="profileV2-c-1-c-2-i">{{mymsg.study_code||''}}</view> | ||
| 25 | + <view class="profileV2-c-1-c-2-i">{{mymsg.className||''}}</view> | ||
| 26 | + </view> | ||
| 27 | + </view> | ||
| 28 | + <view class="profileV2-c-2" @click="gozs" data-url="/pagesStu/stu_live/stu_live"> | ||
| 29 | + <view class="profileV2-c-2-1"> | ||
| 30 | + <view class="profileV2-c-2-1-l"> | ||
| 31 | + <image class="profileV2-c-2-1-l-i" src="@/static/imagesV2/icon31.png" mode="widthFix"></image> | ||
| 32 | + <text class="profileV2-c-2-1-l-t">我的住宿办理</text> | ||
| 33 | + </view> | ||
| 34 | + <image class="profileV2-c-2-1-r" src="@/static/imagesV2/icon30.png" mode="widthFix"></image> | ||
| 35 | + </view> | ||
| 36 | + <view class="profileV2-c-2-2"> | ||
| 37 | + <view class="profileV2-c-2-2-i"> | ||
| 38 | + <view class="profileV2-c-2-2-i-1">我的床位</view> | ||
| 39 | + <view class="profileV2-c-2-2-i-2">{{mymsg.bed_title||''}}</view> | ||
| 40 | + </view> | ||
| 41 | + <view class="profileV2-c-2-2-i"> | ||
| 42 | + <view class="profileV2-c-2-2-i-1">手机箱</view> | ||
| 43 | + <view class="profileV2-c-2-2-i-2">{{mymsg.phone_box||''}}</view> | ||
| 44 | + </view> | ||
| 45 | + </view> | ||
| 46 | + </view> | ||
| 47 | + <view class="profileV2-c-3"> | ||
| 48 | + <view class="profileV2-c-3-i"> | ||
| 49 | + <view class="profileV2-c-3-i-l"> | ||
| 50 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon32.png" mode="widthFix"></image> | ||
| 51 | + <text class="profileV2-c-3-i-l-t">听课座位</text> | ||
| 52 | + </view> | ||
| 53 | + <view class="profileV2-c-3-i-r">{{mymsg.big_seat||''}}</view> | ||
| 54 | + </view> | ||
| 55 | + <view class="profileV2-c-3-i"> | ||
| 56 | + <view class="profileV2-c-3-i-l"> | ||
| 57 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon33.png" mode="widthFix"></image> | ||
| 58 | + <text class="profileV2-c-3-i-l-t">我的班级</text> | ||
| 59 | + </view> | ||
| 60 | + <view class="profileV2-c-3-i-r">{{mymsg.className||''}}</view> | ||
| 61 | + </view> | ||
| 62 | + <view class="profileV2-c-3-i"> | ||
| 63 | + <view class="profileV2-c-3-i-l"> | ||
| 64 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon34.png" mode="widthFix"></image> | ||
| 65 | + <text class="profileV2-c-3-i-l-t">班主任电话</text> | ||
| 66 | + </view> | ||
| 67 | + <view class="profileV2-c-3-i-r">{{mymsg.teacher_phone||''}}</view> | ||
| 68 | + </view> | ||
| 69 | + <view class="profileV2-c-3-i"> | ||
| 70 | + <view class="profileV2-c-3-i-l"> | ||
| 71 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon35.png" mode="widthFix"></image> | ||
| 72 | + <text class="profileV2-c-3-i-l-t">课程有效期</text> | ||
| 73 | + </view> | ||
| 74 | + <view class="profileV2-c-3-i-r">{{mymsg.end_time||''}}</view> | ||
| 75 | + </view> | ||
| 76 | + <view class="profileV2-c-3-i" @click="toAnswer"> | ||
| 77 | + <view class="profileV2-c-3-i-l"> | ||
| 78 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon36.png" mode="widthFix"></image> | ||
| 79 | + <text class="profileV2-c-3-i-l-t">我的提问</text> | ||
| 80 | + </view> | ||
| 81 | + <u-icon name="arrow-right"></u-icon> | ||
| 82 | + </view> | ||
| 83 | + <view class="profileV2-c-3-i" @tap="$sjuNav.navigateTo(`/pagesB/newSetting/newSetting`)"> | ||
| 84 | + <view class="profileV2-c-3-i-l"> | ||
| 85 | + <image class="profileV2-c-3-i-l-i" src="@/static/imagesV2/icon37.png" mode="widthFix"></image> | ||
| 86 | + <text class="profileV2-c-3-i-l-t">设置</text> | ||
| 87 | + </view> | ||
| 88 | + <u-icon name="arrow-right"></u-icon> | ||
| 89 | + </view> | ||
| 90 | + </view> | ||
| 91 | + </view> | ||
| 92 | + </PaddingTopB> | ||
| 93 | + </view> | ||
| 3 | <!-- 我的 --> | 94 | <!-- 我的 --> |
| 4 | <!-- 头部卡片 --> | 95 | <!-- 头部卡片 --> |
| 5 | <view v-if="mymsg" class="header-wrap"> | 96 | <view v-if="mymsg" class="header-wrap"> |
| @@ -26,7 +117,7 @@ | @@ -26,7 +117,7 @@ | ||
| 26 | </view> | 117 | </view> |
| 27 | </view> | 118 | </view> |
| 28 | 119 | ||
| 29 | - <view class="content"> | 120 | + <view> |
| 30 | <!-- 我的住宿办理 --> | 121 | <!-- 我的住宿办理 --> |
| 31 | <view class="handle-wrap area"> | 122 | <view class="handle-wrap area"> |
| 32 | <image class="handle-img" src="/static/images/wdzsbl.png" mode="aspectFit" /> | 123 | <image class="handle-img" src="/static/images/wdzsbl.png" mode="aspectFit" /> |
| @@ -160,12 +251,18 @@ | @@ -160,12 +251,18 @@ | ||
| 160 | 251 | ||
| 161 | <script> | 252 | <script> |
| 162 | import Vue from 'vue' | 253 | import Vue from 'vue' |
| 254 | + import CustomReturn from "@/components/CustomReturn/index.vue" | ||
| 255 | + import PaddingTopB from "@/components/PaddingTopB/index.vue" | ||
| 163 | import { | 256 | import { |
| 164 | mapState, | 257 | mapState, |
| 165 | mapMutations | 258 | mapMutations |
| 166 | } from 'vuex' | 259 | } from 'vuex' |
| 167 | var that | 260 | var that |
| 168 | export default { | 261 | export default { |
| 262 | + components: { | ||
| 263 | + CustomReturn, | ||
| 264 | + PaddingTopB | ||
| 265 | + }, | ||
| 169 | data() { | 266 | data() { |
| 170 | return { | 267 | return { |
| 171 | shownum:0, | 268 | shownum:0, |
| @@ -189,6 +286,11 @@ | @@ -189,6 +286,11 @@ | ||
| 189 | ...mapState(['hasLogin', 'forcedLogin', 'userDatas']), | 286 | ...mapState(['hasLogin', 'forcedLogin', 'userDatas']), |
| 190 | }, | 287 | }, |
| 191 | methods: { | 288 | methods: { |
| 289 | + toAnswer() { | ||
| 290 | + uni.navigateTo({ | ||
| 291 | + url: '/pagesStu/myQuestion/myQuestion' | ||
| 292 | + }) | ||
| 293 | + }, | ||
| 192 | go_txz(){ | 294 | go_txz(){ |
| 193 | //出入证审核状态 1、未上传 2、待审核 3、审核通过 4、审核不通过 | 295 | //出入证审核状态 1、未上传 2、待审核 3、审核通过 4、审核不通过 |
| 194 | if(this.userDatas.pass_type==1||this.userDatas.pass_type==3){ | 296 | if(this.userDatas.pass_type==1||this.userDatas.pass_type==3){ |
| @@ -310,8 +412,178 @@ | @@ -310,8 +412,178 @@ | ||
| 310 | <style lang="scss" scoped> | 412 | <style lang="scss" scoped> |
| 311 | .profile { | 413 | .profile { |
| 312 | position: relative; | 414 | position: relative; |
| 415 | + background-color: #f3f4f6; | ||
| 416 | + } | ||
| 417 | + .profileV2{ | ||
| 418 | + .profileV2-c{ | ||
| 419 | + width: 100%; | ||
| 420 | + padding: 0 25rpx; | ||
| 421 | + box-sizing: border-box; | ||
| 422 | + .profileV2-c-1-c{ | ||
| 423 | + background: #FFFFFF; | ||
| 424 | + border-radius: 20rpx; | ||
| 425 | + padding: 20rpx 35rpx; | ||
| 426 | + position: relative; | ||
| 427 | + margin-top: 60rpx; | ||
| 428 | + .profileV2-c-1{ | ||
| 429 | + display: flex; | ||
| 430 | + justify-content: space-between; | ||
| 431 | + align-items: center; | ||
| 432 | + .profileV2-c-1-l{ | ||
| 433 | + display: flex; | ||
| 434 | + .profileV2-c-1-l-h{ | ||
| 435 | + top: 0; | ||
| 436 | + border-radius: 200%; | ||
| 437 | + width: 146rpx; | ||
| 438 | + .profileV2-c-1-l-h-i{ | ||
| 439 | + height: 146rpx; | ||
| 440 | + width: 146rpx; | ||
| 441 | + border: 8rpx solid #fff; | ||
| 442 | + border-radius: 200%; | ||
| 443 | + transform: translateY(-50%); | ||
| 444 | + position: absolute; | ||
| 445 | + } | ||
| 446 | + } | ||
| 447 | + .profileV2-c-1-l-t{ | ||
| 448 | + font-size: 36rpx; | ||
| 449 | + color: #323232; | ||
| 450 | + font-weight: bold; | ||
| 451 | + margin-left: 28rpx; | ||
| 452 | + display: flex; | ||
| 453 | + align-items: center; | ||
| 454 | + } | ||
| 455 | + } | ||
| 456 | + .profileV2-c-1-r{ | ||
| 457 | + font-size: 24rpx; | ||
| 458 | + color: #FFFFFF; | ||
| 459 | + border-radius: 200rpx; | ||
| 460 | + height: 62rpx; | ||
| 461 | + line-height: 62rpx; | ||
| 462 | + width: 150rpx; | ||
| 463 | + text-align: center; | ||
| 464 | + background: linear-gradient(0deg, #2D81FF 0%, #458FFE 100%); | ||
| 465 | + } | ||
| 466 | + } | ||
| 467 | + .profileV2-c-1-c-2{ | ||
| 468 | + margin-top: 40rpx; | ||
| 469 | + display: flex; | ||
| 470 | + flex-wrap: wrap; | ||
| 471 | + .profileV2-c-1-c-2-i{ | ||
| 472 | + line-height: 46rpx; | ||
| 473 | + font-size: 26rpx; | ||
| 474 | + color: #3888FE; | ||
| 475 | + background: #EFF5FF; | ||
| 476 | + border-radius: 5rpx; | ||
| 477 | + padding: 0 18rpx; | ||
| 478 | + margin-right: 20rpx; | ||
| 479 | + } | ||
| 480 | + } | ||
| 481 | + } | ||
| 482 | + .profileV2-c-2{ | ||
| 483 | + background: linear-gradient(0deg, #2D81FF 0%, #458FFE 100%); | ||
| 484 | + padding: 20rpx; | ||
| 485 | + border-radius: 20rpx; | ||
| 486 | + margin-top: 26rpx; | ||
| 487 | + .profileV2-c-2-1{ | ||
| 488 | + display: flex; | ||
| 489 | + justify-content: space-between; | ||
| 490 | + align-items: center; | ||
| 491 | + .profileV2-c-2-1-l{ | ||
| 492 | + display: flex; | ||
| 493 | + align-items: center; | ||
| 494 | + .profileV2-c-2-1-l-i{ | ||
| 495 | + height: 38rpx; | ||
| 496 | + width: 38rpx; | ||
| 497 | + } | ||
| 498 | + .profileV2-c-2-1-l-t{ | ||
| 499 | + font-size: 30rpx; | ||
| 500 | + color: #FFFFFF; | ||
| 501 | + margin-left: 22rpx; | ||
| 502 | + font-weight: bold; | ||
| 503 | + } | ||
| 504 | + } | ||
| 505 | + .profileV2-c-2-1-r{ | ||
| 506 | + height: 32rpx; | ||
| 507 | + width: 32rpx; | ||
| 508 | + } | ||
| 509 | + } | ||
| 510 | + .profileV2-c-2-2{ | ||
| 511 | + height: 159rpx; | ||
| 512 | + border-radius: 20rpx; | ||
| 513 | + background: linear-gradient(0deg, #E5EFFF 0%, #FFFFFF 45%); | ||
| 514 | + display: flex; | ||
| 515 | + margin-top: 30rpx; | ||
| 516 | + .profileV2-c-2-2-i{ | ||
| 517 | + width: 50%; | ||
| 518 | + position: relative; | ||
| 519 | + display: flex; | ||
| 520 | + flex-direction: column; | ||
| 521 | + justify-content: center; | ||
| 522 | + align-items: center; | ||
| 523 | + &:first-child{ | ||
| 524 | + &:before{ | ||
| 525 | + content: ''; | ||
| 526 | + position: absolute; | ||
| 527 | + right: 0; | ||
| 528 | + height: 50rpx; | ||
| 529 | + border-left: 1rpx solid #D2E9FF; | ||
| 530 | + top: 50%; | ||
| 531 | + transform: translateY(-50%); | ||
| 532 | + } | ||
| 533 | + } | ||
| 534 | + .profileV2-c-2-2-i-1{ | ||
| 535 | + font-size: 24rpx; | ||
| 536 | + color: #646464; | ||
| 537 | + } | ||
| 538 | + .profileV2-c-2-2-i-2{ | ||
| 539 | + font-size: 32rpx; | ||
| 540 | + margin-top: 15rpx; | ||
| 541 | + color: #323232; | ||
| 542 | + font-weight: bold; | ||
| 543 | + } | ||
| 544 | + } | ||
| 545 | + } | ||
| 546 | + } | ||
| 547 | + .profileV2-c-3{ | ||
| 548 | + background: #FFFFFF; | ||
| 549 | + border-radius: 12rpx; | ||
| 550 | + padding: 0 40rpx; | ||
| 551 | + margin-top: 26rpx; | ||
| 552 | + .profileV2-c-3-i{ | ||
| 553 | + height: 115rpx; | ||
| 554 | + border-bottom: 1rpx solid #F3F3F7; | ||
| 555 | + display: flex; | ||
| 556 | + justify-content: space-between; | ||
| 557 | + align-items: center; | ||
| 558 | + .profileV2-c-3-i-l{ | ||
| 559 | + display: flex; | ||
| 560 | + align-items: center; | ||
| 561 | + .profileV2-c-3-i-l-i{ | ||
| 562 | + height: 44rpx; | ||
| 563 | + width: 44rpx; | ||
| 564 | + } | ||
| 565 | + .profileV2-c-3-i-l-t{ | ||
| 566 | + margin-left: 29rpx; | ||
| 567 | + } | ||
| 568 | + } | ||
| 569 | + .profileV2-c-3-i-r{ | ||
| 570 | + color: #979797; | ||
| 571 | + font-size: 28rpx; | ||
| 572 | + } | ||
| 573 | + &:last-child{ | ||
| 574 | + border-bottom: none; | ||
| 575 | + } | ||
| 576 | + } | ||
| 577 | + } | ||
| 578 | + } | ||
| 579 | + .profileV2-bg{ | ||
| 580 | + height: 360rpx; | ||
| 581 | + width: 100%; | ||
| 582 | + position: absolute; | ||
| 583 | + top: 0; | ||
| 584 | + left: 0; | ||
| 585 | + } | ||
| 313 | } | 586 | } |
| 314 | - | ||
| 315 | /* 头部卡片 */ | 587 | /* 头部卡片 */ |
| 316 | .header-all { | 588 | .header-all { |
| 317 | min-height: 176rpx; | 589 | min-height: 176rpx; |
pagesB/newSetting/newSetting.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="oneSetting"> | ||
| 3 | + <view class="oneSettingV2"> | ||
| 4 | + <view class="oneSettingV2-c"> | ||
| 5 | + <view class="oneSettingV2-c-1" @click="toRichText"> | ||
| 6 | + <view class="oneSettingV2-c-1-l">隐私政策</view> | ||
| 7 | + <view class="oneSettingV2-c-1-r"> | ||
| 8 | + <u-icon name="arrow-right"></u-icon> | ||
| 9 | + </view> | ||
| 10 | + </view> | ||
| 11 | + <view class="oneSettingV2-c-1" @click="toRichText"> | ||
| 12 | + <view class="oneSettingV2-c-1-l">用户协议</view> | ||
| 13 | + <view class="oneSettingV2-c-1-r"> | ||
| 14 | + <u-icon name="arrow-right"></u-icon> | ||
| 15 | + </view> | ||
| 16 | + </view> | ||
| 17 | + <!-- #ifdef APP-PLUS --> | ||
| 18 | + <view class="oneSettingV2-c-1"> | ||
| 19 | + <view class="oneSettingV2-c-1-l">清理缓存</view> | ||
| 20 | + <view class="oneSettingV2-c-1-r"> | ||
| 21 | + <text>{{ cache }}</text> | ||
| 22 | + <u-icon name="arrow-right"></u-icon> | ||
| 23 | + </view> | ||
| 24 | + </view> | ||
| 25 | + <view class="oneSettingV2-c-1"> | ||
| 26 | + <view class="oneSettingV2-c-1-l">检查版本</view> | ||
| 27 | + <view class="oneSettingV2-c-1-r"> | ||
| 28 | + <u-icon name="arrow-right"></u-icon> | ||
| 29 | + </view> | ||
| 30 | + </view> | ||
| 31 | + <!-- #endif --> | ||
| 32 | + </view> | ||
| 33 | + <view class="oneSettingV2-c-su" @click="logout_fuc">退出登录</view> | ||
| 34 | + </view> | ||
| 35 | + </view> | ||
| 36 | +</template> | ||
| 37 | + | ||
| 38 | +<script> | ||
| 39 | + import Vue from 'vue' | ||
| 40 | + import { | ||
| 41 | + mapState, | ||
| 42 | + mapMutations | ||
| 43 | + } from 'vuex' | ||
| 44 | + var that | ||
| 45 | + export default { | ||
| 46 | + data() { | ||
| 47 | + return { | ||
| 48 | + imgUrl: '/static/images/tx.png', | ||
| 49 | + userName: "学员01", | ||
| 50 | + gender: "男", | ||
| 51 | + studentNum: "ZZ202012058", | ||
| 52 | + identity:0, | ||
| 53 | + userdata:{ | ||
| 54 | + img:'' | ||
| 55 | + }, | ||
| 56 | + cache: '' | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + onLoad(option) { | ||
| 60 | + that=this | ||
| 61 | + console.log(option); | ||
| 62 | + this.identity=uni.getStorageSync('identity') | ||
| 63 | + this.userdata=this.userDatas | ||
| 64 | + // #ifdef APP-PLUS | ||
| 65 | + this.getCache() | ||
| 66 | + // #endif | ||
| 67 | + }, | ||
| 68 | + computed: { | ||
| 69 | + ...mapState(['hasLogin', 'forcedLogin', 'userName', 'userinfo','nowtime', 'userDatas']), | ||
| 70 | + }, | ||
| 71 | + methods: { | ||
| 72 | + toRichText() { | ||
| 73 | + uni.navigateTo({ | ||
| 74 | + url: '/pagesB/richText/richText' | ||
| 75 | + }) | ||
| 76 | + }, | ||
| 77 | + getCache(){ | ||
| 78 | + // 获取版本号 | ||
| 79 | + const that = this | ||
| 80 | + plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) { | ||
| 81 | + that.version = widgetInfo.version; | ||
| 82 | + }) | ||
| 83 | + plus.cache.calculate((size) => { | ||
| 84 | + if(size<1024){ | ||
| 85 | + this.cache=size+'B'; | ||
| 86 | + } | ||
| 87 | + else if(size/1024>=1 && size/1024/1024<1){ | ||
| 88 | + this.cache= Math.floor(size/1024*100)/100+'KB'; | ||
| 89 | + } | ||
| 90 | + else if(size/1024/1024>=1){ | ||
| 91 | + this.cache=Math.floor(size/1024/1024*100)/100+'M'; | ||
| 92 | + } | ||
| 93 | + console.log(this.cache) | ||
| 94 | + }) | ||
| 95 | + }, | ||
| 96 | + // 更新头像 | ||
| 97 | + myUpload(rsp) { | ||
| 98 | + var avatar = rsp.path | ||
| 99 | + // console.log(avatar) | ||
| 100 | + // Vue.set(that.userdata,'head_portrait',avatar) | ||
| 101 | + // return | ||
| 102 | + this.$service.wx_upload(avatar).then(res => { | ||
| 103 | + | ||
| 104 | + that.btn_kg = 0 | ||
| 105 | + console.log(res) | ||
| 106 | + if (res.code == 1) { | ||
| 107 | + var datas = res.data | ||
| 108 | + console.log(that.userdata) | ||
| 109 | + Vue.set(that.userdata,'img',datas) | ||
| 110 | + that.setmsg() | ||
| 111 | + } else { | ||
| 112 | + if (res.msg) { | ||
| 113 | + uni.showToast({ | ||
| 114 | + icon: 'none', | ||
| 115 | + title: res.msg | ||
| 116 | + }) | ||
| 117 | + } else { | ||
| 118 | + uni.showToast({ | ||
| 119 | + icon: "none", | ||
| 120 | + title: "上传失败" | ||
| 121 | + }) | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + }).catch(e => { | ||
| 125 | + that.btn_kg = 0 | ||
| 126 | + console.log(e) | ||
| 127 | + uni.showToast({ | ||
| 128 | + icon: 'none', | ||
| 129 | + title: '操作失败' | ||
| 130 | + }) | ||
| 131 | + }) | ||
| 132 | + }, | ||
| 133 | + setmsg(){ | ||
| 134 | + var datas = { | ||
| 135 | + img:that.userdata.img | ||
| 136 | + } | ||
| 137 | + var jkurl = '/my/save' | ||
| 138 | + | ||
| 139 | + that.$service.P_post(jkurl, datas).then(res => { | ||
| 140 | + that.btnkg = 0 | ||
| 141 | + console.log(res) | ||
| 142 | + if (res.code == 1) { | ||
| 143 | + that.htmlReset = 0 | ||
| 144 | + var datas = res.data | ||
| 145 | + console.log(typeof datas) | ||
| 146 | + | ||
| 147 | + if (typeof datas == 'string') { | ||
| 148 | + datas = JSON.parse(datas) | ||
| 149 | + } | ||
| 150 | + console.log(res) | ||
| 151 | + | ||
| 152 | + } else { | ||
| 153 | + | ||
| 154 | + if (res.msg) { | ||
| 155 | + uni.showToast({ | ||
| 156 | + icon: 'none', | ||
| 157 | + title: res.msg | ||
| 158 | + }) | ||
| 159 | + } else { | ||
| 160 | + uni.showToast({ | ||
| 161 | + icon: 'none', | ||
| 162 | + title: '获取数据失败' | ||
| 163 | + }) | ||
| 164 | + } | ||
| 165 | + } | ||
| 166 | + }).catch(e => { | ||
| 167 | + that.htmlReset = 1 | ||
| 168 | + that.btnkg = 0 | ||
| 169 | + // that.$refs.htmlLoading.htmlReset_fuc(1) | ||
| 170 | + console.log(e) | ||
| 171 | + uni.showToast({ | ||
| 172 | + icon: 'none', | ||
| 173 | + title: '获取数据失败,请检查您的网络连接' | ||
| 174 | + }) | ||
| 175 | + }) | ||
| 176 | + }, | ||
| 177 | + getimg(img){ | ||
| 178 | + return this.$service.getimg(img) | ||
| 179 | + }, | ||
| 180 | + logout_fuc(){ | ||
| 181 | + uni.removeStorageSync('token') | ||
| 182 | + uni.reLaunch({ | ||
| 183 | + url:'/pages/login/login' | ||
| 184 | + }) | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | +</script> | ||
| 189 | + | ||
| 190 | +<style lang="scss" scoped> | ||
| 191 | + .oneSetting { | ||
| 192 | + position: relative; | ||
| 193 | + } | ||
| 194 | + .oneSettingV2{ | ||
| 195 | + padding: 20rpx 25rpx; | ||
| 196 | + .oneSettingV2-c{ | ||
| 197 | + background: #fff; | ||
| 198 | + padding: 0 30rpx; | ||
| 199 | + border-radius: 20rpx; | ||
| 200 | + .oneSettingV2-c-1{ | ||
| 201 | + min-height: 110rpx; | ||
| 202 | + border-bottom: 1rpx solid #F3F3F7; | ||
| 203 | + display: flex; | ||
| 204 | + justify-content: space-between; | ||
| 205 | + align-items: center; | ||
| 206 | + padding: 25rpx 0; | ||
| 207 | + .oneSettingV2-c-1-l{ | ||
| 208 | + font-size: 30rpx; | ||
| 209 | + font-weight: bold; | ||
| 210 | + } | ||
| 211 | + .oneSettingV2-c-1-r{ | ||
| 212 | + font-size: 28rpx; | ||
| 213 | + color: #646464; | ||
| 214 | + } | ||
| 215 | + } | ||
| 216 | + } | ||
| 217 | + .oneSettingV2-c-su{ | ||
| 218 | + border-radius: 200rpx; | ||
| 219 | + background: #2D81FF; | ||
| 220 | + color: #FFFFFF; | ||
| 221 | + height: 88rpx; | ||
| 222 | + line-height: 88rpx; | ||
| 223 | + text-align: center; | ||
| 224 | + margin-top: 49rpx; | ||
| 225 | + } | ||
| 226 | + } | ||
| 227 | + .tel_index_bg { | ||
| 228 | + position: absolute; | ||
| 229 | + top: 0; | ||
| 230 | + z-index: 1; | ||
| 231 | + width: 100%; | ||
| 232 | + min-height: 220rpx; | ||
| 233 | + background: linear-gradient(0deg, #f8f8f8 0%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%); | ||
| 234 | + } | ||
| 235 | + .vio_list{ | ||
| 236 | + width: 100%; | ||
| 237 | + padding: 0 30rpx 30rpx; | ||
| 238 | + position: relative; | ||
| 239 | + z-index: 2; | ||
| 240 | + // .main_list{ | ||
| 241 | + // margin-top: 20rpx; | ||
| 242 | + // background: #FFFFFF; | ||
| 243 | + // border-radius: 10rpx; | ||
| 244 | + // padding:0 30rpx; | ||
| 245 | + // } | ||
| 246 | + | ||
| 247 | + } | ||
| 248 | + .msg_box { | ||
| 249 | + width: 100%; | ||
| 250 | + height: auto; | ||
| 251 | + background: #FFFFFF; | ||
| 252 | + border-radius: 20rpx; | ||
| 253 | + | ||
| 254 | + | ||
| 255 | + .content-head-wrap { | ||
| 256 | + width: 100%; | ||
| 257 | + height: 340rpx; | ||
| 258 | + justify-content: center; | ||
| 259 | + align-items: center; | ||
| 260 | + border-bottom: #eeeeee 1px solid; | ||
| 261 | + | ||
| 262 | + .content-head-img { | ||
| 263 | + width: 164rpx; | ||
| 264 | + height: 164rpx; | ||
| 265 | + border-radius: 50%; | ||
| 266 | + | ||
| 267 | + image { | ||
| 268 | + width: 164rpx; | ||
| 269 | + height: 164rpx; | ||
| 270 | + border-radius: 50%; | ||
| 271 | + } | ||
| 272 | + } | ||
| 273 | + } | ||
| 274 | + | ||
| 275 | + .content-item { | ||
| 276 | + width: 100%; | ||
| 277 | + height: 90rpx; | ||
| 278 | + border-bottom: #eeeeee 1px solid; | ||
| 279 | + padding: 0 28rpx; | ||
| 280 | + justify-content: space-between; | ||
| 281 | + align-items: center; | ||
| 282 | + font-size: 30rpx; | ||
| 283 | + font-family: PingFang SC; | ||
| 284 | + font-weight: 400; | ||
| 285 | + color: #5B6476; | ||
| 286 | + | ||
| 287 | + .user-name { | ||
| 288 | + font-size: 30rpx; | ||
| 289 | + font-family: PingFang SC; | ||
| 290 | + font-weight: 400; | ||
| 291 | + color: #A9B1C0; | ||
| 292 | + } | ||
| 293 | + } | ||
| 294 | + .sign-out{ | ||
| 295 | + width: 100%; | ||
| 296 | + height: 112rpx; | ||
| 297 | + line-height: 112rpx; | ||
| 298 | + text-align: center; | ||
| 299 | + font-size: 30rpx; | ||
| 300 | + font-family: PingFang SC; | ||
| 301 | + font-weight: 400; | ||
| 302 | + color: #2D81FF; | ||
| 303 | + } | ||
| 304 | + } | ||
| 305 | +</style> |
| @@ -32,9 +32,9 @@ | @@ -32,9 +32,9 @@ | ||
| 32 | <image class="onePassV2-1-img-c-close" @tap.stop="cutOut" src="@/static/imagesV2/icon17.png" mode="widthFix"></image> | 32 | <image class="onePassV2-1-img-c-close" @tap.stop="cutOut" src="@/static/imagesV2/icon17.png" mode="widthFix"></image> |
| 33 | <image class="onePassV2-1-img" :src="$service.getimg(imgUrl)" mode="aspectFit"></image> | 33 | <image class="onePassV2-1-img" :src="$service.getimg(imgUrl)" mode="aspectFit"></image> |
| 34 | </view> | 34 | </view> |
| 35 | - </view> | ||
| 36 | - <view class="onePassV2-2" @click="sub_fuc"> | ||
| 37 | - 提交生成电子通行证 | 35 | + <view class="onePassV2-2" @click="sub_fuc"> |
| 36 | + 提交生成电子通行证 | ||
| 37 | + </view> | ||
| 38 | </view> | 38 | </view> |
| 39 | </view> | 39 | </view> |
| 40 | </view> | 40 | </view> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="oneSetting"> | 2 | <view class="oneSetting"> |
| 3 | - <!-- 资料 设置 --> | ||
| 4 | - <view class="tel_index_bg"></view> | ||
| 5 | - <view class="vio_list"> | ||
| 6 | - <view class="msg_box "> | ||
| 7 | - <view class="content-head-wrap flex"> | ||
| 8 | - <view class="content-head-img"> | ||
| 9 | - <!-- <image :src="imgUrl" mode="aspectFill"></image> --> | ||
| 10 | - <avatar selWidth="250rpx" selHeight="250rpx" @upload="myUpload" | 3 | + <view class="oneSettingV2"> |
| 4 | + <view class="oneSettingV2-c"> | ||
| 5 | + <view class="oneSettingV2-c-1"> | ||
| 6 | + <view class="oneSettingV2-c-1-l">头像</view> | ||
| 7 | + <view class="oneSettingV2-c-1-r"> | ||
| 8 | + <avatar selWidth="100rpx" selHeight="100rpx" @upload="myUpload" | ||
| 11 | :avatarSrc="userdata.img?$service.getimg(userdata.img):imgUrl" | 9 | :avatarSrc="userdata.img?$service.getimg(userdata.img):imgUrl" |
| 12 | - avatarStyle="width: 164rpx;height: 164rpx;border-radius: 50%;" inner=true></avatar> | 10 | + avatarStyle="width: 100rpx;height: 100rpx;border-radius: 50%;" inner=true></avatar> |
| 13 | </view> | 11 | </view> |
| 14 | </view> | 12 | </view> |
| 15 | - <view class="content-item flex"> | ||
| 16 | - <view> | ||
| 17 | - 姓名 | ||
| 18 | - </view> | ||
| 19 | - <view class="user-name"> | ||
| 20 | - {{userdata.name}} | ||
| 21 | - </view> | 13 | + <view class="oneSettingV2-c-1"> |
| 14 | + <view class="oneSettingV2-c-1-l">姓名</view> | ||
| 15 | + <view class="oneSettingV2-c-1-r">{{userdata.name}}</view> | ||
| 22 | </view> | 16 | </view> |
| 23 | - <view class="content-item flex"> | ||
| 24 | - <view> | ||
| 25 | - 性别 | ||
| 26 | - </view> | ||
| 27 | - <view class="user-name"> | ||
| 28 | - <!-- 性别 1、男 2、女 --> | ||
| 29 | - {{userdata.sex==1?'男':'女'}} | ||
| 30 | - </view> | ||
| 31 | - </view> | ||
| 32 | - <view class="content-item flex"> | ||
| 33 | - <view> | ||
| 34 | - 学号 | ||
| 35 | - </view> | ||
| 36 | - <view class="user-name"> | ||
| 37 | - {{userdata.study_code}} | ||
| 38 | - </view> | 17 | + <view class="oneSettingV2-c-1"> |
| 18 | + <view class="oneSettingV2-c-1-l">性别</view> | ||
| 19 | + <view class="oneSettingV2-c-1-r">{{userdata.sex==1?'男':'女'}}</view> | ||
| 39 | </view> | 20 | </view> |
| 40 | - <view class="sign-out" @click="logout_fuc"> | ||
| 41 | - 退出登录 | 21 | + <view class="oneSettingV2-c-1"> |
| 22 | + <view class="oneSettingV2-c-1-l">学号</view> | ||
| 23 | + <view class="oneSettingV2-c-1-r">{{userdata.study_code}}</view> | ||
| 42 | </view> | 24 | </view> |
| 43 | 25 | ||
| 44 | </view> | 26 | </view> |
| 27 | + <!-- <view class="oneSettingV2-c-su" @click="logout_fuc">退出登录</view> --> | ||
| 45 | </view> | 28 | </view> |
| 46 | </view> | 29 | </view> |
| 47 | </template> | 30 | </template> |
| @@ -174,6 +157,39 @@ | @@ -174,6 +157,39 @@ | ||
| 174 | .oneSetting { | 157 | .oneSetting { |
| 175 | position: relative; | 158 | position: relative; |
| 176 | } | 159 | } |
| 160 | + .oneSettingV2{ | ||
| 161 | + padding: 20rpx 25rpx; | ||
| 162 | + .oneSettingV2-c{ | ||
| 163 | + background: #fff; | ||
| 164 | + padding: 0 30rpx; | ||
| 165 | + border-radius: 20rpx; | ||
| 166 | + .oneSettingV2-c-1{ | ||
| 167 | + min-height: 110rpx; | ||
| 168 | + border-bottom: 1rpx solid #F3F3F7; | ||
| 169 | + display: flex; | ||
| 170 | + justify-content: space-between; | ||
| 171 | + align-items: center; | ||
| 172 | + padding: 25rpx 0; | ||
| 173 | + .oneSettingV2-c-1-l{ | ||
| 174 | + font-size: 30rpx; | ||
| 175 | + font-weight: bold; | ||
| 176 | + } | ||
| 177 | + .oneSettingV2-c-1-r{ | ||
| 178 | + font-size: 28rpx; | ||
| 179 | + color: #646464; | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + .oneSettingV2-c-su{ | ||
| 184 | + border-radius: 200rpx; | ||
| 185 | + background: #2D81FF; | ||
| 186 | + color: #FFFFFF; | ||
| 187 | + height: 88rpx; | ||
| 188 | + line-height: 88rpx; | ||
| 189 | + text-align: center; | ||
| 190 | + margin-top: 49rpx; | ||
| 191 | + } | ||
| 192 | + } | ||
| 177 | .tel_index_bg { | 193 | .tel_index_bg { |
| 178 | position: absolute; | 194 | position: absolute; |
| 179 | top: 0; | 195 | top: 0; |
pagesB/richText/richText.vue
0 → 100644
pagesStu/answer/answer.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view> | ||
| 3 | + <SearchTop @confirm="confirm" ref="searchTopRef" @init="init"> | ||
| 4 | + <template> | ||
| 5 | + <view class="answer-1"> | ||
| 6 | + <view @click="switchItem(PAGETYPE.ONLINE)" :class="{'answer-i': true, 'answer-is': type === PAGETYPE.ONLINE}">在线答疑</view> | ||
| 7 | + <view @click="switchItem(PAGETYPE.CLASSROOM)" :class="{'answer-i': true, 'answer-is': type === PAGETYPE.CLASSROOM}">答疑课堂</view> | ||
| 8 | + </view> | ||
| 9 | + <view class="answer-2"> | ||
| 10 | + <view class="answer-2-l"> | ||
| 11 | + <picker @change="bindpickerChange" :value="index" :range="subjectList" range-key="title"> | ||
| 12 | + <view class="answer-2-l-i"> | ||
| 13 | + 任课科目 <u-icon size="12" name="arrow-down-fill" color="#646464"></u-icon> | ||
| 14 | + </view> | ||
| 15 | + </picker> | ||
| 16 | + <picker @change="bindpickerChange2" :value="index" :range="basedOnList" range-key="title"> | ||
| 17 | + <view class="answer-2-l-i"> | ||
| 18 | + 用户评价 <u-icon size="12" name="arrow-down-fill" color="#646464"></u-icon> | ||
| 19 | + </view> | ||
| 20 | + </picker> | ||
| 21 | + </view> | ||
| 22 | + <view class="answer-2-r" @click="toMyQuestion"> | ||
| 23 | + <image class="answer-2-r-i" src="@/static/imagesV2/icon39.png" mode="widthFix"></image> | ||
| 24 | + <text>我的提问</text> | ||
| 25 | + </view> | ||
| 26 | + </view> | ||
| 27 | + <view class="answer-3"> | ||
| 28 | + <view class="answer-3-c"> | ||
| 29 | + <u-icon name="error-circle" color="#FF4102"></u-icon> | ||
| 30 | + <text class="answer-3-c-t">温馨提示:每人每月限制提问五次</text> | ||
| 31 | + </view> | ||
| 32 | + </view> | ||
| 33 | + </template> | ||
| 34 | + </SearchTop> | ||
| 35 | + <PaddingTopB ref="paddingTopBRef" otherUnit="px"> | ||
| 36 | + <template> | ||
| 37 | + <view class="answer"> | ||
| 38 | + <view v-if="type === PAGETYPE.ONLINE"> | ||
| 39 | + <view class="answer-item" v-for="item in 20" :key="item"> | ||
| 40 | + <view class="answer-item-tw" @click="toAnswerForm"> | ||
| 41 | + <image class="answer-item-tw-i" src="@/static/imagesV2/icon41.png"></image> | ||
| 42 | + <text>提问</text> | ||
| 43 | + </view> | ||
| 44 | + <view class="answer-item-l"> | ||
| 45 | + <image class="answer-item-l-img" src="@/static/images/tx.png" mode="widthFix"></image> | ||
| 46 | + </view> | ||
| 47 | + <view class="answer-item-r"> | ||
| 48 | + <view class="answer-item-r-1">程菲</view> | ||
| 49 | + <view class="answer-item-r-2">笔试系统精讲班</view> | ||
| 50 | + <view class="answer-item-r-3"> | ||
| 51 | + <image class="answer-item-r-3-i" src="@/static/imagesV2/icon40.png" mode="widthFix"></image> | ||
| 52 | + <text class="answer-item-r-3-la">用户评分</text> | ||
| 53 | + <text class="answer-item-r-3-f">3.6</text> | ||
| 54 | + </view> | ||
| 55 | + </view> | ||
| 56 | + </view> | ||
| 57 | + </view> | ||
| 58 | + <view v-if="type === PAGETYPE.CLASSROOM"> | ||
| 59 | + <view class="answer-item2"> | ||
| 60 | + <view class="myQuestion-2-i-1"> | ||
| 61 | + <view class="myQuestion-2-i-1-l"> | ||
| 62 | + <image class="myQuestion-2-i-1-l-i" src="@/static/images/tx.png" mode="widthFix"></image> | ||
| 63 | + </view> | ||
| 64 | + <view class="myQuestion-2-i-1-r"> | ||
| 65 | + <view class="myQuestion-2-i-1-r-1">李晋心</view> | ||
| 66 | + <view class="myQuestion-2-i-1-r-2">2023-12-10发布</view> | ||
| 67 | + </view> | ||
| 68 | + </view> | ||
| 69 | + <view class="myQuestion-2-i-2"> | ||
| 70 | + 老师你好请问工商管理专业的应届生可以报考工商管理 | ||
| 71 | + 内的二级专业吗?比如说会计学,旅游管理? | ||
| 72 | + </view> | ||
| 73 | + <view class="myQuestion-2-i-4"> | ||
| 74 | + <u--image | ||
| 75 | + v-for="(item, index) in []" | ||
| 76 | + :key="index" | ||
| 77 | + radius="15rpx" | ||
| 78 | + height="145rpx" | ||
| 79 | + width="145rpx" | ||
| 80 | + @click.native="seeImg(index)" | ||
| 81 | + :src="item"></u--image> | ||
| 82 | + </view> | ||
| 83 | + <view class="myQuestion-2-i-3"> | ||
| 84 | + <view class="myQuestion-2-i-3-l"> | ||
| 85 | + <view class="myQuestion-2-i-3-l-1" v-if="false">已解答</view> | ||
| 86 | + <view class="myQuestion-2-i-3-l-1 myQuestion-2-i-3-l-1s" v-else>已解答</view> | ||
| 87 | + <view class="myQuestion-2-i-3-l-t">程菲</view> | ||
| 88 | + </view> | ||
| 89 | + <view class="myQuestion-2-i-3-r"> | ||
| 90 | + 2023-12-11 | ||
| 91 | + </view> | ||
| 92 | + </view> | ||
| 93 | + </view> | ||
| 94 | + </view> | ||
| 95 | + <u-empty | ||
| 96 | + mode="data" | ||
| 97 | + text="暂无数据" | ||
| 98 | + icon="/static/imagesV2/icon24.png" | ||
| 99 | + > | ||
| 100 | + </u-empty> | ||
| 101 | + </view> | ||
| 102 | + </template> | ||
| 103 | + </PaddingTopB> | ||
| 104 | + </view> | ||
| 105 | +</template> | ||
| 106 | + | ||
| 107 | +<script> | ||
| 108 | + import SearchTop from "./components/SearchTop/index.vue" | ||
| 109 | + import PaddingTopB from "@/components/PaddingTopB/index.vue" | ||
| 110 | + import { PAGETYPE } from "@/emit/index.js" | ||
| 111 | + export default { | ||
| 112 | + components: { | ||
| 113 | + SearchTop, | ||
| 114 | + PaddingTopB | ||
| 115 | + }, | ||
| 116 | + data() { | ||
| 117 | + return { | ||
| 118 | + PAGETYPE, | ||
| 119 | + type: PAGETYPE.CLASSROOM, | ||
| 120 | + subjectList: [ | ||
| 121 | + { | ||
| 122 | + title: '科目', | ||
| 123 | + id: 1 | ||
| 124 | + } | ||
| 125 | + ], | ||
| 126 | + basedOnList: [ | ||
| 127 | + { | ||
| 128 | + title: '用户评价', | ||
| 129 | + id: 1 | ||
| 130 | + } | ||
| 131 | + ] | ||
| 132 | + } | ||
| 133 | + }, | ||
| 134 | + mounted() { | ||
| 135 | + | ||
| 136 | + }, | ||
| 137 | + onReachBottom() { | ||
| 138 | + debugger | ||
| 139 | + }, | ||
| 140 | + methods: { | ||
| 141 | + toAnswerForm() { | ||
| 142 | + uni.navigateTo({ | ||
| 143 | + url: '/pagesStu/answerForm/answerForm' | ||
| 144 | + }) | ||
| 145 | + }, | ||
| 146 | + toMyQuestion() { | ||
| 147 | + uni.navigateTo({ | ||
| 148 | + url: '/pagesStu/myQuestion/myQuestion' | ||
| 149 | + }) | ||
| 150 | + }, | ||
| 151 | + init() { | ||
| 152 | + let result = this.$refs.searchTopRef.getOtherHeight() | ||
| 153 | + this.$refs.paddingTopBRef.setOtherHeight(result, 'px') | ||
| 154 | + }, | ||
| 155 | + bindpickerChange(e) { | ||
| 156 | + | ||
| 157 | + }, | ||
| 158 | + bindpickerChange2(e) { | ||
| 159 | + | ||
| 160 | + }, | ||
| 161 | + switchItem(type) { | ||
| 162 | + this.type = type | ||
| 163 | + }, | ||
| 164 | + confirm(e) { | ||
| 165 | + console.log(e) | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | +</script> | ||
| 170 | + | ||
| 171 | +<style lang="scss" scoped> | ||
| 172 | +.answer-1{ | ||
| 173 | + border-top:1rpx solid #f3f4f6; | ||
| 174 | + display: flex; | ||
| 175 | + background: #fff; | ||
| 176 | + justify-content: space-around; | ||
| 177 | + .answer-i{ | ||
| 178 | + font-size: 28rpx; | ||
| 179 | + color: #323232; | ||
| 180 | + height: 88rpx; | ||
| 181 | + display: flex; | ||
| 182 | + align-items: center; | ||
| 183 | + justify-content: center; | ||
| 184 | + } | ||
| 185 | + .answer-is{ | ||
| 186 | + color: #2D81FF; | ||
| 187 | + position: relative; | ||
| 188 | + &:before{ | ||
| 189 | + content: ''; | ||
| 190 | + position: absolute; | ||
| 191 | + bottom: 0; | ||
| 192 | + left: 50%; | ||
| 193 | + background-image: url(@/static/imagesV2/icon23.png); | ||
| 194 | + background-size: 100% 100%; | ||
| 195 | + transform: translateX(-50%); | ||
| 196 | + height: 24rpx; | ||
| 197 | + width: 24rpx; | ||
| 198 | + } | ||
| 199 | + } | ||
| 200 | +} | ||
| 201 | +.answer-2{ | ||
| 202 | + display: flex; | ||
| 203 | + align-items: center; | ||
| 204 | + justify-content: space-between; | ||
| 205 | + height: 86rpx; | ||
| 206 | + padding: 0 25rpx; | ||
| 207 | + background: #f8f8f8; | ||
| 208 | + .answer-2-l{ | ||
| 209 | + color: #646464; | ||
| 210 | + font-size: 26rpx; | ||
| 211 | + display: flex; | ||
| 212 | + .answer-2-l-i{ | ||
| 213 | + padding-right: 25rpx; | ||
| 214 | + display: flex; | ||
| 215 | + align-items: center; | ||
| 216 | + } | ||
| 217 | + } | ||
| 218 | + .answer-2-r{ | ||
| 219 | + font-size: 28rpx; | ||
| 220 | + color: #323232; | ||
| 221 | + color: #323232; | ||
| 222 | + display: flex; | ||
| 223 | + align-items: center; | ||
| 224 | + line-height: 1.4; | ||
| 225 | + .answer-2-r-i{ | ||
| 226 | + height: 26rpx; | ||
| 227 | + width: 26rpx; | ||
| 228 | + margin-right: 8rpx; | ||
| 229 | + } | ||
| 230 | + } | ||
| 231 | +} | ||
| 232 | +.answer-3{ | ||
| 233 | + padding: 0 25rpx; | ||
| 234 | + background: #f8f8f8; | ||
| 235 | + .answer-3-c{ | ||
| 236 | + font-size: 24rpx; | ||
| 237 | + color: #EF5D22; | ||
| 238 | + border-radius: 200rpx; | ||
| 239 | + background-color: #F2E9E6; | ||
| 240 | + display: flex; | ||
| 241 | + padding: 0 30rpx; | ||
| 242 | + align-items: center; | ||
| 243 | + height: 60rpx; | ||
| 244 | + align-items: center; | ||
| 245 | + .answer-3-c-t{ | ||
| 246 | + margin-left: 20rpx; | ||
| 247 | + } | ||
| 248 | + } | ||
| 249 | +} | ||
| 250 | +.answer-item{ | ||
| 251 | + display: flex; | ||
| 252 | + background-color: #FFFFFF; | ||
| 253 | + border-radius: 20rpx; | ||
| 254 | + padding: 30rpx; | ||
| 255 | + position: relative; | ||
| 256 | + margin-bottom: 20rpx; | ||
| 257 | + .answer-item-tw{ | ||
| 258 | + position: absolute; | ||
| 259 | + top: 32rpx; | ||
| 260 | + right: 30rpx; | ||
| 261 | + height: 56rpx; | ||
| 262 | + border-radius: 200rpx; | ||
| 263 | + color: #2D81FF; | ||
| 264 | + display: flex; | ||
| 265 | + align-items: center; | ||
| 266 | + background-color: rgba(#2D81FF, .1); | ||
| 267 | + padding: 0 34rpx; | ||
| 268 | + line-height: 1.4; | ||
| 269 | + font-size: 26rpx; | ||
| 270 | + .answer-item-tw-i{ | ||
| 271 | + height: 24rpx !important; | ||
| 272 | + width: 24rpx !important; | ||
| 273 | + margin-right: 9rpx; | ||
| 274 | + } | ||
| 275 | + } | ||
| 276 | + .answer-item-l{ | ||
| 277 | + .answer-item-l-img{ | ||
| 278 | + height: 110rpx; | ||
| 279 | + width: 110rpx; | ||
| 280 | + border-radius: 200rpx; | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + .answer-item-r{ | ||
| 284 | + flex-grow: 1; | ||
| 285 | + margin-left: 30rpx; | ||
| 286 | + .answer-item-r-1{ | ||
| 287 | + font-size: 30rpx; | ||
| 288 | + color: #323232; | ||
| 289 | + font-weight: bold; | ||
| 290 | + } | ||
| 291 | + .answer-item-r-2{ | ||
| 292 | + font-size: 26rpx; | ||
| 293 | + color: #646464; | ||
| 294 | + margin: 20rpx 0; | ||
| 295 | + } | ||
| 296 | + .answer-item-r-3{ | ||
| 297 | + display: flex; | ||
| 298 | + align-items: center; | ||
| 299 | + .answer-item-r-3-i{ | ||
| 300 | + height: 30rpx; | ||
| 301 | + width: 30rpx; | ||
| 302 | + } | ||
| 303 | + .answer-item-r-3-la{ | ||
| 304 | + font-size: 22rpx; | ||
| 305 | + color: #979797; | ||
| 306 | + margin: 0 8rpx; | ||
| 307 | + } | ||
| 308 | + .answer-item-r-3-f{ | ||
| 309 | + font-size: 26rpx; | ||
| 310 | + color: #FE6432; | ||
| 311 | + } | ||
| 312 | + } | ||
| 313 | + } | ||
| 314 | +} | ||
| 315 | +.answer{ | ||
| 316 | + width: 100%; | ||
| 317 | + margin-top: 11rpx; | ||
| 318 | + padding: 0 27rpx; | ||
| 319 | + padding-bottom: calc(80rpx + env(safe-area-inset-bottom)); | ||
| 320 | + .answer-item2{ | ||
| 321 | + padding: 30rpx; | ||
| 322 | + background-color: #FFFFFF; | ||
| 323 | + box-sizing: border-box; | ||
| 324 | + border-radius: 20rpx; | ||
| 325 | + .myQuestion-2-i-1{ | ||
| 326 | + display: flex; | ||
| 327 | + align-items: center; | ||
| 328 | + .myQuestion-2-i-1-l{ | ||
| 329 | + .myQuestion-2-i-1-l-i{ | ||
| 330 | + height: 60rpx; | ||
| 331 | + width: 60rpx; | ||
| 332 | + border-radius: 100%; | ||
| 333 | + } | ||
| 334 | + } | ||
| 335 | + .myQuestion-2-i-1-r{ | ||
| 336 | + margin-left: 30rpx; | ||
| 337 | + .myQuestion-2-i-1-r-1{ | ||
| 338 | + font-size: 26rpx; | ||
| 339 | + color: #323232; | ||
| 340 | + font-weight: bold; | ||
| 341 | + } | ||
| 342 | + .myQuestion-2-i-1-r-2{ | ||
| 343 | + font-size: 24rpx; | ||
| 344 | + color: #979797; | ||
| 345 | + margin-top: 5rpx; | ||
| 346 | + } | ||
| 347 | + } | ||
| 348 | + } | ||
| 349 | + .myQuestion-2-i-2{ | ||
| 350 | + line-height: 39rpx; | ||
| 351 | + color: #323232; | ||
| 352 | + font-size: 26rpx; | ||
| 353 | + margin: 30rpx 0; | ||
| 354 | + } | ||
| 355 | + .myQuestion-2-i-3{ | ||
| 356 | + padding-top: 20rpx; | ||
| 357 | + border-top: 1rpx solid #F3F3F7; | ||
| 358 | + display: flex; | ||
| 359 | + justify-content: space-between; | ||
| 360 | + align-items: center; | ||
| 361 | + .myQuestion-2-i-3-l{ | ||
| 362 | + display: flex; | ||
| 363 | + .myQuestion-2-i-3-l-1{ | ||
| 364 | + border-radius: 20rpx 20rpx 0px 20rpx; | ||
| 365 | + height: 40rpx; | ||
| 366 | + line-height: 40rpx; | ||
| 367 | + color: #FFFFFF; | ||
| 368 | + background: linear-gradient(0deg, #0AC49C 0%, #34D5AA 100%); | ||
| 369 | + font-size: 22rpx; | ||
| 370 | + padding: 0 11rpx; | ||
| 371 | + } | ||
| 372 | + .myQuestion-2-i-3-l-1s{ | ||
| 373 | + background: linear-gradient(0deg, #BEBEBE 0%, #AAAAAA 100%); | ||
| 374 | + } | ||
| 375 | + .myQuestion-2-i-3-l-t{ | ||
| 376 | + font-size: 26rpx; | ||
| 377 | + color: #323232; | ||
| 378 | + margin-left: 15rpx; | ||
| 379 | + font-weight: bold; | ||
| 380 | + } | ||
| 381 | + } | ||
| 382 | + .myQuestion-2-i-3-r{ | ||
| 383 | + font-size: 24rpx; | ||
| 384 | + color: #979797; | ||
| 385 | + } | ||
| 386 | + } | ||
| 387 | + .myQuestion-2-i-4{ | ||
| 388 | + display: grid; | ||
| 389 | + grid-template-columns: repeat(4, 1fr); | ||
| 390 | + grid-row-gap: 20rpx; | ||
| 391 | + grid-column-gap: 20rpx; | ||
| 392 | + margin-top: 30rpx; | ||
| 393 | + } | ||
| 394 | + } | ||
| 395 | +} | ||
| 396 | +</style> |
| 1 | +<template> | ||
| 2 | + <view> | ||
| 3 | + <!-- #ifdef MP-WEIXIN --> | ||
| 4 | + <view class="CustomReturn-container" :style="{height: titleHeight, paddingTop: paddingTop, backgroundColor: bgColor}"> | ||
| 5 | + <view class="CustomReturn"> | ||
| 6 | + <view v-if="isShowBreak" class="CustomReturn-r"> | ||
| 7 | + <u-icon name="home" v-if="isFirstPage && !isCustomReturn" @click="toBreak()" size="23" :color="color"></u-icon> | ||
| 8 | + <u-icon name="arrow-left" v-else @click="toBreak()" size="20" :color="color"></u-icon> | ||
| 9 | + </view> | ||
| 10 | + <view style="width: 200rpx;" v-else></view> | ||
| 11 | + <view class="CustomReturn-title"> | ||
| 12 | + <view class="CustomReturn-title-c"> | ||
| 13 | + <u-icon name="search" size="20"></u-icon> | ||
| 14 | + <input class="CustomReturn-title-c-c" v-model="value" placeholder="请输入教师姓名" type="text" confirm-type="search" @confirm="confirm"> | ||
| 15 | + <u-icon name="close-circle-fill" size="20" color="#E6E6E6"></u-icon> | ||
| 16 | + </view> | ||
| 17 | + </view> | ||
| 18 | + <view style="width: 200rpx;"></view> | ||
| 19 | + </view> | ||
| 20 | + <view class="other"> | ||
| 21 | + <slot></slot> | ||
| 22 | + </view> | ||
| 23 | + </view> | ||
| 24 | + <!-- #endif --> | ||
| 25 | + </view> | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +</template> | ||
| 29 | + | ||
| 30 | +<script> | ||
| 31 | + export default { | ||
| 32 | + name:"CustomReturn", | ||
| 33 | + components: { | ||
| 34 | + }, | ||
| 35 | + props: { | ||
| 36 | + color: { | ||
| 37 | + type: String, | ||
| 38 | + default: '#000000' | ||
| 39 | + }, | ||
| 40 | + isShowOtherIcon: { | ||
| 41 | + type: Boolean, | ||
| 42 | + default: true | ||
| 43 | + }, | ||
| 44 | + bgColor: { | ||
| 45 | + type: String, | ||
| 46 | + default: '#fff' | ||
| 47 | + }, | ||
| 48 | + breakUrl: { | ||
| 49 | + type: String, | ||
| 50 | + default: '' | ||
| 51 | + }, | ||
| 52 | + isShowBreak: { | ||
| 53 | + type: Boolean, | ||
| 54 | + default: true | ||
| 55 | + }, | ||
| 56 | + title: { | ||
| 57 | + type: [String, Number], | ||
| 58 | + default: '标题' | ||
| 59 | + }, | ||
| 60 | + isCustomReturn: { | ||
| 61 | + type: Boolean, | ||
| 62 | + default: false | ||
| 63 | + } | ||
| 64 | + }, | ||
| 65 | + data() { | ||
| 66 | + return { | ||
| 67 | + value: '', | ||
| 68 | + show: false, | ||
| 69 | + titleHeight: 0, | ||
| 70 | + paddingTop: 0, | ||
| 71 | + otherHeight: 0, | ||
| 72 | + isFirstPage: false, | ||
| 73 | + entityHeight: 0 | ||
| 74 | + }; | ||
| 75 | + }, | ||
| 76 | + mounted() { | ||
| 77 | + this.getHeight() | ||
| 78 | + this.getOther() | ||
| 79 | + this.identifyPages() | ||
| 80 | + }, | ||
| 81 | + methods: { | ||
| 82 | + confirm() { | ||
| 83 | + this.$emit('confirm', this.value) | ||
| 84 | + }, | ||
| 85 | + toExamination() { | ||
| 86 | + uni.reLaunch({ | ||
| 87 | + url: '/pages/examination/examination' | ||
| 88 | + }) | ||
| 89 | + }, | ||
| 90 | + toPersonalCenter() { | ||
| 91 | + uni.reLaunch({ | ||
| 92 | + url: '/pages/personalCenter/personalCenter' | ||
| 93 | + }) | ||
| 94 | + }, | ||
| 95 | + // 获取除顶部导航栏以外的高度 | ||
| 96 | + getOtherHeight() { | ||
| 97 | + return this.otherHeight | ||
| 98 | + }, | ||
| 99 | + getOther() { | ||
| 100 | + uni.createSelectorQuery().in(this).select('.other') | ||
| 101 | + .fields({ size: true }, (res) => { | ||
| 102 | + if (res) { | ||
| 103 | + this.otherHeight = res.height | ||
| 104 | + console.log('元素高度', res.height); | ||
| 105 | + this.$emit('init', {otherHeight: this.otherHeight, entityHeight: this.entityHeight}) | ||
| 106 | + } | ||
| 107 | + }).exec(); | ||
| 108 | + }, | ||
| 109 | + // 辨别页面 | ||
| 110 | + identifyPages() { | ||
| 111 | + let result = getCurrentPages() | ||
| 112 | + if(result.length === 1) { | ||
| 113 | + this.isFirstPage = true | ||
| 114 | + } else { | ||
| 115 | + this.isFirstPage = false | ||
| 116 | + } | ||
| 117 | + }, | ||
| 118 | + getHeight() { | ||
| 119 | + this.titleHeight = 88 + 'rpx'; | ||
| 120 | + this.paddingTop = uni.getSystemInfoSync().statusBarHeight + 'px' | ||
| 121 | + // #ifdef MP-WEIXIN | ||
| 122 | + let res = wx.getMenuButtonBoundingClientRect(); | ||
| 123 | + // #endif | ||
| 124 | + this.paddingTop = res.top + 'px' | ||
| 125 | + this.titleHeight = res.height + 10 + 'px'; | ||
| 126 | + this.entityHeight = res.top + res.height | ||
| 127 | + | ||
| 128 | + }, | ||
| 129 | + toBreak(){ | ||
| 130 | + if(!this.isCustomReturn) { | ||
| 131 | + let result = getCurrentPages() | ||
| 132 | + if(result.length === 1) { | ||
| 133 | + uni.reLaunch({ | ||
| 134 | + url: '/pages/examination/examination' | ||
| 135 | + }) | ||
| 136 | + } else { | ||
| 137 | + uni.navigateBack({ | ||
| 138 | + delta: 1 | ||
| 139 | + }) | ||
| 140 | + } | ||
| 141 | + } else { | ||
| 142 | + this.$emit('goBack') | ||
| 143 | + } | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | + } | ||
| 147 | +</script> | ||
| 148 | + | ||
| 149 | +<style lang="scss" scoped> | ||
| 150 | +.CustomReturn-container{ | ||
| 151 | + position: fixed; | ||
| 152 | + top: 0; | ||
| 153 | + width: 100%; | ||
| 154 | + z-index: 1002; | ||
| 155 | + transition: all .5s; | ||
| 156 | + box-sizing: content-box; | ||
| 157 | +} | ||
| 158 | +.CustomReturn{ | ||
| 159 | + display: flex; | ||
| 160 | + align-items: center; | ||
| 161 | + flex-grow: 1; | ||
| 162 | + padding: 0 24rpx; | ||
| 163 | + justify-content: space-between; | ||
| 164 | + position: relative; | ||
| 165 | + z-index: 1002; | ||
| 166 | + height: 100%; | ||
| 167 | + padding-bottom: 10px; | ||
| 168 | + box-sizing: border-box; | ||
| 169 | + | ||
| 170 | + .CustomReturn-title{ | ||
| 171 | + font-size: 36rpx; | ||
| 172 | + .CustomReturn-title-c{ | ||
| 173 | + background-color: #F6F6F6; | ||
| 174 | + border: 1px solid #E6E6E6; | ||
| 175 | + border-radius: 200rpx; | ||
| 176 | + display: flex; | ||
| 177 | + align-items: center; | ||
| 178 | + height: 68rpx; | ||
| 179 | + padding: 0 20rpx; | ||
| 180 | + .CustomReturn-title-c-c{ | ||
| 181 | + flex-grow: 1; | ||
| 182 | + margin-left: 10rpx; | ||
| 183 | + font-size: 28rpx; | ||
| 184 | + } | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + .CustomReturn-r{ | ||
| 188 | + display: flex; | ||
| 189 | + width: 80rpx; | ||
| 190 | + align-items: center; | ||
| 191 | + .CustomReturn-i{ | ||
| 192 | + height: 36rpx; | ||
| 193 | + width: 36rpx; | ||
| 194 | + margin-left: 30rpx; | ||
| 195 | + } | ||
| 196 | + } | ||
| 197 | +} | ||
| 198 | +</style> |
pagesStu/answerDetails/answerDetails.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="answerDetails"> | ||
| 3 | + <view class="answerDetails-c"> | ||
| 4 | + <view class="myQuestion-2-i-1"> | ||
| 5 | + <view class="myQuestion-2-i-1-l"> | ||
| 6 | + <image class="myQuestion-2-i-1-l-i" src="@/static/images/tx.png" mode="widthFix"></image> | ||
| 7 | + </view> | ||
| 8 | + <view class="myQuestion-2-i-1-r"> | ||
| 9 | + <view class="myQuestion-2-i-1-r-1">李晋心</view> | ||
| 10 | + <view class="myQuestion-2-i-1-r-2">2023-12-10发布</view> | ||
| 11 | + </view> | ||
| 12 | + </view> | ||
| 13 | + <view class="myQuestion-2-i-2"> | ||
| 14 | + 老师你好请问工商管理专业的应届生可以报考工商管理 | ||
| 15 | + 内的二级专业吗?比如说会计学,旅游管理? | ||
| 16 | + </view> | ||
| 17 | + <view class="myQuestion-2-i-5"></view> | ||
| 18 | + <view class="myQuestion-2-i-4"> | ||
| 19 | + <u--image | ||
| 20 | + v-for="(item, index) in []" | ||
| 21 | + :key="index" | ||
| 22 | + radius="15rpx" | ||
| 23 | + height="145rpx" | ||
| 24 | + width="145rpx" | ||
| 25 | + @click.native="seeImg(index)" | ||
| 26 | + :src="item"></u--image> | ||
| 27 | + </view> | ||
| 28 | + <view class="myQuestion-2-i-3"> | ||
| 29 | + <view class="myQuestion-2-i-3-c"> | ||
| 30 | + <view class="myQuestion-2-i-3-c-1"> | ||
| 31 | + <view class="myQuestion-2-i-3-c-1-l"> | ||
| 32 | + <image class="myQuestion-2-i-3-c-1-l-i" src="@/static/images/tx.png" mode="widthFix"></image> | ||
| 33 | + <text class="myQuestion-2-i-3-c-1-l-t">程菲老师回复</text> | ||
| 34 | + </view> | ||
| 35 | + <view class="myQuestion-2-i-3-c-1-r">2023-12-10</view> | ||
| 36 | + </view> | ||
| 37 | + <view class="myQuestion-2-i-3-c-2"> | ||
| 38 | + 同学你好,这个问题问的好,你说的这些都是不可以报的! | ||
| 39 | + </view> | ||
| 40 | + <view style="margin-top: 28rpx;"> | ||
| 41 | + <VoicePlayback /> | ||
| 42 | + </view> | ||
| 43 | + <u-empty | ||
| 44 | + mode="data" | ||
| 45 | + text="暂无回复" | ||
| 46 | + icon="/static/imagesV2/icon43.png" | ||
| 47 | + > | ||
| 48 | + </u-empty> | ||
| 49 | + </view> | ||
| 50 | + </view> | ||
| 51 | + </view> | ||
| 52 | + <view class="answerDetails-b"> | ||
| 53 | + <view class="answerDetails-b-c"> | ||
| 54 | + <view class="answerDetails-b-c-l"> | ||
| 55 | + <view class="answerDetails-b-c-l-1">请对本次答复</view> | ||
| 56 | + <view class="answerDetails-b-c-l-2">评分</view> | ||
| 57 | + </view> | ||
| 58 | + <view class="answerDetails-b-c-r"> | ||
| 59 | + <u-rate :count="5" v-model="score" size="20"></u-rate> | ||
| 60 | + <view class="answerDetails-b-c-r-c">提交</view> | ||
| 61 | + </view> | ||
| 62 | + </view> | ||
| 63 | + </view> | ||
| 64 | + </view> | ||
| 65 | +</template> | ||
| 66 | + | ||
| 67 | +<script> | ||
| 68 | + import VoicePlayback from "./components/VoicePlayback/index.vue" | ||
| 69 | + export default { | ||
| 70 | + components: { | ||
| 71 | + VoicePlayback | ||
| 72 | + }, | ||
| 73 | + data() { | ||
| 74 | + return { | ||
| 75 | + score: 5 | ||
| 76 | + } | ||
| 77 | + }, | ||
| 78 | + methods: { | ||
| 79 | + | ||
| 80 | + } | ||
| 81 | + } | ||
| 82 | +</script> | ||
| 83 | + | ||
| 84 | +<style lang="scss" scoped> | ||
| 85 | +.answerDetails{ | ||
| 86 | + padding: 20rpx 25rpx; | ||
| 87 | + .answerDetails-b{ | ||
| 88 | + position: fixed; | ||
| 89 | + left: 0; | ||
| 90 | + width: 100%; | ||
| 91 | + bottom: 0; | ||
| 92 | + width: 100%; | ||
| 93 | + padding-bottom: calc(env(safe-area-inset-bottom)); | ||
| 94 | + background: #FFFFFF; | ||
| 95 | + .answerDetails-b-c{ | ||
| 96 | + height: 120rpx; | ||
| 97 | + display: flex; | ||
| 98 | + align-items: center; | ||
| 99 | + padding: 0 24rpx; | ||
| 100 | + .answerDetails-b-c-l{ | ||
| 101 | + text-align: center; | ||
| 102 | + position: relative; | ||
| 103 | + padding-right: 29rpx; | ||
| 104 | + flex-shrink: 0; | ||
| 105 | + &:before{ | ||
| 106 | + content: ''; | ||
| 107 | + position: absolute; | ||
| 108 | + height: 58rpx; | ||
| 109 | + border-left: #E6E6E6 solid 1rpx; | ||
| 110 | + right: 0; | ||
| 111 | + top: 50%; | ||
| 112 | + transform: translateY(-50%); | ||
| 113 | + } | ||
| 114 | + .answerDetails-b-c-l-1{ | ||
| 115 | + font-size: 24rpx; | ||
| 116 | + color: #979797; | ||
| 117 | + } | ||
| 118 | + .answerDetails-b-c-l-2{ | ||
| 119 | + font-size: 26rpx; | ||
| 120 | + color: #323232; | ||
| 121 | + margin-top: 5rpx; | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + .answerDetails-b-c-r{ | ||
| 125 | + flex-grow: 1; | ||
| 126 | + display: flex; | ||
| 127 | + justify-content: space-between; | ||
| 128 | + padding-left: 65rpx; | ||
| 129 | + .answerDetails-b-c-r-c{ | ||
| 130 | + height: 88rpx; | ||
| 131 | + line-height: 88rpx; | ||
| 132 | + color: #FFFFFF; | ||
| 133 | + padding: 0 55rpx; | ||
| 134 | + background: #2D81FF; | ||
| 135 | + border-radius: 200rpx; | ||
| 136 | + } | ||
| 137 | + } | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | + .answerDetails-c{ | ||
| 141 | + padding: 30rpx; | ||
| 142 | + background-color: #FFFFFF; | ||
| 143 | + box-sizing: border-box; | ||
| 144 | + .myQuestion-2-i-1{ | ||
| 145 | + display: flex; | ||
| 146 | + align-items: center; | ||
| 147 | + .myQuestion-2-i-1-l{ | ||
| 148 | + .myQuestion-2-i-1-l-i{ | ||
| 149 | + height: 60rpx; | ||
| 150 | + width: 60rpx; | ||
| 151 | + border-radius: 100%; | ||
| 152 | + } | ||
| 153 | + } | ||
| 154 | + .myQuestion-2-i-1-r{ | ||
| 155 | + margin-left: 30rpx; | ||
| 156 | + .myQuestion-2-i-1-r-1{ | ||
| 157 | + font-size: 26rpx; | ||
| 158 | + color: #323232; | ||
| 159 | + font-weight: bold; | ||
| 160 | + } | ||
| 161 | + .myQuestion-2-i-1-r-2{ | ||
| 162 | + font-size: 24rpx; | ||
| 163 | + color: #979797; | ||
| 164 | + margin-top: 5rpx; | ||
| 165 | + } | ||
| 166 | + } | ||
| 167 | + } | ||
| 168 | + .myQuestion-2-i-2{ | ||
| 169 | + line-height: 39rpx; | ||
| 170 | + color: #323232; | ||
| 171 | + font-size: 26rpx; | ||
| 172 | + margin: 30rpx 0; | ||
| 173 | + } | ||
| 174 | + .myQuestion-2-i-3{ | ||
| 175 | + padding-top: 33rpx; | ||
| 176 | + .myQuestion-2-i-3-c{ | ||
| 177 | + border-radius: 20rpx; | ||
| 178 | + background: #F5F6F8; | ||
| 179 | + padding: 30rpx; | ||
| 180 | + .myQuestion-2-i-3-c-1{ | ||
| 181 | + display: flex; | ||
| 182 | + justify-content: space-between; | ||
| 183 | + align-items: center; | ||
| 184 | + .myQuestion-2-i-3-c-1-l{ | ||
| 185 | + display: flex; | ||
| 186 | + align-items: center; | ||
| 187 | + .myQuestion-2-i-3-c-1-l-i{ | ||
| 188 | + height: 48rpx; | ||
| 189 | + width: 48rpx; | ||
| 190 | + border-radius: 200rpx; | ||
| 191 | + } | ||
| 192 | + .myQuestion-2-i-3-c-1-l-t{ | ||
| 193 | + font-size: 26rpx; | ||
| 194 | + margin-left: 19rpx; | ||
| 195 | + color: #323232; | ||
| 196 | + } | ||
| 197 | + } | ||
| 198 | + .myQuestion-2-i-3-c-1-r{ | ||
| 199 | + font-size: 24rpx; | ||
| 200 | + color: #979797; | ||
| 201 | + } | ||
| 202 | + } | ||
| 203 | + .myQuestion-2-i-3-c-2{ | ||
| 204 | + line-height: 39rpx; | ||
| 205 | + font-size: 26rpx; | ||
| 206 | + color: #323232; | ||
| 207 | + margin-top: 28rpx; | ||
| 208 | + } | ||
| 209 | + } | ||
| 210 | + } | ||
| 211 | + .myQuestion-2-i-4{ | ||
| 212 | + display: grid; | ||
| 213 | + grid-template-columns: repeat(4, 1fr); | ||
| 214 | + grid-row-gap: 20rpx; | ||
| 215 | + grid-column-gap: 20rpx; | ||
| 216 | + margin-top: 30rpx; | ||
| 217 | + } | ||
| 218 | + .myQuestion-2-i-5{ | ||
| 219 | + border-top: 1rpx #F3F3F7 dashed; | ||
| 220 | + margin: 20rpx 0; | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | +} | ||
| 224 | +</style> |
| 1 | +<template> | ||
| 2 | + <view class="VoicePlayback" @click="operation"> | ||
| 3 | + <view class="VoicePlayback-1"> | ||
| 4 | + <image class="VoicePlayback-1-i" src="@/static/imagesV2/icon42.png" mode="widthFix"></image> | ||
| 5 | + </view> | ||
| 6 | + <view class="VoicePlayback-2">{{ convertTimeToHMS(remainingTime) }}</view> | ||
| 7 | + </view> | ||
| 8 | +</template> | ||
| 9 | + | ||
| 10 | +<script> | ||
| 11 | + export default { | ||
| 12 | + name: 'VoicePlayback', | ||
| 13 | + data() { | ||
| 14 | + return { | ||
| 15 | + audioContext: null, | ||
| 16 | + duration: 0, // 音频的总时长(单位:秒) | ||
| 17 | + currentTime: 0, // 音频的当前播放时间(单位:秒) | ||
| 18 | + remainingTime: 0,// 音频的剩余播放时间(单位:秒) | ||
| 19 | + totalDuration: 0, | ||
| 20 | + isPlay: false | ||
| 21 | + } | ||
| 22 | + }, | ||
| 23 | + mounted() { | ||
| 24 | + this.init() | ||
| 25 | + }, | ||
| 26 | + onUnload() { | ||
| 27 | + this.audioContext.stop(); | ||
| 28 | + this.audioContext.destroy(); | ||
| 29 | + }, | ||
| 30 | + methods: { | ||
| 31 | + operation() { | ||
| 32 | + if(!this.isPlay) { | ||
| 33 | + this.audioContext.play() | ||
| 34 | + } else { | ||
| 35 | + this.audioContext.pause() | ||
| 36 | + } | ||
| 37 | + console.log(this.duration) | ||
| 38 | + }, | ||
| 39 | + init() { | ||
| 40 | + this.audioContext = wx.createInnerAudioContext(); | ||
| 41 | + this.audioContext.src = require("@/static/imagesV2/test.mp3") | ||
| 42 | + this.audioContext.onPlay(() => { | ||
| 43 | + console.log('音频开始播放', this.audioContext.duration); | ||
| 44 | + this.isPlay = true | ||
| 45 | + }); | ||
| 46 | + this.audioContext.onPause(() => { | ||
| 47 | + console.log('音频暂停播放'); | ||
| 48 | + this.isPlay = false | ||
| 49 | + }); | ||
| 50 | + this.audioContext.onStop(() => { | ||
| 51 | + console.log('音频停止播放'); | ||
| 52 | + this.isPlay = false | ||
| 53 | + }); | ||
| 54 | + this.audioContext.onCanplay(() => { | ||
| 55 | + this.audioContext.play() | ||
| 56 | + this.audioContext.pause() | ||
| 57 | + setTimeout(() => { | ||
| 58 | + this.duration = this.audioContext.duration | ||
| 59 | + this.remainingTime = this.duration | ||
| 60 | + }, 100) | ||
| 61 | + }) | ||
| 62 | + this.audioContext.onTimeUpdate(() => { | ||
| 63 | + this.currentTime = this.audioContext.currentTime | ||
| 64 | + this.remainingTime = this.duration - this.currentTime | ||
| 65 | + }); | ||
| 66 | + }, | ||
| 67 | + convertTimeToHMS(time) { | ||
| 68 | + time = parseInt(time) | ||
| 69 | + var hours = Math.floor(time / 3600); | ||
| 70 | + var minutes = Math.floor((time % 3600) / 60); | ||
| 71 | + var seconds = time % 60; | ||
| 72 | + | ||
| 73 | + var hhmmss = ""; | ||
| 74 | + if (hours < 10) { | ||
| 75 | + hhmmss += "0"; | ||
| 76 | + } | ||
| 77 | + hhmmss += hours + ":"; | ||
| 78 | + | ||
| 79 | + if (minutes < 10) { | ||
| 80 | + hhmmss += "0"; | ||
| 81 | + } | ||
| 82 | + hhmmss += minutes + ":"; | ||
| 83 | + | ||
| 84 | + if (seconds < 10) { | ||
| 85 | + hhmmss += "0"; | ||
| 86 | + } | ||
| 87 | + hhmmss += seconds; | ||
| 88 | + | ||
| 89 | + return hhmmss; | ||
| 90 | + } | ||
| 91 | + } | ||
| 92 | + } | ||
| 93 | +</script> | ||
| 94 | + | ||
| 95 | +<style lang="scss" scoped> | ||
| 96 | + .VoicePlayback{ | ||
| 97 | + padding: 16rpx 18rpx; | ||
| 98 | + background-color: #fff; | ||
| 99 | + border-radius: 20rpx; | ||
| 100 | + display: flex; | ||
| 101 | + align-items: center; | ||
| 102 | + .VoicePlayback-1{ | ||
| 103 | + .VoicePlayback-1-i{ | ||
| 104 | + height: 42rpx; | ||
| 105 | + width: 42rpx; | ||
| 106 | + } | ||
| 107 | + } | ||
| 108 | + .VoicePlayback-2{ | ||
| 109 | + font-size: 26rpx; | ||
| 110 | + margin-left: 18rpx; | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | +</style> |
pagesStu/answerForm/answerForm.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="add_praise"> | ||
| 3 | + <view class="add_praiseV2"> | ||
| 4 | + <view class="add_praiseV2-c"> | ||
| 5 | + <view class="add_praiseV2-c-1"> | ||
| 6 | + <textarea class="add_praiseV2-c-t" maxlength="-1" v-model="content" placeholder="请描述问题"></textarea> | ||
| 7 | + </view> | ||
| 8 | + <view class="add_praiseV2-c-2"> | ||
| 9 | + <view class="oneLeaveV2-2-3-i" v-for="(item,index) in fileList" :key="index"> | ||
| 10 | + <view class="oneLeaveV2-2-3-i-c"> | ||
| 11 | + <image class="oneLeaveV2-2-3-i-c-i" :src="$service.getimg(item)" mode="aspectFit"></image> | ||
| 12 | + <view class="oneLeaveV2-2-3-i-c-close" @click="imgdel" :data-idx="index"> | ||
| 13 | + <u-icon name="close-circle-fill" size="25" color="#000"></u-icon> | ||
| 14 | + </view> | ||
| 15 | + </view> | ||
| 16 | + </view> | ||
| 17 | + <view class="oneLeaveV2-2-3-i" @click="scpic"> | ||
| 18 | + <u-icon name="plus" color="#DEDEDE" size="30"></u-icon> | ||
| 19 | + </view> | ||
| 20 | + </view> | ||
| 21 | + </view> | ||
| 22 | + <view class="operation" @click="submit"> | ||
| 23 | + 提交 | ||
| 24 | + </view> | ||
| 25 | + </view> | ||
| 26 | + </view> | ||
| 27 | +</template> | ||
| 28 | + | ||
| 29 | +<script> | ||
| 30 | + export default { | ||
| 31 | + data() { | ||
| 32 | + return { | ||
| 33 | + fileList: [], | ||
| 34 | + content: '' | ||
| 35 | + }; | ||
| 36 | + }, | ||
| 37 | + methods: { | ||
| 38 | + imgdel(e){ | ||
| 39 | + var that =this | ||
| 40 | + console.log(e.currentTarget.dataset.idx) | ||
| 41 | + wx.showModal({ | ||
| 42 | + title: '提示', | ||
| 43 | + content: '确定要删除这张图片吗', | ||
| 44 | + success (res) { | ||
| 45 | + if (res.confirm) { | ||
| 46 | + console.log('用户点击确定') | ||
| 47 | + that.fileList.splice(e.currentTarget.dataset.idx,1) | ||
| 48 | + } else if (res.cancel) { | ||
| 49 | + console.log('用户点击取消') | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | + }) | ||
| 53 | + | ||
| 54 | + }, | ||
| 55 | + scpic() { | ||
| 56 | + var that = this | ||
| 57 | + // var z_count = 9 - that.imgb.length | ||
| 58 | + var z_count = 9 | ||
| 59 | + uni.showActionSheet({ | ||
| 60 | + itemList: ['拍照', '相册'], | ||
| 61 | + success: function(res) { | ||
| 62 | + console.log('选中了第' + (res.tapIndex + 1) + '个按钮'); | ||
| 63 | + var sourceType = ['camera', 'album'] | ||
| 64 | + if (res.tapIndex == 0) { | ||
| 65 | + sourceType = ['camera'] | ||
| 66 | + } else { | ||
| 67 | + sourceType = ['album'] | ||
| 68 | + } | ||
| 69 | + uni.chooseImage({ | ||
| 70 | + count: z_count, | ||
| 71 | + sizeType: ['original', 'compressed'], | ||
| 72 | + sourceType: sourceType, | ||
| 73 | + success: function(res) { | ||
| 74 | + console.log(res) | ||
| 75 | + const tempFilePaths = res.tempFilePaths | ||
| 76 | + | ||
| 77 | + // const imglen = that.imgb.length | ||
| 78 | + that.upimg(tempFilePaths, 0) | ||
| 79 | + | ||
| 80 | + }, | ||
| 81 | + fail(err) { | ||
| 82 | + uni.showModal({ | ||
| 83 | + content: err | ||
| 84 | + }) | ||
| 85 | + } | ||
| 86 | + }); | ||
| 87 | + }, | ||
| 88 | + fail: function(res) { | ||
| 89 | + console.log(res.errMsg); | ||
| 90 | + } | ||
| 91 | + }); | ||
| 92 | + | ||
| 93 | + }, | ||
| 94 | + upimg(imgs, i) { | ||
| 95 | + var that = this | ||
| 96 | + that.$service.wx_upload(imgs[i]).then(res => { | ||
| 97 | + | ||
| 98 | + that.btn_kg = 0 | ||
| 99 | + console.log(res) | ||
| 100 | + if (res.code == 1) { | ||
| 101 | + var datas = res.data | ||
| 102 | + console.log(i) | ||
| 103 | + var newdata = that.fileList | ||
| 104 | + newdata.push(datas) | ||
| 105 | + that.fileList= newdata | ||
| 106 | + if (i<imgs.length-1) { | ||
| 107 | + i++ | ||
| 108 | + that.upimg(imgs, i) | ||
| 109 | + } | ||
| 110 | + } else { | ||
| 111 | + if (res.msg) { | ||
| 112 | + uni.showToast({ | ||
| 113 | + icon: 'none', | ||
| 114 | + title: res.msg | ||
| 115 | + }) | ||
| 116 | + } else { | ||
| 117 | + uni.showToast({ | ||
| 118 | + icon: "none", | ||
| 119 | + title: "上传失败" | ||
| 120 | + }) | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + }).catch(e => { | ||
| 124 | + that.btn_kg = 0 | ||
| 125 | + console.log(e) | ||
| 126 | + uni.showToast({ | ||
| 127 | + icon: 'none', | ||
| 128 | + title: '操作失败' | ||
| 129 | + }) | ||
| 130 | + }) | ||
| 131 | + | ||
| 132 | + }, | ||
| 133 | + submit() { | ||
| 134 | + var datas = { | ||
| 135 | + content: this.content, | ||
| 136 | + imgs: this.fileList | ||
| 137 | + } | ||
| 138 | + var jkurl = '/praise/add' | ||
| 139 | + this.$service.P_post(jkurl, datas).then(res => { | ||
| 140 | + uni.showToast({ | ||
| 141 | + icon:'none', | ||
| 142 | + title: '上传成功' | ||
| 143 | + }) | ||
| 144 | + setTimeout(() => { | ||
| 145 | + uni.navigateBack({ | ||
| 146 | + delta: 1 | ||
| 147 | + }) | ||
| 148 | + }, 1500) | ||
| 149 | + }) | ||
| 150 | + }, | ||
| 151 | + async afterRead(event) { | ||
| 152 | + let lists = [].concat(event.file) | ||
| 153 | + for (let i = 0; i < lists.length; i++) { | ||
| 154 | + let res = await this.uploadFilePromise(lists[i].url) | ||
| 155 | + this.fileList.push({ | ||
| 156 | + name: res.data, | ||
| 157 | + url: res.name | ||
| 158 | + }) | ||
| 159 | + } | ||
| 160 | + this.$emit('change', this.fileList) | ||
| 161 | + }, | ||
| 162 | + uploadFilePromise(url) { | ||
| 163 | + let baseurl = this.$service.baseurl | ||
| 164 | + | ||
| 165 | + return new Promise((resolve, reject) => { | ||
| 166 | + uni.showLoading({ | ||
| 167 | + title: '上传中' | ||
| 168 | + }) | ||
| 169 | + uni.uploadFile({ | ||
| 170 | + url: baseurl + 'api/login/upload', // 仅为示例,非真实的接口地址 | ||
| 171 | + filePath: url, | ||
| 172 | + name: 'file', | ||
| 173 | + header: { | ||
| 174 | + 'Authorization': uni.getStorageSync('token') | ||
| 175 | + }, | ||
| 176 | + formData: {}, | ||
| 177 | + success: (res) => { | ||
| 178 | + console.log('res=====>', JSON.parse(res.data)) | ||
| 179 | + resolve(JSON.parse(res.data)) | ||
| 180 | + uni.hideLoading() | ||
| 181 | + } | ||
| 182 | + }); | ||
| 183 | + | ||
| 184 | + }) | ||
| 185 | + }, | ||
| 186 | + deletePic(e) { | ||
| 187 | + console.log(e.index) | ||
| 188 | + this.fileList.splice(0, 1) | ||
| 189 | + } | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | +</script> | ||
| 193 | + | ||
| 194 | +<style lang="scss"> | ||
| 195 | +.add_praise{ | ||
| 196 | + .add_praiseV2{ | ||
| 197 | + padding: 20rpx 25rpx; | ||
| 198 | + .add_praiseV2-c{ | ||
| 199 | + background: #fff; | ||
| 200 | + padding: 30rpx; | ||
| 201 | + border-radius: 20rpx; | ||
| 202 | + .add_praiseV2-c-1{ | ||
| 203 | + background-color: #F5F6F8; | ||
| 204 | + padding: 35rpx 30rpx; | ||
| 205 | + border-radius: 20rpx; | ||
| 206 | + .add_praiseV2-c-t{ | ||
| 207 | + height: 300rpx; | ||
| 208 | + } | ||
| 209 | + } | ||
| 210 | + .add_praiseV2-c-2{ | ||
| 211 | + display: grid; | ||
| 212 | + grid-row-gap: 20rpx; | ||
| 213 | + grid-column-gap: 20rpx; | ||
| 214 | + grid-template-columns: repeat(4, 140rpx); | ||
| 215 | + margin-top: 30rpx; | ||
| 216 | + .oneLeaveV2-2-3-i{ | ||
| 217 | + width: 140rpx; | ||
| 218 | + height: 140rpx; | ||
| 219 | + display: flex; | ||
| 220 | + align-items: center; | ||
| 221 | + justify-content: center; | ||
| 222 | + border: 1rpx dashed #DEDEDE; | ||
| 223 | + border-radius: 15rpx; | ||
| 224 | + .oneLeaveV2-2-3-i-c{ | ||
| 225 | + height: 100%; | ||
| 226 | + width: 100%; | ||
| 227 | + position: relative; | ||
| 228 | + .oneLeaveV2-2-3-i-c-i{ | ||
| 229 | + height: 100%; | ||
| 230 | + width: 100%; | ||
| 231 | + } | ||
| 232 | + .oneLeaveV2-2-3-i-c-close{ | ||
| 233 | + position: absolute; | ||
| 234 | + top: 0; | ||
| 235 | + right: 0; | ||
| 236 | + transform: translate(50%, -50%); | ||
| 237 | + } | ||
| 238 | + } | ||
| 239 | + } | ||
| 240 | + } | ||
| 241 | + } | ||
| 242 | + .operation{ | ||
| 243 | + height: 88rpx; | ||
| 244 | + line-height: 88rpx; | ||
| 245 | + text-align: center; | ||
| 246 | + font-size: 34rpx; | ||
| 247 | + color: #FFFFFF; | ||
| 248 | + background: #2D81FF; | ||
| 249 | + border-radius: 200rpx; | ||
| 250 | + margin-top: 50rpx; | ||
| 251 | + } | ||
| 252 | + } | ||
| 253 | + .tel_index_bg{ | ||
| 254 | + position: absolute; | ||
| 255 | + top: 0; | ||
| 256 | + z-index: 1; | ||
| 257 | + width: 100%; | ||
| 258 | + min-height: 220rpx; | ||
| 259 | + background: linear-gradient(0deg, #f8f8f8 0%, #ffffff 25%, #5D9DFD 60%, #428EFE 70%, #2D81FF 100%); | ||
| 260 | + } | ||
| 261 | + .add_praise-main{ | ||
| 262 | + position: relative; | ||
| 263 | + z-index: 1; | ||
| 264 | + padding: 15rpx 25rpx; | ||
| 265 | + .add_praise-main-1{ | ||
| 266 | + border-radius: 15rpx; | ||
| 267 | + background: #fff; | ||
| 268 | + overflow: hidden; | ||
| 269 | + .add_praise-main-1-l{ | ||
| 270 | + line-height: 60rpx; | ||
| 271 | + padding: 0 30rpx; | ||
| 272 | + background: #fff9eb; | ||
| 273 | + color: #F5AC1A; | ||
| 274 | + font-size: 24rpx; | ||
| 275 | + } | ||
| 276 | + .add_praise-main-1-b{ | ||
| 277 | + padding: 0rpx 30rpx; | ||
| 278 | + .add_praise-main-1-b-u{ | ||
| 279 | + padding: 40rpx 0rpx; | ||
| 280 | + border-bottom: #EEEEEE solid 1rpx; | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + } | ||
| 284 | + .operation{ | ||
| 285 | + border-radius: 15rpx; | ||
| 286 | + background-color: #2C82FD; | ||
| 287 | + line-height: 90rpx; | ||
| 288 | + text-align: center; | ||
| 289 | + width: 700rpx; | ||
| 290 | + color: #fff; | ||
| 291 | + z-index: 1; | ||
| 292 | + margin-top: 40rpx; | ||
| 293 | + } | ||
| 294 | + } | ||
| 295 | +} | ||
| 296 | +</style> |
pagesStu/audioFrequency/audioFrequency.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="audioPlayback"> | ||
| 3 | + <view class="audioPlayback-bg"> | ||
| 4 | + <image class="audioPlayback-bg-img" src="@/static/images/txz.jpg"></image> | ||
| 5 | + </view> | ||
| 6 | + <TopNavigation /> | ||
| 7 | + <PaddingTopB> | ||
| 8 | + <view class="audioPlayback-c audioPlayback-content"> | ||
| 9 | + <view class="audioPlayback-content-1"> | ||
| 10 | + <view class="ItemQ"> | ||
| 11 | + <view class="ItemQ-1"> | ||
| 12 | + <image src="@/static/images/txz.jpg"></image> | ||
| 13 | + </view> | ||
| 14 | + <view class="ItemQ-2">音频</view> | ||
| 15 | + </view> | ||
| 16 | + </view> | ||
| 17 | + <view class="audioPlayback-content-2"> | ||
| 18 | + <yz-audio | ||
| 19 | + @ended="ended" | ||
| 20 | + :autoplay="true" | ||
| 21 | + singer="歌手" | ||
| 22 | + epname="专辑名称" | ||
| 23 | + title="歌曲标题" | ||
| 24 | + ref="player1"></yz-audio> | ||
| 25 | + </view> | ||
| 26 | + </view> | ||
| 27 | + </PaddingTopB> | ||
| 28 | + </view> | ||
| 29 | +</template> | ||
| 30 | + | ||
| 31 | +<script> | ||
| 32 | + import TopNavigation from "./components/TopNavigation/index.vue" | ||
| 33 | + import PaddingTopB from "@/components/PaddingTopB/index.vue" | ||
| 34 | + export default { | ||
| 35 | + components: { | ||
| 36 | + TopNavigation, | ||
| 37 | + PaddingTopB | ||
| 38 | + }, | ||
| 39 | + data() { | ||
| 40 | + return { | ||
| 41 | + | ||
| 42 | + }; | ||
| 43 | + }, | ||
| 44 | + methods: { | ||
| 45 | + ended() { | ||
| 46 | + | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | + } | ||
| 50 | +</script> | ||
| 51 | + | ||
| 52 | +<style lang="scss"> | ||
| 53 | +.audioPlayback{ | ||
| 54 | + | ||
| 55 | + .ItemQ{ | ||
| 56 | + display: flex; | ||
| 57 | + flex-direction: column; | ||
| 58 | + align-items: center; | ||
| 59 | + padding: 0 100rpx; | ||
| 60 | + .ItemQ-1{ | ||
| 61 | + image{ | ||
| 62 | + height: 390rpx; | ||
| 63 | + width: 390rpx; | ||
| 64 | + border-radius: 45rpx; | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + .ItemQ-2{ | ||
| 68 | + font-size: 30rpx; | ||
| 69 | + line-height: 45rpx; | ||
| 70 | + color: #FFFFFF; | ||
| 71 | + margin-top: 40rpx; | ||
| 72 | + text-align: center; | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + .audioPlayback-c{ | ||
| 76 | + width: 100%; | ||
| 77 | + } | ||
| 78 | + .audioPlayback-bg{ | ||
| 79 | + position: absolute; | ||
| 80 | + top: 0; | ||
| 81 | + left: 0; | ||
| 82 | + background: #000; | ||
| 83 | + z-index: 0; | ||
| 84 | + .audioPlayback-bg-img{ | ||
| 85 | + height: 100vh; | ||
| 86 | + width: 100vh; | ||
| 87 | + filter: blur(100rpx); | ||
| 88 | + opacity: 0.1; | ||
| 89 | + } | ||
| 90 | + } | ||
| 91 | + .audioPlayback-content{ | ||
| 92 | + .audioPlayback-content-1{ | ||
| 93 | + padding-top: 150rpx; | ||
| 94 | + } | ||
| 95 | + .audioPlayback-content-2{ | ||
| 96 | + padding: 0 50rpx; | ||
| 97 | + margin-top: 130rpx; | ||
| 98 | + } | ||
| 99 | + } | ||
| 100 | +} | ||
| 101 | +</style> |
| 1 | +<template> | ||
| 2 | + <view> | ||
| 3 | + <!-- #ifdef MP-WEIXIN --> | ||
| 4 | + <view class="CustomReturn-container" :style="{height: titleHeight, paddingTop: paddingTop, backgroundColor: bgColor}"> | ||
| 5 | + <view class="CustomReturn"> | ||
| 6 | + <view v-if="isShowBreak" class="CustomReturn-r"> | ||
| 7 | + <u-icon name="home" v-if="isFirstPage && !isCustomReturn" @click="toBreak()" size="23" :color="color"></u-icon> | ||
| 8 | + <u-icon name="arrow-left" v-else @click="toBreak()" size="20" :color="color"></u-icon> | ||
| 9 | + </view> | ||
| 10 | + <view style="width: 200rpx;" v-else ></view> | ||
| 11 | + <view class="CustomReturn-title" :style="{'color': color}"></view> | ||
| 12 | + <view style="width: 200rpx;"></view> | ||
| 13 | + </view> | ||
| 14 | + <view class="other"> | ||
| 15 | + <slot></slot> | ||
| 16 | + </view> | ||
| 17 | + </view> | ||
| 18 | + <!-- #endif --> | ||
| 19 | + </view> | ||
| 20 | + | ||
| 21 | + | ||
| 22 | +</template> | ||
| 23 | + | ||
| 24 | +<script> | ||
| 25 | + export default { | ||
| 26 | + name:"CustomReturn", | ||
| 27 | + components: { | ||
| 28 | + }, | ||
| 29 | + props: { | ||
| 30 | + color: { | ||
| 31 | + type: String, | ||
| 32 | + default: '#fff' | ||
| 33 | + }, | ||
| 34 | + isShowOtherIcon: { | ||
| 35 | + type: Boolean, | ||
| 36 | + default: true | ||
| 37 | + }, | ||
| 38 | + bgColor: { | ||
| 39 | + type: String, | ||
| 40 | + default: 'none' | ||
| 41 | + }, | ||
| 42 | + breakUrl: { | ||
| 43 | + type: String, | ||
| 44 | + default: '' | ||
| 45 | + }, | ||
| 46 | + isShowBreak: { | ||
| 47 | + type: Boolean, | ||
| 48 | + default: true | ||
| 49 | + }, | ||
| 50 | + title: { | ||
| 51 | + type: [String, Number], | ||
| 52 | + default: '标题' | ||
| 53 | + }, | ||
| 54 | + isCustomReturn: { | ||
| 55 | + type: Boolean, | ||
| 56 | + default: false | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + data() { | ||
| 60 | + return { | ||
| 61 | + show: false, | ||
| 62 | + titleHeight: 0, | ||
| 63 | + paddingTop: 0, | ||
| 64 | + otherHeight: 0, | ||
| 65 | + isFirstPage: false, | ||
| 66 | + entityHeight: 0 | ||
| 67 | + }; | ||
| 68 | + }, | ||
| 69 | + mounted() { | ||
| 70 | + this.getHeight() | ||
| 71 | + this.getOther() | ||
| 72 | + this.identifyPages() | ||
| 73 | + }, | ||
| 74 | + methods: { | ||
| 75 | + toExamination() { | ||
| 76 | + uni.reLaunch({ | ||
| 77 | + url: '/pages/examination/examination' | ||
| 78 | + }) | ||
| 79 | + }, | ||
| 80 | + toPersonalCenter() { | ||
| 81 | + uni.reLaunch({ | ||
| 82 | + url: '/pages/personalCenter/personalCenter' | ||
| 83 | + }) | ||
| 84 | + }, | ||
| 85 | + // 获取除顶部导航栏以外的高度 | ||
| 86 | + getOtherHeight() { | ||
| 87 | + return this.otherHeight | ||
| 88 | + }, | ||
| 89 | + getOther() { | ||
| 90 | + uni.createSelectorQuery().in(this).select('.other') | ||
| 91 | + .fields({ size: true }, (res) => { | ||
| 92 | + if (res) { | ||
| 93 | + this.otherHeight = res.height | ||
| 94 | + console.log('元素高度', res.height); | ||
| 95 | + this.$emit('init', {otherHeight: this.otherHeight, entityHeight: this.entityHeight}) | ||
| 96 | + } | ||
| 97 | + }).exec(); | ||
| 98 | + }, | ||
| 99 | + // 辨别页面 | ||
| 100 | + identifyPages() { | ||
| 101 | + let result = getCurrentPages() | ||
| 102 | + if(result.length === 1) { | ||
| 103 | + this.isFirstPage = true | ||
| 104 | + } else { | ||
| 105 | + this.isFirstPage = false | ||
| 106 | + } | ||
| 107 | + }, | ||
| 108 | + getHeight() { | ||
| 109 | + this.titleHeight = 88 + 'rpx'; | ||
| 110 | + this.paddingTop = uni.getSystemInfoSync().statusBarHeight + 'px' | ||
| 111 | + // #ifdef MP-WEIXIN | ||
| 112 | + let res = wx.getMenuButtonBoundingClientRect(); | ||
| 113 | + // #endif | ||
| 114 | + this.paddingTop = res.top + 'px' | ||
| 115 | + this.titleHeight = res.height + 10 + 'px'; | ||
| 116 | + this.entityHeight = res.top + res.height | ||
| 117 | + | ||
| 118 | + }, | ||
| 119 | + toBreak(){ | ||
| 120 | + if(!this.isCustomReturn) { | ||
| 121 | + let result = getCurrentPages() | ||
| 122 | + if(result.length === 1) { | ||
| 123 | + uni.reLaunch({ | ||
| 124 | + url: '/pages/examination/examination' | ||
| 125 | + }) | ||
| 126 | + } else { | ||
| 127 | + uni.navigateBack({ | ||
| 128 | + delta: 1 | ||
| 129 | + }) | ||
| 130 | + } | ||
| 131 | + } else { | ||
| 132 | + this.$emit('goBack') | ||
| 133 | + } | ||
| 134 | + } | ||
| 135 | + } | ||
| 136 | + } | ||
| 137 | +</script> | ||
| 138 | + | ||
| 139 | +<style lang="scss" scoped> | ||
| 140 | +.CustomReturn-container{ | ||
| 141 | + position: fixed; | ||
| 142 | + top: 0; | ||
| 143 | + width: 100%; | ||
| 144 | + z-index: 1002; | ||
| 145 | + transition: all .5s; | ||
| 146 | + box-sizing: content-box; | ||
| 147 | +} | ||
| 148 | +.CustomReturn{ | ||
| 149 | + display: flex; | ||
| 150 | + align-items: center; | ||
| 151 | + flex-grow: 1; | ||
| 152 | + padding: 0 24rpx; | ||
| 153 | + justify-content: space-between; | ||
| 154 | + position: relative; | ||
| 155 | + z-index: 1002; | ||
| 156 | + height: 100%; | ||
| 157 | + padding-bottom: 10px; | ||
| 158 | + box-sizing: border-box; | ||
| 159 | + | ||
| 160 | + .CustomReturn-title{ | ||
| 161 | + font-size: 36rpx; | ||
| 162 | + } | ||
| 163 | + .CustomReturn-r{ | ||
| 164 | + display: flex; | ||
| 165 | + width: 200rpx; | ||
| 166 | + align-items: center; | ||
| 167 | + .CustomReturn-i{ | ||
| 168 | + height: 36rpx; | ||
| 169 | + width: 36rpx; | ||
| 170 | + margin-left: 30rpx; | ||
| 171 | + } | ||
| 172 | + } | ||
| 173 | +} | ||
| 174 | +</style> |
pagesStu/bigShots/bigShots.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="bigShots"> | ||
| 3 | + <view class="bigShots-1"> | ||
| 4 | + <view class="bigShots-1-1"> | ||
| 5 | + <view @tap="tabsClick(BIGSHOTS.VIDEOLESSONS)" :class="{'bigShots-1-1-i': true, 'bigShots-1-1-is': type === BIGSHOTS.VIDEOLESSONS}">视频课程</view> | ||
| 6 | + <view @tap="tabsClick(BIGSHOTS.AUDIOLESSONS)" :class="{'bigShots-1-1-i': true, 'bigShots-1-1-is': type === BIGSHOTS.AUDIOLESSONS}">音频课程</view> | ||
| 7 | + </view> | ||
| 8 | + <view class="bigShots-1-2"> | ||
| 9 | + <view class="bigShots-1-2-i"> | ||
| 10 | + 视频专辑 <u-icon size="12" name="arrow-down-fill" color="#646464"></u-icon> | ||
| 11 | + </view> | ||
| 12 | + <view class="bigShots-1-2-i"> | ||
| 13 | + 评论量 <u-icon size="12" name="arrow-down-fill" color="#646464"></u-icon> | ||
| 14 | + </view> | ||
| 15 | + <view class="bigShots-1-2-i"> | ||
| 16 | + 点赞量 <u-icon size="12" name="arrow-down-fill" color="#646464"></u-icon> | ||
| 17 | + </view> | ||
| 18 | + </view> | ||
| 19 | + </view> | ||
| 20 | + <view class="bigShots-2"> | ||
| 21 | + <view class="bigShots-2-i" @click="toBigShotsDetails"> | ||
| 22 | + <view class="bigShots-2-i-l"> | ||
| 23 | + <image class="bigShots-2-i-l-i" src="@/static/images/ewm.png"></image> | ||
| 24 | + </view> | ||
| 25 | + <view class="bigShots-2-i-r"> | ||
| 26 | + <view class="bigShots-2-i-r-1">5000题申论100题国考省考公务员考试</view> | ||
| 27 | + <view class="bigShots-2-i-r-2"> | ||
| 28 | + <view class="bigShots-2-i-r-2-i"> | ||
| 29 | + <image class="bigShots-2-i-r-2-i-l" src="@/static/imagesV2/icon44.png" mode="widthFix"></image> | ||
| 30 | + <text class="bigShots-2-i-r-2-i-t">0</text> | ||
| 31 | + </view> | ||
| 32 | + <view class="bigShots-2-i-r-2-i"> | ||
| 33 | + <image class="bigShots-2-i-r-2-i-l" src="@/static/imagesV2/icon45.png" mode="widthFix"></image> | ||
| 34 | + <text class="bigShots-2-i-r-2-i-t">0</text> | ||
| 35 | + </view> | ||
| 36 | + </view> | ||
| 37 | + </view> | ||
| 38 | + </view> | ||
| 39 | + <u-empty | ||
| 40 | + mode="data" | ||
| 41 | + text="暂无数据" | ||
| 42 | + icon="/static/imagesV2/icon24.png" | ||
| 43 | + > | ||
| 44 | + </u-empty> | ||
| 45 | + </view> | ||
| 46 | + </view> | ||
| 47 | +</template> | ||
| 48 | + | ||
| 49 | +<script> | ||
| 50 | + import { BIGSHOTS } from '@/emit/index.js' | ||
| 51 | + export default { | ||
| 52 | + data() { | ||
| 53 | + return { | ||
| 54 | + BIGSHOTS, | ||
| 55 | + type: BIGSHOTS.VIDEOLESSONS | ||
| 56 | + } | ||
| 57 | + }, | ||
| 58 | + methods: { | ||
| 59 | + tabsClick(type) { | ||
| 60 | + this.type = type | ||
| 61 | + }, | ||
| 62 | + toBigShotsDetails() { | ||
| 63 | + // uni.navigateTo({ | ||
| 64 | + // url: '/pagesStu/bigShotsDetails/bigShotsDetails' | ||
| 65 | + // }) | ||
| 66 | + uni.navigateTo({ | ||
| 67 | + url: '/pagesStu/audioFrequency/audioFrequency' | ||
| 68 | + }) | ||
| 69 | + } | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | +</script> | ||
| 73 | + | ||
| 74 | +<style lang="scss" scoped> | ||
| 75 | + .bigShots{ | ||
| 76 | + .bigShots-1{ | ||
| 77 | + width: 100%; | ||
| 78 | + position: fixed; | ||
| 79 | + top: 0; | ||
| 80 | + background-color: #f3f4f6; | ||
| 81 | + .bigShots-1-1{ | ||
| 82 | + border-top:1rpx solid #f3f4f6; | ||
| 83 | + display: flex; | ||
| 84 | + background: #fff; | ||
| 85 | + justify-content: space-around; | ||
| 86 | + .bigShots-1-1-i{ | ||
| 87 | + font-size: 28rpx; | ||
| 88 | + color: #323232; | ||
| 89 | + height: 88rpx; | ||
| 90 | + display: flex; | ||
| 91 | + align-items: center; | ||
| 92 | + justify-content: center; | ||
| 93 | + } | ||
| 94 | + .bigShots-1-1-is{ | ||
| 95 | + color: #2D81FF; | ||
| 96 | + position: relative; | ||
| 97 | + &:before{ | ||
| 98 | + content: ''; | ||
| 99 | + position: absolute; | ||
| 100 | + bottom: 0; | ||
| 101 | + left: 50%; | ||
| 102 | + background-image: url(@/static/imagesV2/icon23.png); | ||
| 103 | + background-size: 100% 100%; | ||
| 104 | + transform: translateX(-50%); | ||
| 105 | + height: 24rpx; | ||
| 106 | + width: 24rpx; | ||
| 107 | + } | ||
| 108 | + } | ||
| 109 | + } | ||
| 110 | + .bigShots-1-2{ | ||
| 111 | + color: #646464; | ||
| 112 | + font-size: 26rpx; | ||
| 113 | + display: flex; | ||
| 114 | + height: 85rpx; | ||
| 115 | + align-items: center; | ||
| 116 | + padding: 0 25rpx; | ||
| 117 | + .bigShots-1-2-i{ | ||
| 118 | + padding-right: 25rpx; | ||
| 119 | + display: flex; | ||
| 120 | + align-items: center; | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + .bigShots-2{ | ||
| 125 | + padding: 0 25rpx; | ||
| 126 | + padding-top: calc(88rpx + 85rpx); | ||
| 127 | + padding-bottom: calc(env(safe-area-inset-bottom) + 30rpx); | ||
| 128 | + .bigShots-2-i{ | ||
| 129 | + display: flex; | ||
| 130 | + background: #FFFFFF; | ||
| 131 | + border-radius: 20rpx; | ||
| 132 | + padding: 30rpx; | ||
| 133 | + margin-bottom: 20rpx; | ||
| 134 | + .bigShots-2-i-l{ | ||
| 135 | + .bigShots-2-i-l-i{ | ||
| 136 | + height: 200rpx; | ||
| 137 | + width: 150rpx; | ||
| 138 | + border-radius: 10rpx; | ||
| 139 | + } | ||
| 140 | + } | ||
| 141 | + .bigShots-2-i-r{ | ||
| 142 | + display: flex; | ||
| 143 | + flex-direction: column; | ||
| 144 | + justify-content: space-between; | ||
| 145 | + margin-left: 28rpx; | ||
| 146 | + .bigShots-2-i-r-1{ | ||
| 147 | + font-size: 30rpx; | ||
| 148 | + line-height: 45rpx; | ||
| 149 | + } | ||
| 150 | + .bigShots-2-i-r-2{ | ||
| 151 | + padding-bottom: 16rpx; | ||
| 152 | + display: flex; | ||
| 153 | + .bigShots-2-i-r-2-i{ | ||
| 154 | + display: flex; | ||
| 155 | + align-items: center; | ||
| 156 | + line-height: 1.4; | ||
| 157 | + position: relative; | ||
| 158 | + margin-right: 18rpx; | ||
| 159 | + padding-right: 18rpx; | ||
| 160 | + &:before{ | ||
| 161 | + content: ''; | ||
| 162 | + height: 18rpx; | ||
| 163 | + border-left: 1rpx solid #E6E6E6; | ||
| 164 | + position: absolute; | ||
| 165 | + right: 0; | ||
| 166 | + top: 50%; | ||
| 167 | + transform: translateY(-50%); | ||
| 168 | + } | ||
| 169 | + &:last-child{ | ||
| 170 | + padding-right: 0; | ||
| 171 | + margin-right: 0; | ||
| 172 | + &:before{ | ||
| 173 | + border-left: none; | ||
| 174 | + } | ||
| 175 | + } | ||
| 176 | + .bigShots-2-i-r-2-i-l{ | ||
| 177 | + height: 26rpx; | ||
| 178 | + width: 26rpx; | ||
| 179 | + } | ||
| 180 | + .bigShots-2-i-r-2-i-t{ | ||
| 181 | + font-size: 24rpx; | ||
| 182 | + margin-left: 8rpx; | ||
| 183 | + color: #979797; | ||
| 184 | + } | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + } | ||
| 189 | + } | ||
| 190 | + } | ||
| 191 | +</style> |
-
请 注册 或 登录 后发表评论