课堂界面更改,使用we-ui

master
educoder_weapp 5 years ago
parent 1f1d9ad6ea
commit 5ffaf9ec41

@ -1,9 +1,9 @@
##v0.14.3
## v0.14.3
* F 实训文件内容获取失败(文件path错误)
* F 个人信息性别设置bug
* D 删除实名认证界面
##v0.14.2
## v0.14.2
* F 签到界面无权限访问提示
* F 更改头像界面图片初次加载失败
* F 电脑端用户界面图标及文字位置不正确

@ -30,9 +30,6 @@ App({
}
})
}
wx.reportAnalytics('version', {
app_version: global.config.version
});
this.api("users.system_update")().then(res => {
if (res.system_update) {
let { subject = "升级服务通知", system_score} = res;

@ -82,6 +82,12 @@
"pages": [
"search"
]
},{
"name":"feedback",
"root":"pages/feedback",
"pages":[
"feedback"
]
}
],
"preloadRule": {
@ -139,6 +145,9 @@
}
]
},
"useExtendedLib": {
"weui": true
},
"navigateToMiniProgramAppIdList": [
"wx2402d86a6b534f77"
],

@ -1,7 +1,8 @@
{
"component": true,
"usingComponents": {
"iconfont":"../iconfont/iconfont"
"iconfont":"../iconfont/iconfont",
"mp-icon": "/weui-miniprogram/icon/icon"
},
"navigationBarBackgroundColor": "#00b0f0",
"navigationBarTextStyle": "white"

@ -1,7 +1,7 @@
<navigator class="bg{{data.id%7}} course" url="/course/pages/course/course?course_id={{data.id}}" bindlongpress="showAction">
<view wx:if="{{data.sticky}}" class="sticky"></view>
<view class="header">
<image class="action" mode="aspectFit" catchtap="showAction" src="./more.png" />
<mp-icon class="action" icon="more" catchtap="showAction" type="field" color="white"/>
</view>
<view class="body">
<image class="avatar" src="{{eduImgDir}}{{data.avatar_url}}" />
@ -11,7 +11,7 @@
<text class="school">{{data.school}}</text>
<text>{{data.creator}}</text> </view>
<view class="detail">
<iconfont type="member-count" size="14"/>
<mp-icon icon="group-detail" size="14" color="white"/>
<text class="detail-num">{{data.course_members_count}}</text>
<iconfont type="visit-num" size="14"/>
<text class="detail-num">{{data.visits}}</text>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 B

@ -36,7 +36,11 @@ Component({
data: {
identities:[],
hidden:true
hidden:true,
buttons:[
{text:"取消"},
{text:"提交"}
]
},
methods: {
scan(){
@ -88,9 +92,15 @@ Component({
}
})
},
cancel: function (event) {
cancel() {
this.setData({ hidden: true });
},
onTapButton({detail:{index}}){
if(index==0)
this.cancel();
else if(index==1)
this.join_course();
},
update_invite_code: function ({ detail: { value } }) {
console.log(value);
this.setData({ invite_code: value });
@ -103,7 +113,7 @@ Component({
console.log(data);
this.setData(data)
},
join_course: function (event) {
join_course () {
if(this.disabled) return;
let { invite_code="", assistant_professor="", professor,student=""} = this.data;
this.disabled = true;

@ -1,4 +1,6 @@
{
"component": true,
"usingComponents": {}
"usingComponents": {
"mp-dialog": "/weui-miniprogram/dialog/dialog"
}
}

@ -1,7 +1,8 @@
<modal class="join_course" wx:if="{{!hidden}}" title="加入课堂" confirm-text="提交" cancel-text="取消" bindcancel="cancel" bindconfirm="join_course">
<mp-dialog show="{{!hidden}}" title="加入课堂" bindbuttontap="onTapButton" buttons="{{buttons}}">
<block wx:if="{{!hidden}}">
<view class="input-wrap {{show_code?'':'hidden'}}">
<input class="code-input" cursor-spacing="106" type='text' bindinput="update_invite_code" value="{{invite_code}}" placeholder="邀请码" auto-focus/>
<image class="scan" src="./scan.png" mode="aspectFit" catchtap="scan"/>
<input class="code-input" cursor-spacing="130" type='text' bindinput="update_invite_code" value="{{invite_code}}" placeholder="邀请码" auto-focus="1" />
<image class="scan" src="./scan.png" mode="aspectFit" catchtap="scan" />
</view>
<checkbox-group class="identities" bindchange="update_identities">
<text>身份:</text>
@ -9,4 +10,5 @@
<checkbox class="identity" color="#00b0f0" disabled="{{professor}}" checked="{{assistant_professor}}" value="assistant_professor">助教</checkbox>
<checkbox class="identity" color="#00b0f0" checked="{{student}}" value="student">学生</checkbox>
</checkbox-group>
</modal>
</block>
</mp-dialog>

@ -23,6 +23,7 @@ Component({
success: (res) => {
wx.openDocument({
filePath: res.tempFilePath,
showMenu:true,
fail: app.showError
});
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094002647" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7286" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M480 480H176.96c-45.056 0-61.952-30.656-38.208-67.904l255.872-362.88C441.792-24.576 480-14.144 480 72.192V480z m0 64v303.04c0 45.056-30.656 61.952-67.904 38.208L49.216 629.376C-24.576 582.208-14.144 544 72.192 544H480z m64 0h303.04c45.056 0 61.952 30.656 38.208 67.904l-255.872 362.88c-47.168 73.792-85.376 63.36-85.376-22.976V544z m0-64V176.96c0-45.056 30.656-61.952 67.904-38.208l362.88 255.872c73.792 47.168 63.36 85.376-22.976 85.376H544z" p-id="7287" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 859 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094002647" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7286" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M480 480H176.96c-45.056 0-61.952-30.656-38.208-67.904l255.872-362.88C441.792-24.576 480-14.144 480 72.192V480z m0 64v303.04c0 45.056-30.656 61.952-67.904 38.208L49.216 629.376C-24.576 582.208-14.144 544 72.192 544H480z m64 0h303.04c45.056 0 61.952 30.656 38.208 67.904l-255.872 362.88c-47.168 73.792-85.376 63.36-85.376-22.976V544z m0-64V176.96c0-45.056 30.656-61.952 67.904-38.208l362.88 255.872c73.792 47.168 63.36 85.376-22.976 85.376H544z" p-id="7287" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 859 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095186295" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5502" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M981.3504 464.1024l-196.608 0c-22.31296 0-40.40704 18.45248-40.40704 41.16992l0 12.83072c0 22.72256 18.08896 41.10848 40.40704 41.10848l196.608 0c22.3744 0 40.41216-18.39104 40.41216-41.10848l0-12.83072C1021.76256 482.54976 1003.7248 464.1024 981.3504 464.1024zM525.12256 111.1808c-61.13792 49.31072-189.17376 118.48192-281.23648 184.95488L243.712 296.192c-1.05984 0.64-2.10944 4.33664-3.10272 4.97664-10.89536 6.21568-15.81568 23.31136-74.96704 23.31136L50.26304 324.48c-29.63968 0-48.0256 14.11584-48.0256 45.7984l0 281.93792c0 31.744 16.86528 47.44192 48.0256 47.44192l115.84512 0c58.85952 0.05632 63.65696 17.10592 74.496 23.31136 1.0496 0.58368 2.04288 4.33152 3.15904 4.9152l0.11776 0.12288c89.19552 66.46272 218.04032 141.02016 281.23648 188.34432 19.03616 14.22848 82.34496 39.296 82.34496-48.84992L607.4624 156.16C607.46752 68.07552 543.63136 96.18432 525.12256 111.1808zM706.67776 305.50528c10.48064 18.7392 31.15008 23.424 46.2592 10.53696l161.6384-138.27072c15.11936-12.88704 18.8672-38.48192 8.43264-57.22112l-5.85216-10.5472c-10.43456-18.7392-31.16544-23.424-46.26944-10.54208l-161.64352 138.2144c-15.104 12.94848-18.85696 38.53312-8.43264 57.28256L706.67776 305.50528zM914.58048 846.24384l-161.6384-138.15808c-15.10912-12.88192-35.84-8.19712-46.2592 10.42432l-5.86752 10.5472c-10.48064 18.7392-6.67136 44.32896 8.43264 57.27744l161.64352 138.15808c15.104 12.93824 35.77856 8.25344 46.208-10.42432l5.90848-10.5984C933.44256 884.83328 929.62816 859.19232 914.58048 846.24384z" p-id="5503" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095186295" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5502" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M981.3504 464.1024l-196.608 0c-22.31296 0-40.40704 18.45248-40.40704 41.16992l0 12.83072c0 22.72256 18.08896 41.10848 40.40704 41.10848l196.608 0c22.3744 0 40.41216-18.39104 40.41216-41.10848l0-12.83072C1021.76256 482.54976 1003.7248 464.1024 981.3504 464.1024zM525.12256 111.1808c-61.13792 49.31072-189.17376 118.48192-281.23648 184.95488L243.712 296.192c-1.05984 0.64-2.10944 4.33664-3.10272 4.97664-10.89536 6.21568-15.81568 23.31136-74.96704 23.31136L50.26304 324.48c-29.63968 0-48.0256 14.11584-48.0256 45.7984l0 281.93792c0 31.744 16.86528 47.44192 48.0256 47.44192l115.84512 0c58.85952 0.05632 63.65696 17.10592 74.496 23.31136 1.0496 0.58368 2.04288 4.33152 3.15904 4.9152l0.11776 0.12288c89.19552 66.46272 218.04032 141.02016 281.23648 188.34432 19.03616 14.22848 82.34496 39.296 82.34496-48.84992L607.4624 156.16C607.46752 68.07552 543.63136 96.18432 525.12256 111.1808zM706.67776 305.50528c10.48064 18.7392 31.15008 23.424 46.2592 10.53696l161.6384-138.27072c15.11936-12.88704 18.8672-38.48192 8.43264-57.22112l-5.85216-10.5472c-10.43456-18.7392-31.16544-23.424-46.26944-10.54208l-161.64352 138.2144c-15.104 12.94848-18.85696 38.53312-8.43264 57.28256L706.67776 305.50528zM914.58048 846.24384l-161.6384-138.15808c-15.10912-12.88192-35.84-8.19712-46.2592 10.42432l-5.86752 10.5472c-10.48064 18.7392-6.67136 44.32896 8.43264 57.27744l161.64352 138.15808c15.104 12.93824 35.77856 8.25344 46.208-10.42432l5.90848-10.5984C933.44256 884.83328 929.62816 859.19232 914.58048 846.24384z" p-id="5503" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094834869" class="icon" viewBox="0 0 1126 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5350" xmlns:xlink="http://www.w3.org/1999/xlink" width="70.375" height="64"><defs><style type="text/css"></style></defs><path d="M1044.992 1013.76h-957.44s-76.288 11.776-76.288-89.6V101.888S12.8 10.24 105.984 10.24h335.36s40.448-8.704 74.752 44.032c32.256 50.688 50.688 82.944 50.688 82.944s11.776 13.312 38.912 13.312h432.128s76.288-8.704 76.288 76.288v701.44c0.512 0.512 12.288 85.504-69.12 85.504zM973.824 369.664c0-20.48-16.896-37.376-37.376-37.376H191.488c-22.016 0-38.912 16.896-38.912 37.376v3.584c0 22.016 16.896 38.912 38.912 38.912H936.96c20.48 0 37.376-16.896 37.376-38.912v-3.584z" p-id="5351" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 884 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094834869" class="icon" viewBox="0 0 1126 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5350" xmlns:xlink="http://www.w3.org/1999/xlink" width="70.375" height="64"><defs><style type="text/css"></style></defs><path d="M1044.992 1013.76h-957.44s-76.288 11.776-76.288-89.6V101.888S12.8 10.24 105.984 10.24h335.36s40.448-8.704 74.752 44.032c32.256 50.688 50.688 82.944 50.688 82.944s11.776 13.312 38.912 13.312h432.128s76.288-8.704 76.288 76.288v701.44c0.512 0.512 12.288 85.504-69.12 85.504zM973.824 369.664c0-20.48-16.896-37.376-37.376-37.376H191.488c-22.016 0-38.912 16.896-38.912 37.376v3.584c0 22.016 16.896 38.912 38.912 38.912H936.96c20.48 0 37.376-16.896 37.376-38.912v-3.584z" p-id="5351" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 884 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094897853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5802" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M269.380267 0.887467c24.439467 0 44.305067 20.2752 44.305066 45.4656V154.965333c0 25.053867-19.797333 45.4656-44.373333 45.4656a44.919467 44.919467 0 0 1-44.305067-45.4656V46.216533a44.919467 44.919467 0 0 1 44.373334-45.329066z m480.0512 0c24.439467 0 44.373333 20.2752 44.373333 45.4656V154.965333c0 25.053867-19.797333 45.4656-44.373333 45.4656a44.919467 44.919467 0 0 1-44.373334-45.4656V46.216533c0-25.053867 19.933867-45.329067 44.373334-45.329066z" p-id="5803" fill="#8a8a8a"></path><path d="M43.554133 286.242133a44.578133 44.578133 0 0 0-42.666666 33.245867V132.846933C0.887467 89.975467 34.679467 55.296 76.458667 55.296h119.466666V156.330667c0 43.4176 34.2016 78.506667 76.5952 78.506666 42.3936 0 76.663467-35.089067 76.663467-78.506666V55.296h325.700267V156.330667c0 43.4176 34.269867 78.506667 76.663466 78.506666 42.325333 0 76.663467-35.089067 76.663467-78.506666V55.296h119.808c41.847467 0 75.707733 34.679467 75.707733 77.550933v184.456534c0-17.749333-19.933867-31.061333-44.373333-31.061334H43.554133z m935.799467 90.794667c24.576 0 40.004267-13.312 44.373333-29.832533v598.766933c0 42.871467-33.928533 77.6192-75.776 77.6192H76.526933c-41.847467 0-75.639467-34.747733-75.639466-77.6192V343.790933c5.188267 19.114667 22.391467 33.245867 42.666666 33.245867h935.799467z m-199.406933 105.0624a50.107733 50.107733 0 0 0-62.600534 0L452.061867 706.56 318.122667 593.169067a50.107733 50.107733 0 0 0-62.600534 0 33.518933 33.518933 0 0 0 0 53.0432l162.747734 137.762133a48.810667 48.810667 0 0 0 33.928533 10.922667 48.810667 48.810667 0 0 0 33.928533-10.922667l293.956267-248.832a33.723733 33.723733 0 0 0-0.136533-53.0432z" p-id="5804" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094897853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5802" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M269.380267 0.887467c24.439467 0 44.305067 20.2752 44.305066 45.4656V154.965333c0 25.053867-19.797333 45.4656-44.373333 45.4656a44.919467 44.919467 0 0 1-44.305067-45.4656V46.216533a44.919467 44.919467 0 0 1 44.373334-45.329066z m480.0512 0c24.439467 0 44.373333 20.2752 44.373333 45.4656V154.965333c0 25.053867-19.797333 45.4656-44.373333 45.4656a44.919467 44.919467 0 0 1-44.373334-45.4656V46.216533c0-25.053867 19.933867-45.329067 44.373334-45.329066z" p-id="5803" fill="#00b0f0"></path><path d="M43.554133 286.242133a44.578133 44.578133 0 0 0-42.666666 33.245867V132.846933C0.887467 89.975467 34.679467 55.296 76.458667 55.296h119.466666V156.330667c0 43.4176 34.2016 78.506667 76.5952 78.506666 42.3936 0 76.663467-35.089067 76.663467-78.506666V55.296h325.700267V156.330667c0 43.4176 34.269867 78.506667 76.663466 78.506666 42.325333 0 76.663467-35.089067 76.663467-78.506666V55.296h119.808c41.847467 0 75.707733 34.679467 75.707733 77.550933v184.456534c0-17.749333-19.933867-31.061333-44.373333-31.061334H43.554133z m935.799467 90.794667c24.576 0 40.004267-13.312 44.373333-29.832533v598.766933c0 42.871467-33.928533 77.6192-75.776 77.6192H76.526933c-41.847467 0-75.639467-34.747733-75.639466-77.6192V343.790933c5.188267 19.114667 22.391467 33.245867 42.666666 33.245867h935.799467z m-199.406933 105.0624a50.107733 50.107733 0 0 0-62.600534 0L452.061867 706.56 318.122667 593.169067a50.107733 50.107733 0 0 0-62.600534 0 33.518933 33.518933 0 0 0 0 53.0432l162.747734 137.762133a48.810667 48.810667 0 0 0 33.928533 10.922667 48.810667 48.810667 0 0 0 33.928533-10.922667l293.956267-248.832a33.723733 33.723733 0 0 0-0.136533-53.0432z" p-id="5804" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095145931" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5000" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M883.2 326.4c38.4 6.4 70.4 38.4 76.8 76.8v288c0 44.8-32 76.8-76.8 83.2h-153.6v140.8l-179.2-140.8H409.6c-44.8 0-76.8-32-83.2-76.8V409.6c0-38.4 32-76.8 70.4-83.2h486.4zM595.2 160c44.8 0 76.8 32 83.2 76.8V288H403.2c-32 0-57.6 19.2-76.8 38.4-19.2 19.2-32 44.8-32 70.4v262.4l-115.2 140.8v-140.8h-25.6c-44.8 0-76.8-32-83.2-76.8V243.2c0-44.8 32-76.8 76.8-83.2h448zM544 512c-19.2 0-32 12.8-32 32s12.8 32 32 32 32-12.8 32-32-12.8-32-32-32z m192 0c-19.2 0-32 12.8-32 32s12.8 32 32 32 32-12.8 32-32-12.8-32-32-32z" p-id="5001" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 919 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095145931" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5000" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M883.2 326.4c38.4 6.4 70.4 38.4 76.8 76.8v288c0 44.8-32 76.8-76.8 83.2h-153.6v140.8l-179.2-140.8H409.6c-44.8 0-76.8-32-83.2-76.8V409.6c0-38.4 32-76.8 70.4-83.2h486.4zM595.2 160c44.8 0 76.8 32 83.2 76.8V288H403.2c-32 0-57.6 19.2-76.8 38.4-19.2 19.2-32 44.8-32 70.4v262.4l-115.2 140.8v-140.8h-25.6c-44.8 0-76.8-32-83.2-76.8V243.2c0-44.8 32-76.8 76.8-83.2h448zM544 512c-19.2 0-32 12.8-32 32s12.8 32 32 32 32-12.8 32-32-12.8-32-32-32z m192 0c-19.2 0-32 12.8-32 32s12.8 32 32 32 32-12.8 32-32-12.8-32-32-32z" p-id="5001" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 919 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095017221" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8894" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M1022.95228 467.211321c-1.535196-8.699444-7.164248-16.887156-14.840228-22.004476l-111.045846-76.248069c-7.164248-5.629052-16.375424-7.164248-25.074868-5.629052-8.699444 1.535196-16.887156 7.164248-22.004476 14.840228l-23.539672 34.797777-5.11732 7.164248-11.258105 16.375424L977.408131 552.670566l39.915097-59.360912c5.629052-8.187712 7.164248-16.887156 5.629052-26.098333zM872.50307 555.740958L680.603568 840.775686l-22.004476-16.375424 191.38777-282.9878-74.712873-53.73186-207.763194 308.574399c-1.023464 1.023464-1.535196 2.55866-1.535196 4.093856l-36.332973 211.857051c-1.023464 4.093856 1.023464 8.187712 4.093856 9.722908 3.070392 2.55866 7.164248 2.55866 10.746372 1.023464l182.688326-102.858133c1.535196-1.023464 2.55866-1.535196 3.070392-3.070392l211.857051-313.179988-69.595553-48.102809z m-271.729695 408.873873l-34.797776-27.633528L588.491807 813.653889l124.862609 87.506173-112.581041 63.454769z" p-id="8895" fill="#8a8a8a"></path><path d="M860.733234 115.139701c0-63.454769-51.173201-115.139701-113.604505-115.139701H114.627969C51.173201 0 0 51.684933 0 115.139701v747.128729C0 925.723199 51.173201 977.408131 114.627969 977.408131l379.193417-2.55866 31.215652-198.040286 335.696196-498.426974V115.139701zM424.737565 575.186775c0 5.629052-4.605588 10.23464-10.23464 10.23464H189.340842c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.234641h225.162083c5.629052 0 10.23464 4.605588 10.23464 10.234641v8.187712z m113.092773-170.406758c0 5.629052-4.605588 10.23464-10.23464 10.23464h-337.743124c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.234641h338.254856c5.629052 0 10.23464 4.605588 10.23464 10.234641v8.187712z m143.796694-170.91849c0 5.629052-4.605588 10.23464-10.23464 10.23464H189.852574c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.23464h481.539818c5.629052 0 10.23464 4.605588 10.23464 10.23464v8.187712z" p-id="8896" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587095017221" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8894" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M1022.95228 467.211321c-1.535196-8.699444-7.164248-16.887156-14.840228-22.004476l-111.045846-76.248069c-7.164248-5.629052-16.375424-7.164248-25.074868-5.629052-8.699444 1.535196-16.887156 7.164248-22.004476 14.840228l-23.539672 34.797777-5.11732 7.164248-11.258105 16.375424L977.408131 552.670566l39.915097-59.360912c5.629052-8.187712 7.164248-16.887156 5.629052-26.098333zM872.50307 555.740958L680.603568 840.775686l-22.004476-16.375424 191.38777-282.9878-74.712873-53.73186-207.763194 308.574399c-1.023464 1.023464-1.535196 2.55866-1.535196 4.093856l-36.332973 211.857051c-1.023464 4.093856 1.023464 8.187712 4.093856 9.722908 3.070392 2.55866 7.164248 2.55866 10.746372 1.023464l182.688326-102.858133c1.535196-1.023464 2.55866-1.535196 3.070392-3.070392l211.857051-313.179988-69.595553-48.102809z m-271.729695 408.873873l-34.797776-27.633528L588.491807 813.653889l124.862609 87.506173-112.581041 63.454769z" p-id="8895" fill="#00b0f0"></path><path d="M860.733234 115.139701c0-63.454769-51.173201-115.139701-113.604505-115.139701H114.627969C51.173201 0 0 51.684933 0 115.139701v747.128729C0 925.723199 51.173201 977.408131 114.627969 977.408131l379.193417-2.55866 31.215652-198.040286 335.696196-498.426974V115.139701zM424.737565 575.186775c0 5.629052-4.605588 10.23464-10.23464 10.23464H189.340842c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.234641h225.162083c5.629052 0 10.23464 4.605588 10.23464 10.234641v8.187712z m113.092773-170.406758c0 5.629052-4.605588 10.23464-10.23464 10.23464h-337.743124c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.234641h338.254856c5.629052 0 10.23464 4.605588 10.23464 10.234641v8.187712z m143.796694-170.91849c0 5.629052-4.605588 10.23464-10.23464 10.23464H189.852574c-5.629052 0-10.23464-4.605588-10.23464-10.23464v-8.187712c0-5.629052 4.605588-10.23464 10.23464-10.23464h481.539818c5.629052 0 10.23464 4.605588 10.23464 10.23464v8.187712z" p-id="8896" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094219620" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7830" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M995.327442 659.698379a117.661165 117.661165 0 0 0-83.678282-26.309329h-65.773322V513.754686a31.498113 31.498113 0 0 0-32.521253-30.328809H531.917849V390.758574h65.773321a117.588083 117.588083 0 0 0 83.751364-26.309329 100.99859 100.99859 0 0 0 27.770958-78.12409V104.93695A100.99859 100.99859 0 0 0 681.296371 26.81286a117.588083 117.588083 0 0 0-83.751363-26.309329H403.221382a117.588083 117.588083 0 0 0-83.678281 26.309329 100.852427 100.852427 0 0 0-28.136366 78.12409v181.388205a100.852427 100.852427 0 0 0 28.136366 78.12409 117.588083 117.588083 0 0 0 83.751363 26.309329h63.653959v92.740384h-258.708399a31.498113 31.498113 0 0 0-32.521254 30.32881v119.561282h-63.580878a117.515002 117.515002 0 0 0-83.678281 26.309329A100.99859 100.99859 0 0 0 0.323245 737.822469v181.461287a100.779345 100.779345 0 0 0 28.136366 78.051009 117.515002 117.515002 0 0 0 83.678281 26.309328h194.396707a117.661165 117.661165 0 0 0 83.678282-26.309328 100.852427 100.852427 0 0 0 28.136365-78.124091v-181.388205a101.071671 101.071671 0 0 0-28.136365-78.12409 117.661165 117.661165 0 0 0-83.678282-26.309329h-65.773322V544.156577h540.072054v89.232473h-63.580878a117.734246 117.734246 0 0 0-83.751363 26.309329 101.144753 101.144753 0 0 0-28.063284 78.12409v181.461287a100.852427 100.852427 0 0 0 28.136366 78.12409 117.661165 117.661165 0 0 0 83.678281 26.236247h194.396707a117.661165 117.661165 0 0 0 83.678282-26.309328A100.779345 100.779345 0 0 0 1023.463807 919.210674v-181.388205a100.99859 100.99859 0 0 0-28.136365-78.12409z" p-id="7831" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094219620" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7830" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M995.327442 659.698379a117.661165 117.661165 0 0 0-83.678282-26.309329h-65.773322V513.754686a31.498113 31.498113 0 0 0-32.521253-30.328809H531.917849V390.758574h65.773321a117.588083 117.588083 0 0 0 83.751364-26.309329 100.99859 100.99859 0 0 0 27.770958-78.12409V104.93695A100.99859 100.99859 0 0 0 681.296371 26.81286a117.588083 117.588083 0 0 0-83.751363-26.309329H403.221382a117.588083 117.588083 0 0 0-83.678281 26.309329 100.852427 100.852427 0 0 0-28.136366 78.12409v181.388205a100.852427 100.852427 0 0 0 28.136366 78.12409 117.588083 117.588083 0 0 0 83.751363 26.309329h63.653959v92.740384h-258.708399a31.498113 31.498113 0 0 0-32.521254 30.32881v119.561282h-63.580878a117.515002 117.515002 0 0 0-83.678281 26.309329A100.99859 100.99859 0 0 0 0.323245 737.822469v181.461287a100.779345 100.779345 0 0 0 28.136366 78.051009 117.515002 117.515002 0 0 0 83.678281 26.309328h194.396707a117.661165 117.661165 0 0 0 83.678282-26.309328 100.852427 100.852427 0 0 0 28.136365-78.124091v-181.388205a101.071671 101.071671 0 0 0-28.136365-78.12409 117.661165 117.661165 0 0 0-83.678282-26.309329h-65.773322V544.156577h540.072054v89.232473h-63.580878a117.734246 117.734246 0 0 0-83.751363 26.309329 101.144753 101.144753 0 0 0-28.063284 78.12409v181.461287a100.852427 100.852427 0 0 0 28.136366 78.12409 117.661165 117.661165 0 0 0 83.678281 26.236247h194.396707a117.661165 117.661165 0 0 0 83.678282-26.309328A100.779345 100.779345 0 0 0 1023.463807 919.210674v-181.388205a100.99859 100.99859 0 0 0-28.136365-78.12409z" p-id="7831" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094178891" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7558" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M129.281196 0h765.437608C930.686692 0 959.9986 28.67191 959.9986 63.9998v895.9972c0 35.32789-29.247909 63.9998-65.279796 63.9998H129.281196A64.639798 64.639798 0 0 1 64.0014 959.997V63.9998c0-35.32789 29.247909-63.9998 65.279796-63.9998zM256.0008 191.9994v63.9998h511.9984V191.9994H256.0008z m0 191.9994v63.9998h511.9984V383.9988H256.0008z m0 191.9994v63.9998h511.9984V575.9982H256.0008z" p-id="7559" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 804 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094178891" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7558" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M129.281196 0h765.437608C930.686692 0 959.9986 28.67191 959.9986 63.9998v895.9972c0 35.32789-29.247909 63.9998-65.279796 63.9998H129.281196A64.639798 64.639798 0 0 1 64.0014 959.997V63.9998c0-35.32789 29.247909-63.9998 65.279796-63.9998zM256.0008 191.9994v63.9998h511.9984V191.9994H256.0008z m0 191.9994v63.9998h511.9984V383.9988H256.0008z m0 191.9994v63.9998h511.9984V575.9982H256.0008z" p-id="7559" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 804 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094362992" class="icon" viewBox="0 0 1204 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8282" xmlns:xlink="http://www.w3.org/1999/xlink" width="75.25" height="64"><defs><style type="text/css"></style></defs><path d="M1197.244512 286.964082l-577.941648 267.565578a46.155062 46.155062 0 0 1-33.89164 0l-578.387591-267.565578c-9.364795-4.236455-9.364795-11.371537 0-15.830963L585.188253 3.34457a46.155062 46.155062 0 0 1 33.89164 0l577.941648 267.565578c9.364795 4.682398 9.364795 11.81748 0.222971 16.053934z" p-id="8283" fill="#8a8a8a"></path><path d="M595.444933 942.053805c11.148566 0 111.485657-54.18203 181.498651-89.188526 83.837214-42.36455 205.579552-22.297131 205.579552-22.297131a22.297131 22.297131 0 0 0 20.959303-20.959304l-44.594263-329.774574-337.355599 156.07992a52.62123 52.62123 0 0 1-38.797009 0l-337.355599-156.07992-44.594263 329.774574a22.297131 22.297131 0 0 0 20.959304 20.959304s118.843711-11.594508 183.28242 23.857931c75.587276 41.918607 146.046211 87.627727 190.417503 87.627726M102.232385 815.852041a22.297131 22.297131 0 0 1-22.297132-22.297131c0-24.972787-2.898627-54.405001-5.351311-85.398014a1016.526224 1016.526224 0 0 1-3.121599-193.539101c2.898627-20.067418 4.236455-38.574037 5.574283-56.634714 3.790512-51.506374 6.912111-95.877665 44.594263-133.782789A22.297131 22.297131 0 0 1 154.184701 356.754104c-26.756558 26.756558-28.986271 58.418484-32.553812 106.134346-1.337828 17.837705-2.675656 38.128095-5.797254 59.756312a1011.843827 1011.843827 0 0 0 3.34457 183.951335c2.229713 31.661927 4.459426 61.540083 5.351311 87.404755a22.297131 22.297131 0 0 1-22.297131 22.297132z" p-id="8284" fill="#8a8a8a"></path><path d="M53.178695 1023.661307a70.012993 70.012993 0 0 1-33.445697-7.803996 33.445697 33.445697 0 0 1-12.932336-44.594263c8.695881-15.607992 74.026477-89.188526 71.350821-175.924368 0-24.749816-2.898627-53.959058-5.12834-84.952071C68.786688 657.542408 64.773204 603.583349 67.002917 557.428287a33.89164 33.89164 0 0 1 33.445697-32.553812A33.445697 33.445697 0 0 1 133.894311 559.212058c-1.337828 42.810492 2.675656 94.98578 6.243197 145.377297 2.229713 31.661927 4.459426 61.763054 5.351312 87.850698 2.898627 92.310124-15.162049 188.410761-59.979284 225.646971a59.979284 59.979284 0 0 1-32.330841 5.574283z m-1.114856-66.891395z m-2.229713 0z" p-id="8285" fill="#8a8a8a"></path><path d="M91.529762 563.00257m-66.891395 0a66.891394 66.891394 0 1 0 133.782789 0 66.891394 66.891394 0 1 0-133.782789 0Z" p-id="8286" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094362992" class="icon" viewBox="0 0 1204 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8282" xmlns:xlink="http://www.w3.org/1999/xlink" width="75.25" height="64"><defs><style type="text/css"></style></defs><path d="M1197.244512 286.964082l-577.941648 267.565578a46.155062 46.155062 0 0 1-33.89164 0l-578.387591-267.565578c-9.364795-4.236455-9.364795-11.371537 0-15.830963L585.188253 3.34457a46.155062 46.155062 0 0 1 33.89164 0l577.941648 267.565578c9.364795 4.682398 9.364795 11.81748 0.222971 16.053934z" p-id="8283" fill="#00b0f0"></path><path d="M595.444933 942.053805c11.148566 0 111.485657-54.18203 181.498651-89.188526 83.837214-42.36455 205.579552-22.297131 205.579552-22.297131a22.297131 22.297131 0 0 0 20.959303-20.959304l-44.594263-329.774574-337.355599 156.07992a52.62123 52.62123 0 0 1-38.797009 0l-337.355599-156.07992-44.594263 329.774574a22.297131 22.297131 0 0 0 20.959304 20.959304s118.843711-11.594508 183.28242 23.857931c75.587276 41.918607 146.046211 87.627727 190.417503 87.627726M102.232385 815.852041a22.297131 22.297131 0 0 1-22.297132-22.297131c0-24.972787-2.898627-54.405001-5.351311-85.398014a1016.526224 1016.526224 0 0 1-3.121599-193.539101c2.898627-20.067418 4.236455-38.574037 5.574283-56.634714 3.790512-51.506374 6.912111-95.877665 44.594263-133.782789A22.297131 22.297131 0 0 1 154.184701 356.754104c-26.756558 26.756558-28.986271 58.418484-32.553812 106.134346-1.337828 17.837705-2.675656 38.128095-5.797254 59.756312a1011.843827 1011.843827 0 0 0 3.34457 183.951335c2.229713 31.661927 4.459426 61.540083 5.351311 87.404755a22.297131 22.297131 0 0 1-22.297131 22.297132z" p-id="8284" fill="#00b0f0"></path><path d="M53.178695 1023.661307a70.012993 70.012993 0 0 1-33.445697-7.803996 33.445697 33.445697 0 0 1-12.932336-44.594263c8.695881-15.607992 74.026477-89.188526 71.350821-175.924368 0-24.749816-2.898627-53.959058-5.12834-84.952071C68.786688 657.542408 64.773204 603.583349 67.002917 557.428287a33.89164 33.89164 0 0 1 33.445697-32.553812A33.445697 33.445697 0 0 1 133.894311 559.212058c-1.337828 42.810492 2.675656 94.98578 6.243197 145.377297 2.229713 31.661927 4.459426 61.763054 5.351312 87.850698 2.898627 92.310124-15.162049 188.410761-59.979284 225.646971a59.979284 59.979284 0 0 1-32.330841 5.574283z m-1.114856-66.891395z m-2.229713 0z" p-id="8285" fill="#00b0f0"></path><path d="M91.529762 563.00257m-66.891395 0a66.891394 66.891394 0 1 0 133.782789 0 66.891394 66.891394 0 1 0-133.782789 0Z" p-id="8286" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094983565" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8668" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M53.2 921.6c-1.1 0-2-0.9-2-2V258c0-1.1 0.9-2 2-2h764c1.1 0 2 0.9 2 2v661.6c0 1.1-0.9 2-2 2h-764z m323-248.3c13.6 5 26.2 12.2 37.4 21.3 11.2 9.2 20.8 20.1 28.4 32.5 7.8 12.6 13.3 26.5 16.2 41.1l51.9-0.2c-2.1-14.3-5.9-28.3-11.3-41.6-5.4-13.1-12.2-25.4-20.5-36.8-16.5-22.7-37.9-41.3-62.8-54.4 13.9-11.8 25.1-26.5 32.9-42.9 19.3-40.8 15.6-88.7-9.7-126-13.9-20.6-33.5-36.7-56.4-46.3-7.7-3.3-15.8-5.8-24-7.5-8.5-1.7-17.1-2.6-25.8-2.6-70.5 0-127.8 57.4-127.8 127.9 0 37.5 16.5 73.2 45.1 97.5-24.8 13.1-46.3 31.7-62.7 54.4-16.8 23.2-27.7 50.2-31.8 78.6h52.1c2.9-14.5 8.4-28.4 16.1-41.1 15.3-25 38.5-44 65.9-53.9 28-10.3 58.8-10.3 86.8 0z m187-109.1v49.2c0 0.6 0.4 1 1 1h151.6c0.6 0 1-0.4 1-1v-49.2c0-0.6-0.4-1-1-1H564.2c-0.6 0-1 0.4-1 1zM512 461.8V511c0 0.6 0.4 1 1 1h202.8c0.6 0 1-0.4 1-1v-49.2c0-0.6-0.4-1-1-1H513c-0.6 0-1 0.4-1 1zM870.4 768V206.8c0-1.1-0.9-2-2-2H204.8V104.4c0-1.1 0.9-2 2-2h764c1.1 0 2 0.9 2 2V766c0 1.1-0.9 2-2 2H870.4zM317.2 612.9c-4.9-1-9.7-2.5-14.3-4.5-4.6-1.9-8.9-4.3-13-7.1-12.3-8.4-22-20.2-27.8-33.9-16.4-39 1.8-84 40.7-100.6 9.4-4 19.5-6.1 29.7-6 42.4-0.1 76.9 34.2 77 76.6 0 15.4-4.5 30.4-13.1 43.2-8.3 12.4-20.1 22.1-33.9 27.9-14.2 6-30.1 7.6-45.3 4.4z" p-id="8669" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094983565" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8668" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M53.2 921.6c-1.1 0-2-0.9-2-2V258c0-1.1 0.9-2 2-2h764c1.1 0 2 0.9 2 2v661.6c0 1.1-0.9 2-2 2h-764z m323-248.3c13.6 5 26.2 12.2 37.4 21.3 11.2 9.2 20.8 20.1 28.4 32.5 7.8 12.6 13.3 26.5 16.2 41.1l51.9-0.2c-2.1-14.3-5.9-28.3-11.3-41.6-5.4-13.1-12.2-25.4-20.5-36.8-16.5-22.7-37.9-41.3-62.8-54.4 13.9-11.8 25.1-26.5 32.9-42.9 19.3-40.8 15.6-88.7-9.7-126-13.9-20.6-33.5-36.7-56.4-46.3-7.7-3.3-15.8-5.8-24-7.5-8.5-1.7-17.1-2.6-25.8-2.6-70.5 0-127.8 57.4-127.8 127.9 0 37.5 16.5 73.2 45.1 97.5-24.8 13.1-46.3 31.7-62.7 54.4-16.8 23.2-27.7 50.2-31.8 78.6h52.1c2.9-14.5 8.4-28.4 16.1-41.1 15.3-25 38.5-44 65.9-53.9 28-10.3 58.8-10.3 86.8 0z m187-109.1v49.2c0 0.6 0.4 1 1 1h151.6c0.6 0 1-0.4 1-1v-49.2c0-0.6-0.4-1-1-1H564.2c-0.6 0-1 0.4-1 1zM512 461.8V511c0 0.6 0.4 1 1 1h202.8c0.6 0 1-0.4 1-1v-49.2c0-0.6-0.4-1-1-1H513c-0.6 0-1 0.4-1 1zM870.4 768V206.8c0-1.1-0.9-2-2-2H204.8V104.4c0-1.1 0.9-2 2-2h764c1.1 0 2 0.9 2 2V766c0 1.1-0.9 2-2 2H870.4zM317.2 612.9c-4.9-1-9.7-2.5-14.3-4.5-4.6-1.9-8.9-4.3-13-7.1-12.3-8.4-22-20.2-27.8-33.9-16.4-39 1.8-84 40.7-100.6 9.4-4 19.5-6.1 29.7-6 42.4-0.1 76.9 34.2 77 76.6 0 15.4-4.5 30.4-13.1 43.2-8.3 12.4-20.1 22.1-33.9 27.9-14.2 6-30.1 7.6-45.3 4.4z" p-id="8669" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094669817" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20620" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M512 98.2C283.4 98.2 98.2 283.4 98.2 512c0 228.6 185.3 413.8 413.9 413.8 228.6 0 413.8-185.3 413.8-413.8C925.8 283.4 740.6 98.2 512 98.2z m229.7 443.4H541.6v200.1c0 16.4-13.3 29.6-29.6 29.6-16.4 0-29.6-13.3-29.6-29.6V541.6H282.3c-16.4 0-29.6-13.3-29.6-29.6s13.3-29.6 29.6-29.6h200.1V282.3c0-16.4 13.3-29.6 29.6-29.6 16.4 0 29.6 13.3 29.6 29.6v200.1h200.1c16.4 0 29.6 13.3 29.6 29.6s-13.2 29.6-29.6 29.6z" p-id="20621" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 822 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094669817" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20620" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M512 98.2C283.4 98.2 98.2 283.4 98.2 512c0 228.6 185.3 413.8 413.9 413.8 228.6 0 413.8-185.3 413.8-413.8C925.8 283.4 740.6 98.2 512 98.2z m229.7 443.4H541.6v200.1c0 16.4-13.3 29.6-29.6 29.6-16.4 0-29.6-13.3-29.6-29.6V541.6H282.3c-16.4 0-29.6-13.3-29.6-29.6s13.3-29.6 29.6-29.6h200.1V282.3c0-16.4 13.3-29.6 29.6-29.6 16.4 0 29.6 13.3 29.6 29.6v200.1h200.1c16.4 0 29.6 13.3 29.6 29.6s-13.2 29.6-29.6 29.6z" p-id="20621" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 822 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094293677" class="icon" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8056" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M736.9733 45.2953H150.182483940214v877.6849296177191h726.5019447631307V182.4333102156737L736.9733 45.2953zM289.8936 758.4138l-55.8845-54.8548v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 758.4138zM289.8936 580.1367l-55.8845-54.8578v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 580.1367zM289.8936 401.8545l-55.8845-54.8558v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 401.8545zM764.9165 730.9864H513.4344556861836v-27.427404219938882h251.4820574114863V730.9863912267482zM764.9165 566.42H513.4344556861836v-27.427404219938882h251.4820574114863V566.4199672621962zM764.9165 374.4261H513.4344556861836v-27.427404219938882h251.4820574114863V374.42613907770533zM820.8 209.8607h-139.71114371259878V72.7196960460808h27.94122937811552v109.71261484713365h111.76991433448326V209.86071443561264z" fill="#8a8a8a" p-id="8057"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094293677" class="icon" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8056" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M736.9733 45.2953H150.182483940214v877.6849296177191h726.5019447631307V182.4333102156737L736.9733 45.2953zM289.8936 758.4138l-55.8845-54.8548v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 758.4138zM289.8936 580.1367l-55.8845-54.8578v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 580.1367zM289.8936 401.8545l-55.8845-54.8558v-54.854808439877765l55.8845 54.8548 111.7699-54.8548h55.88645621384799L289.8936 401.8545zM764.9165 730.9864H513.4344556861836v-27.427404219938882h251.4820574114863V730.9863912267482zM764.9165 566.42H513.4344556861836v-27.427404219938882h251.4820574114863V566.4199672621962zM764.9165 374.4261H513.4344556861836v-27.427404219938882h251.4820574114863V374.42613907770533zM820.8 209.8607h-139.71114371259878V72.7196960460808h27.94122937811552v109.71261484713365h111.76991433448326V209.86071443561264z" fill="#00b0f0" p-id="8057"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094698796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20846" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M0 934.4c0 12.8 12.8 25.6 25.6 25.6h972.8c12.8 0 25.6-12.8 25.6-25.6V320H0v614.4z m646.4-236.8l128-57.6-128-57.6V505.6l230.4 108.8v51.2L646.4 768v-70.4zM537.6 480h64l-128 320h-64l128-320z m-384 134.4L384 505.6V576l-128 64 128 57.6V768l-230.4-102.4v-51.2zM998.4 64H25.6c-12.8 0-25.6 12.8-25.6 25.6V256h1024V89.6c0-12.8-12.8-25.6-25.6-25.6zM224 185.6c0 6.4-6.4 12.8-12.8 12.8H140.8c-6.4 0-12.8-6.4-12.8-12.8v-44.8c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v44.8z m160 0c0 6.4-6.4 12.8-12.8 12.8H300.8c-6.4 0-12.8-6.4-12.8-12.8v-44.8c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v44.8z" p-id="20847" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1022 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094698796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20846" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M0 934.4c0 12.8 12.8 25.6 25.6 25.6h972.8c12.8 0 25.6-12.8 25.6-25.6V320H0v614.4z m646.4-236.8l128-57.6-128-57.6V505.6l230.4 108.8v51.2L646.4 768v-70.4zM537.6 480h64l-128 320h-64l128-320z m-384 134.4L384 505.6V576l-128 64 128 57.6V768l-230.4-102.4v-51.2zM998.4 64H25.6c-12.8 0-25.6 12.8-25.6 25.6V256h1024V89.6c0-12.8-12.8-25.6-25.6-25.6zM224 185.6c0 6.4-6.4 12.8-12.8 12.8H140.8c-6.4 0-12.8-6.4-12.8-12.8v-44.8c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v44.8z m160 0c0 6.4-6.4 12.8-12.8 12.8H300.8c-6.4 0-12.8-6.4-12.8-12.8v-44.8c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v44.8z" p-id="20847" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 1022 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094797467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5077" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M917.333333 85.333333h-140.8c-19.2 0-27.733333 23.466667-14.933333 36.266667l36.266667 36.266667-168.533334 153.6L377.6 213.333333c-14.933333-6.4-34.133333-2.133333-44.8 10.666667l-234.666667 234.666667c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 10.666667 19.2 14.933333 29.866667 14.933333s21.333333-4.266667 29.866667-12.8l215.466666-215.466666 251.733334 96c14.933333 6.4 32 2.133333 44.8-8.533334l189.866666-174.933333 42.666667 42.666667c12.8 12.8 36.266667 4.266667 36.266667-14.933334V106.666667c0-12.8-8.533333-21.333333-21.333334-21.333334zM693.333333 535.466667V917.333333c0 12.8 8.533333 21.333333 21.333334 21.333334h192c12.8 0 21.333333-8.533333 21.333333-21.333334V358.4c0-19.2-21.333333-27.733333-36.266667-14.933333l-192 179.2c-4.266667 2.133333-6.4 6.4-6.4 12.8z" fill="#8a8a8a" p-id="5078"></path><path d="M394.666667 469.333333v448c0 12.8 8.533333 21.333333 21.333333 21.333334h192c12.8 0 21.333333-8.533333 21.333333-21.333334V544c0-8.533333-6.4-17.066667-12.8-19.2l-192-74.666667c-14.933333-6.4-29.866667 4.266667-29.866666 19.2zM96 744.533333V917.333333c0 12.8 8.533333 21.333333 21.333333 21.333334h192c12.8 0 21.333333-8.533333 21.333334-21.333334V552.533333c0-19.2-23.466667-27.733333-36.266667-14.933333l-192 192c-4.266667 4.266667-6.4 8.533333-6.4 14.933333z" fill="#8a8a8a" p-id="5079"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094797467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5077" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M917.333333 85.333333h-140.8c-19.2 0-27.733333 23.466667-14.933333 36.266667l36.266667 36.266667-168.533334 153.6L377.6 213.333333c-14.933333-6.4-34.133333-2.133333-44.8 10.666667l-234.666667 234.666667c-17.066667 17.066667-17.066667 42.666667 0 59.733333 8.533333 10.666667 19.2 14.933333 29.866667 14.933333s21.333333-4.266667 29.866667-12.8l215.466666-215.466666 251.733334 96c14.933333 6.4 32 2.133333 44.8-8.533334l189.866666-174.933333 42.666667 42.666667c12.8 12.8 36.266667 4.266667 36.266667-14.933334V106.666667c0-12.8-8.533333-21.333333-21.333334-21.333334zM693.333333 535.466667V917.333333c0 12.8 8.533333 21.333333 21.333334 21.333334h192c12.8 0 21.333333-8.533333 21.333333-21.333334V358.4c0-19.2-21.333333-27.733333-36.266667-14.933333l-192 179.2c-4.266667 2.133333-6.4 6.4-6.4 12.8z" fill="#00b0f0" p-id="5078"></path><path d="M394.666667 469.333333v448c0 12.8 8.533333 21.333333 21.333333 21.333334h192c12.8 0 21.333333-8.533333 21.333333-21.333334V544c0-8.533333-6.4-17.066667-12.8-19.2l-192-74.666667c-14.933333-6.4-29.866667 4.266667-29.866666 19.2zM96 744.533333V917.333333c0 12.8 8.533333 21.333333 21.333333 21.333334h192c12.8 0 21.333333-8.533333 21.333334-21.333334V552.533333c0-19.2-23.466667-27.733333-36.266667-14.933333l-192 192c-4.266667 4.266667-6.4 8.533333-6.4 14.933333z" fill="#00b0f0" p-id="5079"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094865150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5576" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M796.444 515.556l130.674-57.999a28.444 28.444 0 0 1 39.993 25.999v317.44a28.444 28.444 0 0 1-39.993 26.026l-130.674-58.026v84.337a56.889 56.889 0 0 1-56.888 56.89H113.778a56.889 56.889 0 0 1-56.89-56.89v-455.11a56.889 56.889 0 0 1 56.89-56.89h625.778a56.889 56.889 0 0 1 56.888 56.89v117.333zM497.778 312.889a99.556 99.556 0 1 1 0-199.111 99.556 99.556 0 0 1 0 199.11z m-199.111 0a71.111 71.111 0 1 1 0-142.222 71.111 71.111 0 0 1 0 142.222z m42.666 426.667a28.444 28.444 0 0 0 42.553 24.69l199.111-113.778a28.444 28.444 0 0 0 0-49.38L383.887 487.31A28.444 28.444 0 0 0 341.332 512v227.556z m56.89-178.546l113.322 64.768-113.323 64.768V561.01z" p-id="5577" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1587094865150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5576" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M796.444 515.556l130.674-57.999a28.444 28.444 0 0 1 39.993 25.999v317.44a28.444 28.444 0 0 1-39.993 26.026l-130.674-58.026v84.337a56.889 56.889 0 0 1-56.888 56.89H113.778a56.889 56.889 0 0 1-56.89-56.89v-455.11a56.889 56.889 0 0 1 56.89-56.89h625.778a56.889 56.889 0 0 1 56.888 56.89v117.333zM497.778 312.889a99.556 99.556 0 1 1 0-199.111 99.556 99.556 0 0 1 0 199.11z m-199.111 0a71.111 71.111 0 1 1 0-142.222 71.111 71.111 0 0 1 0 142.222z m42.666 426.667a28.444 28.444 0 0 0 42.553 24.69l199.111-113.778a28.444 28.444 0 0 0 0-49.38L383.887 487.31A28.444 28.444 0 0 0 341.332 512v227.556z m56.89-178.546l113.322 64.768-113.323 64.768V561.01z" p-id="5577" fill="#00b0f0"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -1,5 +1,7 @@
<view class="module">
<scroll-view class="activities" scroll-y="1" lower-threshold="120" bindscrolltolower="onReachBottom">
<view wx:for="{{activityGroups}}">
<view wx:for="{{activityGroups}}" wx:key="index">
<activity-group date="{{index}}" activities="{{item}}" course_identity="{{course_identity}}" course_id="{{course_id}}"/>
</view>
</scroll-view>
</view>

@ -1,3 +1,6 @@
.module{
height: 100%;
}
.activities{
background: white;
height: 100%;

@ -1,6 +1,6 @@
<view class="activity-group">
<view class="date">{{_date}}</view>
<view class="activity-wrap" wx:for="{{activities}}">
<view class="activity-wrap" wx:for="{{activities}}" wx:key="course_act_id">
<activity-item data="{{item}}" course_identity="{{course_identity}}" course_id="{{course_id}}"/>
</view>
</view>

@ -1,144 +1,268 @@
const app = getApp();
//status:[0,401,409]
const defaultModules=[{type:"activity", name:"课堂动态"}];
const supportModules = ["activity", "attachment", "exercise","shixun_homework", "attendance"];
const defaultModules = [{
type: "activity",
name: "课堂动态"
}];
const supportModules = ["activity", "attachment", "exercise", "shixun_homework", "attendance"];
const nosupportMsgs = {
video:"请使用网页版EduCoder"
};
Component({
properties:{
course_id:Number,
module_type:{
type:String,
observer:function(module){
this.setModule(module,0);
properties: {
course_id: Number,
module_type: {
type: String,
observer: function (module) {
//this.setModule(module,0);
}
},
},
data: {
status:0,
refresh:0,
nav_type:"navigateback",
module:{
type:"activity",
name:"课堂动态"
status: 0,
refresh: 0,
nav_type: "back",
current:0,
module: {
type: "activity",
name: "课堂动态"
},
tabbar_show:1,
course: {},
is_teacher: true,
course_modules: [],
hidden_modules: [] ,
statusBarHeight:20,
windowWidth:375,
hidden_modules: [],
statusBarHeight: 20,
windowWidth: 375,
eduImgDir: global.config.eduImgDir,
scenes:{
401:{
buttons:["点击登录","返回"]
scenes: {
401: {
buttons: ["点击登录", "返回"]
},
409:{
message:"你不是该课堂的成员",
buttons:["加入课堂","返回"]
409: {
message: "你不是该课堂的成员",
buttons: ["加入课堂", "返回"]
},
404:{
message:"该课堂已经被删除了",
buttons:["返回"]
404: {
message: "该课堂已经被删除了",
buttons: ["返回"]
}
}
},
methods:{
switchRole({target:{dataset:{role}}}){
if(!role) return;
app.api("courses.switch_to_"+role)({course_id: this.data.course_id})
.then(res=>{
methods: {
switchRole({target: { dataset: {role}}}) {
if (!role) return;
app.api("courses.switch_to_" + role)({
course_id: this.data.course_id
})
.then(res => {
this.onPullDownRefresh();
app.showMsg(res);
}).catch(app.showError)
},
setModule({type,showToast=1}){
for(var module of this.data.course_modules){
if(module.type==type){
if(supportModules.indexOf(type)==-1){
if(showToast)
onModuleTap({currentTarget:{dataset:{type}}}){
if(this.setModule({type: type})){
this.setData({showModules:0})
}
},
onModuleChange({detail: {index,item}}) {
if (item.type == "more"){
this.setData({
showModules: 1,
current: this.data.current
});
}else
this.setModule({
type: item.type
});
},
setModule({type,showToast = 1}) {
for (var module of this.data.course_modules) {
if (module.type == type) {
if (supportModules.indexOf(type) == -1) {
if (showToast)
wx.showToast({
title: `暂不支持${module.name}模块`,icon:"none"
title: nosupportMsgs[type]||`暂不支持${module.name},请使用网页版`,
icon: "none"
});
this.setData({current: this.data.current});
return false;
}
this.setData({module});
this.setData({
module
});
}
}
for (var i = 0; i < this.data.list.length; i++) {
if (this.data.list[i].type == type) {
this.setData({
current: i
});
return true;
}
}
return false;
this.setData({
current: -1
});
return true;
},
enterShare(){
let {course_id, course} = this.data;
enterShare() {
let {
course_id,
course
} = this.data;
let url = `{course_invite}?course_id=${course_id}&invite_code=${course.invite_code}`;
app.navigateTo({url});
app.navigateTo({
url
});
},
onTapCode() {
let { name, invite_code, code_halt} = this.data.course;
if(!code_halt)
wx.setClipboardData({data: `输入邀请码${invite_code}加入“${name}”吧`})
let {
name,
invite_code,
code_halt
} = this.data.course;
if (!code_halt)
wx.setClipboardData({
data: `输入邀请码${invite_code}加入“${name}”吧`
})
else
wx.showActionSheet({
itemList: ["启用邀请码"],
success:res=>{
app.api("courses.set_invite_code_halt")({course_id: this.data.course_id})
.then(res=>{
success: res => {
app.api("courses.set_invite_code_halt")({
course_id: this.data.course_id
})
.then(res => {
app.showMsg(res);
this.refresh({refresh:0});
this.refresh({
refresh: 0
});
})
}
})
},
switchModule({currentTarget:{dataset:{type}}}){
let list = this.data.course_modules.filter(item=>item.type==type);
if(list[0]&&list[0].type)
this.setModule({type:list[0].type});
},
navigateBack(){
if(this.data.nav_type=="navigateback")
navigateBack() {
if (this.data.nav_type == "back")
wx.navigateBack({
delta:1
delta: 1
});
else
app.reLaunch({
url: '{main}',
});
},
async pullCourse(){
let {course_id} = this.data;
let course = await app.api("courses.top_banner")({course_id});
this.setData({course});
return {course};
async pullCourse() {
let {
course_id
} = this.data;
let course = await app.api("courses.top_banner")({
course_id
});
this.setData({
course
});
return {
course
};
},
async pullModules() {
let {
course_id
} = this.data;
let data = await app.api("courses.left_banner")({
course_id
});
let course_modules = defaultModules.concat(data.course_modules);
course_modules = course_modules.filter(i=>supportModules.indexOf(i.type)>-1);
this.setData({
course_modules
});
this.setTabbar({
course_modules
});
return course_modules;
},
async pullModules(){
let { course_id } = this.data;
let data = await app.api("courses.left_banner")({ course_id });
data.course_modules = defaultModules.concat(data.course_modules);
this.setData(data);
return data;
setTabbar({course_modules}) {
var base = "/course/images/svg/"
if (course_modules.length <= 5) {
var list = course_modules.map(m => {
return {
type: m.type,
text: m.name,
selectedIconPath: base + m.type + "_select.svg",
iconPath: base + m.type + ".svg"
};
})
} else {
var list = [];
for (var i = 0; i < 5; i++) {
if (i == 2)
list.push({
type: "more",
text: "更多",
selectedIconPath: base + "module_select.svg",
iconPath: base + "module.svg"
});
else {
var m = course_modules[i];
list.push({
type: m.type,
text: m.name,
selectedIconPath: base + m.type + "_select.svg",
iconPath: base + m.type + ".svg"
});
}
}
}
this.setData({
list
});
return list;
},
onTapError({detail:{status, target, current}}){
onTapError({
detail: {
status,
target,
current
}
}) {
console.log(target);
switch(status){
switch (status) {
case 401:
if(current==0)
return app.navigateTo({url:"{account}"});
else if(current==1)
if (current == 0)
return app.navigateTo({
url: "{account}"
});
else if (current == 1)
return this.navigateBack();
case 409:
if(current==0)
return this.setData({show_join_course: 1});
else if(current==1)
if (current == 0)
return this.setData({
show_join_course: 1
});
else if (current == 1)
return this.navigateBack();
case 404:
return this.navigateBack();
}
},
refresh({ refresh = 1 } = {}) {
refresh({
refresh = 1
} = {}) {
app.syncUser().then(res => {
this.pullCourse().then(res=>{
this.setData({ status: 200, refresh});
this.pullCourse().then(res => {
this.setData({
status: 200,
refresh
});
})
.catch(e=>{
this.setData({status:e.code});
.catch(e => {
this.setData({
status: e.code
});
});
this.pullModules()
.then(res => {
@ -146,29 +270,44 @@ Component({
});
})
},
changeTabbar({show}){
this.setData({tabbar_show:show});
},
onLoad: function () {
wx.getSystemInfo({
success:res=>{
let { statusBarHeight, windowWidth} = res;
this.setData({ statusBarHeight, windowWidth})
success: res => {
let {
statusBarHeight,
windowWidth
} = res;
this.setData({
statusBarHeight,
windowWidth
})
},
});
let pages = getCurrentPages();
if(pages.length<=1)
this.setData({nav_type:"relaunch"});
if (pages.length <= 1)
this.setData({
nav_type: "home"
});
else
this.setData({nav_type:"navigateback"})
this.refresh({refresh:0});
this.setData({
nav_type: "back"
})
this.refresh({
refresh: 0
});
},
onShow: function () {
if(this.data.status!=200&&this.data.status!=0||this.data.status!=0){
if (this.data.status != 200 && this.data.status != 0 || this.data.status != 0) {
this.refresh();
}
},
onReady:function(){
onReady: function () {
},
onPullDownRefresh(){
onPullDownRefresh() {
this.refresh();
},
onShareAppMessage: function () {

@ -8,11 +8,14 @@
"activity":"/course/modules/activity/activity",
"attendance":"/course/modules/attendance/attendance",
"join-course":"/components/modal/join-course/join-course",
"error-page":"/components/error-page/error-page"
"error-page":"/components/error-page/error-page",
"mp-tabbar": "weui-miniprogram/tabbar/tabbar",
"mp-halfScreenDialog": "weui-miniprogram/half-screen-dialog/half-screen-dialog",
"mp-icon": "/weui-miniprogram/icon/icon"
},
"navigationStyle": "custom",
"navigationBarTextStyle": "white",
"enablePullDownRefresh": true,
"backgroundTextStyle": "light",
"backgroundColor": "#000541"
"backgroundColor": "#0080f0"
}

@ -1,21 +1,11 @@
<wxs module="handler" src="./course.wxs"></wxs>
<view class="page">
<view class="page-bottom">
<view class="page-content">
<view wx:for="{{course_modules}}" bindtap="switchModule" capture-bind:tap="{{handler.hideSideBar}}" data-type="{{item.type}}" wx:key="id" class="wc">
<text>{{item.name}}</text>
</view>
</view>
</view>
<view class="page-top flex-col" data-width="{{windowWidth}}" bindtouchstart="{{handler.touchstart}}" bindtouchmove="{{handler.touchmove}}" bindtouchend="{{handler.touchend}}" bindtap="{{handler.hideSideBar}}">
<view class="body flex-col">
<view class="header" bindtouchmove="{{handler.touchmHeader}}" bindtouchstart="{{handler.touchsHeader}}">
<view class="status-bar" style="height:{{statusBarHeight}}px"></view>
<view class="navigation">
<view class="nav-buttons">
<image mode="aspectFit" src="../../images/{{nav_type}}.png" catchtap="navigateBack" class="nav-button"></image>
<image class="more-img" mode="aspectFit" src="../../images/more.png" data-width="{{windowWidth}}" catchtap="{{handler.changeSideBar}}"></image>
<view class="nav-button" bindtap="navigateBack">
<mp-icon icon="{{nav_type}}" size="{{nav_type=='back'?12:24}}" color="white" type="field" />
</view>
<text class="course-name">{{course.name}}{{module_name}}</text>
</view>
@ -43,10 +33,11 @@
<button wx:if="{{course.switch_to_teacher}}" size="mini" data-role="teacher">切换为老师</button>
</view>
</view>
<view wx:if="{{course.is_admin}}" class="course-footer">
<view wx:if="{{course.course_identity<5}}" class="course-footer">
<block wx:if="{{!course.code_halt}}">
<view class="span" bindtap="enterShare">
<text>邀请成员</text>
<mp-icon icon="qr-code" color="white" size="18"/>
</view>
<text class="sep">|</text>
</block>
@ -58,14 +49,23 @@
</view>
</view>
<view bindtouchstart="{{handler.touchsHeader}}" bindtouchmove="{{handler.touchmBody}}" bindtouchend="{{handler.toucheBody}}" class="module-container">
<attachment wx:if="{{module.type=='attachment'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}"/>
<exercise wx:elif="{{module.type=='exercise'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}"/>
<common-homework wx:elif="{{module.type=='common_homework'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}"/>
<shixun-homework wx:elif="{{module.type=='shixun_homework'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}"/>
<activity wx:elif="{{module.type=='activity'}}" course_id="{{course_id}}" refresh="{{refresh}}" course_identity="{{course.course_identity}}"/>
<attendance wx:elif="{{module.type=='attendance'}}" course_id="{{course_id}}" refresh="{{refresh}}" course_identity="{{course.course_identity}}"/>
</view>
<attachment wx:if="{{module.type=='attachment'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}" />
<exercise wx:elif="{{module.type=='exercise'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}" />
<common-homework wx:elif="{{module.type=='common_homework'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}" />
<shixun-homework wx:elif="{{module.type=='shixun_homework'}}" id_="{{module.id}}" course_id="{{module.main_id}}" refresh="{{refresh}}" />
<activity wx:elif="{{module.type=='activity'}}" course_id="{{course_id}}" refresh="{{refresh}}" course_identity="{{course.course_identity}}" />
<attendance wx:elif="{{module.type=='attendance'}}" course_id="{{course_id}}" refresh="{{refresh}}" course_identity="{{course.course_identity}}" />
</view>
<mp-tabbar ext-class="tabbar" bindchange="onModuleChange" current="{{current}}" list="{{list}}" />
</view>
<error-page status="{{status}}" config="{{scenes}}" bindrefresh="onTapError"/>
<join-course hidden="{{!show_join_course}}" bindsuccess="refresh" auto_navigate="0"/>
<error-page status="{{status}}" config="{{scenes}}" bindrefresh="onTapError" />
<join-course hidden="{{!show_join_course}}" bindsuccess="refresh" auto_navigate="0" />
<mp-halfScreenDialog show="{{showModules}}">
<view slot="desc" class="modules">
<view class="module-item" wx:for="{{course_modules}}" bindtap="onModuleTap" data-type="{{item.type}}">
<image class="module-img" mode="aspectFit" src="/course/images/svg/{{item.type}}_select.svg"></image>
<text class="singlw-ling module-name">{{item.name}}</text>
</view>
</view>
</mp-halfScreenDialog>

@ -1,74 +1,8 @@
var newmark = startmark = 0
var status = 1
var percent = 0.36;
function touchstart(e, ins) {
var pageX = (e.touches[0] || e.changedTouches[0]).pageX
startmark = newmark = pageX
}
function touchmove(e, ins) {
var pageX = (e.touches[0] || e.changedTouches[0]).pageX
newmark = pageX
// var data = ins.getData()
var data = {
windowWidth: e.currentTarget.dataset.width
}
if (startmark < pageX) {
if (data.windowWidth * percent > Math.abs(newmark - startmark)) {
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(' + Math.min(data.windowWidth * percent, ((status == 1 ? data.windowWidth * percent : 0) + newmark - startmark)) + 'px)'
})
}
}
if (startmark > pageX) {
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(' + Math.max(0, ((status == 1 ? data.windowWidth * percent : 0) + newmark - startmark)) + 'px)'
})
}
}
function touchend(e, ins) {
var pageX = (e.touches[0] || e.changedTouches[0]).pageX
newmark = pageX
// var data = ins.getData()
var data = {
windowWidth: e.currentTarget.dataset.width
}
if (startmark < pageX) {
if (data.windowWidth * 0.24 < Math.abs(newmark - startmark)) {
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(' + (data.windowWidth * percent) + 'px)'
})
status = 1 // 展开状态
} else {
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(0px)'
})
status = 0 // 收起状态
}
}
if (startmark > newmark) {
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(0px)'
})
status = 0 // 收起状态
}
}
function changeSideBar(e,ins){
var width=e.currentTarget.dataset.width
status = 1-status;
ins.selectComponent('.page-top').setStyle({
transform: 'translateX('+width*percent*status+'px)'
});
}
function hideSideBar(e, ins){
var width= e.currentTarget.dataset.width
status = 0;
ins.selectComponent('.page-top').setStyle({
transform: 'translateX(0px)'
});
}
var startY = 0;
var show = 1;
var tabbar_show = 1;
function touchsHeader(e, ins){
var pageY = (e.touches[0] || e.changedTouches[0]).pageY
startY = pageY;
@ -113,9 +47,11 @@ function touchmBody(e, ins){
opacity: Math.abs(changeY-45) / 100
})
}*/
//if
}
function toucheBody(e, ins) {
var changeY = (e.touches[0] || e.changedTouches[0]).pageY - startY;
//console.log(startY, changeY);
//if (changeY > 100)
// show = 1;
//else
@ -127,14 +63,13 @@ function toucheBody(e, ins) {
opacity: show,
visibility: show?"visiable":"hidden"
})
if(tabbar_show==changeY<0){
tabbar_show = changeY>=0;
ins.callMethod("changeTabbar", {show:tabbar_show});
}
}
module.exports = {
touchstart: touchstart,
touchmove: touchmove,
touchend: touchend,
changeSideBar: changeSideBar,
hideSideBar:hideSideBar,
touchmHeader: touchmHeader,
touchsHeader: touchsHeader,
touchmBody:touchmBody,

@ -1,33 +1,9 @@
.page-bottom{
.body{
height: 100%;
width: 750rpx;
position: fixed;
background: linear-gradient(0deg, rgb(0, 68, 97),rgb(1,1,78));
z-index: 0;
}
.wc{
color: white;
padding: 30rpx 0 30rpx 40rpx;
}
.page-content{
padding-top: 100rpx;
overflow-y: scroll;
height: 100vh;
}
.page-top{
height: 100%;
position: fixed;
width: 750rpx;
background-color: #efefef;
z-index: 0;
transition: All 0.4s ease;
-webkit-transition: All 0.4s ease;
}
.header{
background-color: rgb(1,1,78);
background-image: linear-gradient(to bottom right,#1670e0, #0092f0,#0981f8);
color: white;
flex: none;
}
@ -44,21 +20,13 @@
width:100%;
z-index: 999;
}
.nav-buttons{
width: 86px;
display: flex;
justify-content: space-evenly;
.nav-button{
flex:none;
padding:0 7px;
}
.nav-button,.more-img{
width: 24px;
height: 24px;
padding: 4px 8px;
padding:0 12px;
}
.course-name{
padding-right: 100px;
text-align: center;
overflow: hidden;
flex: auto;
font-size:14px;
@ -110,7 +78,7 @@
margin: 0 3px;
}
text.sep{
color: grey;
color: lightgrey;
margin: 0 5px;
}
@ -120,8 +88,8 @@ text.sep{
justify-content: space-evenly;
}
.course-buttons>button{
color: #0080f0;
border: solid 1px #0080f0;
color: white;
border: solid 1px white;
border-radius: 5px;
background: transparent;
font-size: 10px!important;
@ -141,7 +109,7 @@ text.sep{
}
.code{
font-size: 12px;
color: chocolate;
color: #d40f0f;
text-decoration: underline;
}
@ -149,3 +117,38 @@ text.sep{
flex: 1 1 1px;
height: 1px;
}
.tabbar{
flex: none;
transition: 2s ease all;
}
.modules{
display: flex;
flex-wrap: wrap;
}
.module-item{
flex:none;
width: 110rpx;
padding: 8rpx;
height: 110rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.module-img{
width: 100rpx;
height: 100rpx;
}
.module-name{
font-size: 12px;
color: dimgray;
}
.weui-tabbar .weui-tabbar__item.weui-bar__item_on .tabbar--weui-tabbar__label{
color: #00b0f0!important;
}
.weui-half-screen-dialog__hd__side .weui-icon-btn.weui-icon-btn_more{
display: none;
}

@ -0,0 +1,2 @@
<textarea></textarea>
<editor/>

@ -17,13 +17,16 @@ accounts:{
attachments:{url:{_:1,DELETE:'*/{attachment_id}',uploadFile:"*"},query,form:{_:1,uploadFile:{file:null},DELETE:{}},config:{method:"uploadFile", name:"file"}},
courses:{ url:{_:"*", DELETE:"*/{course_id}",PUT:"*/{course_id}"},query, form:{_:1,GET:{search:"",limit:20, page:1, order:"all"}, POST:{course_list_name:null,name:null,school: null,end_date: null,class_period:null,credit:null,course_module_types:["shixun_homework","common_homework","group_homework","exercise","attachment","course_group"],authentication:null,professional_certification:null},PUT:{course_list_name:null,name:null,school: null,end_date: null,class_period:null,credit:null,course_module_types:["shixun_homework","common_homework","group_homework","exercise","attachment","course_group"],authentication:null,professional_certification:null}},
act_score:{url:"{course_id}/*", query},
all_course_groups:{url:"{course_id}/*", query},
apply_to_join_course:{query,form:{invite_code:null, professor:void 0,assistant_professor:void 0,student:void 0}, config},
attendances:{url:"{course_id}/*",query, form:{page:1, limit:10, history:void 0}},
calculate_all_shixun_scores:{url:"{course_id}/*", query},
exercises:{url:"{course_id}/*", query, form:{_:1, GET:{page:1,limit:15},POST:{exercise_name:null, exercise_description:""}},
publish:{url:"../{course_id}/exercises/*",query,form:{check_ids: null, end_time:null},config},
},
exit_course:{url:"{course_id}/*",query,config},
export_member_scores_excel:{url:"{course_id}/*", query, config:{method:"downloadFile"}},
homework_commons:{url:"{course_id}/*",query, form:{type:null, page:1, order:""}, disp:"普通作业|实训作业", data:{order:"无:全部,0:未发布,1:提交中,2:补交中, 3:匿评4申诉5已截止"}},
left_banner:{url:"{course_id}/*",query},
top_banner:{url:"{course_id}/*", query},
@ -32,7 +35,8 @@ courses:{ url:{_:"*", DELETE:"*/{course_id}",PUT:"*/{course_id}"},query, form:{_
search_slim:{},
switch_to_assistant: { url: "{course_id}/*", query ,config},
switch_to_student:{url:"{course_id}/*",query, config},
switch_to_teacher:{url:"{course_id}/*",query, config}
switch_to_teacher:{url:"{course_id}/*",query, config},
work_score:{url:"{course_id}/*",query, form:{limit:20, page:1, sort:"desc"}},
},
course_modules:{

@ -96,6 +96,18 @@ export default function ({ name, data:_data = {}, session, success, fail, comple
url, filePath, name:_name, header, timeout, formData,complete, ...handler({success, fail, resolve, reject})
})
});
}else if(method=="downloadFile"){
return new Promise((resolve,reject)=>{
session.downloadFile({
url, header, success:res=>{
resolve(res);
success&&success(res);
}, fail:e=>{
reject(e);
fail&&fail(e)
},complete
})
})
}else
return new Promise((resolve, reject) => {
session.request({

@ -0,0 +1,5 @@
const app = getApp();
Page({
})

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1 @@
/* miniprogram/pages/feedback/feedback.wxss */

@ -3,14 +3,13 @@
<image src="{{imgDir}}blank_info_bg.png"></image>
<text class="color-grey ft14 m12">点击登陆,获取更多内容</text>
</navigator>
<block wx:if="{{user.id}}">
<navigator hover-class="none" url="/account/pages/profile/profile" class="user-info p4">
<image src="{{eduImgDir}}{{user.avatar_url}}" class="avatar fl m4" catchtap="onTapAvatar" data-url="{{user.avatar_url}}"></image>
<view class="user-detail fl">
<text>{{user.name}}</text>
<iconfont catchtap class="auth-tip" type="authentication" color="{{user.authentication?'#00c6da':'#bbbbbb'}}" size="22" info="{{user.authentication?'已实名认证':'未实名认证'}}" />
<iconfont catchtap type="certification" size="22" color="{{user.professional_certification?'#00c6da':'#bbbbbb'}}" info="{{user.professional_certification?'已职业认证':'未职业认证'}}" />
<iconfont catchtap class="auth-tip" type="authentication" color="{{user.authentication?'#00b0f0':'#bbbbbb'}}" size="22" info="{{user.authentication?'已实名认证':'未实名认证'}}" />
<iconfont catchtap type="certification" size="22" color="{{user.professional_certification?'#00b0f0':'#bbbbbb'}}" info="{{user.professional_certification?'已职业认证':'未职业认证'}}" />
</view>
<text class="tip" wx:if="{{!profile_completed}}">完善个人信息</text>
<iconfont type="jinru" color="dimgrey" size="15" class="enter"></iconfont>

@ -16,7 +16,7 @@ Page({
this.setData(res);
})
.catch(e=>{
app.showEror(e);
app.showError(e);
})
},
enterShixun(){

@ -11,11 +11,15 @@
<swiper-item>
<view class="editor-body">
<form class="form-body" bindsubmit="gameBuild">
<textarea class="editor" name="content" value="{{content}}" bindblur="onBlur" maxlength="-1" bindinput="onInput">
<textarea class="editor" name="content" maxlength="-1"
value="{{content}}"
bindblur="onBlur"
show-confirm-bar="{{false}}"
bindinput="onInput">
</textarea>
<view class="operations">
<button class="button-challenge" plain="1" type="main" bindtap="enterChallenge">任务</button>
<button class="button-build" loading="{{building}}" disabled="{{building}}" type="main" form-type="submit">测评</button>
<button id="task-build" class="button-build" loading="{{building}}" disabled="{{building}}" type="main" form-type="submit">测评</button>
<button class="button-outcome" plain="1" type="main" bindtap="enterOutcome">测试集</button>
</view>
</form>

@ -26,10 +26,11 @@
"disablePlugins": [],
"outputPath": ""
},
"bundle": false
"bundle": false,
"skeletonGenerateFilesWithoutConfirm": true
},
"compileType": "miniprogram",
"libVersion": "2.10.3",
"libVersion": "2.2.1",
"appid": "wxc5c2b711f23f3a1d",
"projectname": "educoder_weapp",
"debugOptions": {
@ -105,17 +106,10 @@
"scene": null
},
{
"id": -1,
"name": "course/pages/course_invite/course_invite",
"pathName": "course/pages/course_invite/course_invite",
"query": "",
"scene": null
},
{
"id": -1,
"id": 7,
"name": "course/pages/course/course",
"pathName": "course/pages/course/course",
"query": "course_id=5141",
"query": "course_id=6708",
"scene": null
},
{

Loading…
Cancel
Save