From 7b4ecb62b3aed04bd6a022b5de32614d06ec41f2 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Mon, 4 Nov 2019 15:57:29 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index e6d7add91..04d20fd15 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -289,6 +289,7 @@ Rails.application.routes.draw do post :down_member_position get :right_banner post :appointment + post :update_team_title end collection do @@ -1077,7 +1078,6 @@ Rails.application.routes.draw do post :cancel_homepage_show post :excellent post :cancel_excellent - post :update_team_title end end end From 0916cfe2dee80aa6e20454eb73c3dd46a8fb5d5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 4 Nov 2019 16:09:00 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/config/webpack.config.dev.js | 2 +- .../modules/paths/PathDetail/Modifytext.js | 169 ++++++++++++++++++ .../paths/PathDetail/PathDetailIndex.js | 72 +++++++- 3 files changed, 237 insertions(+), 6 deletions(-) create mode 100644 public/react/src/modules/paths/PathDetail/Modifytext.js diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js index f335f1705..743b3685c 100644 --- a/public/react/config/webpack.config.dev.js +++ b/public/react/config/webpack.config.dev.js @@ -32,7 +32,7 @@ module.exports = { // See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.s // devtool: "cheap-module-eval-source-map", // 开启调试 - devtool: "source-map", // 开启调试 + // devtool: "source-map", // 开启调试 // These are the "entry points" to our application. // This means they will be the "root" imports that are included in JS bundle. // The first two entry points enable "hot" CSS and auto-refreshes for JS. diff --git a/public/react/src/modules/paths/PathDetail/Modifytext.js b/public/react/src/modules/paths/PathDetail/Modifytext.js new file mode 100644 index 000000000..ca12659a9 --- /dev/null +++ b/public/react/src/modules/paths/PathDetail/Modifytext.js @@ -0,0 +1,169 @@ +import React, {Component} from 'react'; +import {Button, Layout, Input, Form} from 'antd'; +import axios from 'axios'; +import {getImageUrl} from 'educoder'; + + +class Modifytext extends Component { + constructor(props) { + super(props) + this.state = {} + } + + componentDidMount() { + + } + + //重新输入教学模式 + Modifytext = () => { + this.props.form.validateFieldsAndScroll((err, values) => { + if (!err) { + const url = `/paths/${this.props.pathid}/update_team_title.json`; + axios.post(url, { + team_title: values.teachingteam + }).then((response) => { + console.log(response); + if (response) { + if (response.data) { + if (response.data.status === 0) { + try { + this.props.showNotification("修改成功!"); + } catch (e) { + + } + try { + this.props.modifysy(2); + } catch (e) { + + } + + + } + } + } + + }).catch((error) => { + console.log(error) + + }) + + + } + }) + + + } + + + render() { + const {getFieldDecorator} = this.props.form; + return ( +
+
+ +
+ +
+
+ + {getFieldDecorator('teachingteam', { + rules: [{ + // initialValue: this.state.cityDefaultValue, + required: true, + message: '请输入模式', + }], + })( + + )} + +
+

+
+ {/*
this.yhBanksfalse()}>

取消

*/} + +
+
+
+
+
+
+ +
+
+ ) + } +} + +const Modifytexts = Form.create({name: 'Modifytext'})(Modifytext); + +export default Modifytexts; + diff --git a/public/react/src/modules/paths/PathDetail/PathDetailIndex.js b/public/react/src/modules/paths/PathDetail/PathDetailIndex.js index ca52cd9d1..b393d1bb6 100644 --- a/public/react/src/modules/paths/PathDetail/PathDetailIndex.js +++ b/public/react/src/modules/paths/PathDetail/PathDetailIndex.js @@ -12,7 +12,7 @@ import Modals from '../../modals/Modals'; import axios from 'axios'; import TPMRightSection from "../../tpm/component/TPMRightSection"; import styled from "styled-components"; - +import Modifytext from './Modifytext'; const getItemStyle = (isDragging, draggableStyle) => ({ // change background colour if dragging background: isDragging ? '#dceeff' : '', @@ -87,7 +87,9 @@ class PathDetailIndex extends Component{ dataquerys:{}, MenuItemsindex:1, MenuItemsindextype:0, - qrcode_img:null + qrcode_img: null, + team_title: "教学团队", + modify: false, } this.onDragEnd = this.onDragEnd.bind(this); @@ -256,6 +258,7 @@ class PathDetailIndex extends Component{ progress:result.data.progress, members:result.data.members, items: getItems(result.data.members.length), + team_title: result.data.team_title }) }).catch((error)=>{ @@ -321,6 +324,7 @@ class PathDetailIndex extends Component{ progress:result.data.progress, members:result.data.members, items: getItems(result.data.members.length), + team_title: result.data.team_title }) }).catch((error)=>{ @@ -458,6 +462,50 @@ class PathDetailIndex extends Component{ console.log(error) }) } + + + modifysy = (i) => { + if (i === 1) { + this.setState({ + modify: true + }) + } else if (i === 2) { + this.setState({ + modify: false + }) + let righturl = "/paths/" + this.props.match.params.pathId + "/right_banner.json"; + axios.get(righturl).then((result) => { + if (result.data.status === 407 || result.data.status === 401) { + debugger + return; + } + + if (result.data.status === 403) { + debugger + // window.location.href = "/403"; + return; + } + + this.setState({ + // detailInfoList:result.data, + tags: result.data.tags, + progress: result.data.progress, + members: result.data.members, + items: getItems(result.data.members.length), + team_title: result.data.team_title + }) + + }).catch((error) => { + console.log(error); + }) + } + } + + setteam_title(name) { + this.setState({ + team_title: name + }) + } render(){ this.updatamakedown("shixuns_propaedeutics"); @@ -475,7 +523,9 @@ class PathDetailIndex extends Component{ tags, qrcode_img, MenuItemsindex, - MenuItemsindextype + MenuItemsindextype, + team_title, + modify } = this.state @@ -613,7 +663,19 @@ class PathDetailIndex extends Component{ { members ===undefined ?"":members === null ?"":
-

教学团队

+ { + detailInfoList === undefined ? "" : detailInfoList.allow_add_member === true ? + ( + modify === false ? +

this.modifysy(1)}>{team_title}

+ : + this.modifysy(i)} + setteam_title={(name) => this.setteam_title(name)}> + ) + + : "" + } { members===undefined? members && members.map((item,key)=>{ @@ -712,4 +774,4 @@ class PathDetailIndex extends Component{ ) } } -export default PathDetailIndex; \ No newline at end of file +export default PathDetailIndex; From 26fa7b56e80901f6250fec79cbd05401d9061648 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 4 Nov 2019 16:10:23 +0800 Subject: [PATCH 03/36] auth qq --- config/routes.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/routes.rb b/config/routes.rb index 04d20fd15..60fbf2dad 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,6 +6,7 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' + get 'auth/qq/callback', to: 'oauth/qq#create' resources :edu_settings scope '/api' do From cbce38672230a11dfab49f3b2fb77d93a14c7ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 4 Nov 2019 16:27:31 +0800 Subject: [PATCH 04/36] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/user/usersInfo/InfosCourse.js | 11 +++++++++++ .../src/modules/user/usersInfo/InfosPackage.js | 13 ++++++++++++- .../react/src/modules/user/usersInfo/InfosPath.js | 11 +++++++++++ .../src/modules/user/usersInfo/InfosProject.js | 11 +++++++++++ .../react/src/modules/user/usersInfo/InfosShixun.js | 11 +++++++++++ 5 files changed, 56 insertions(+), 1 deletion(-) diff --git a/public/react/src/modules/user/usersInfo/InfosCourse.js b/public/react/src/modules/user/usersInfo/InfosCourse.js index 14046d495..8e2478510 100644 --- a/public/react/src/modules/user/usersInfo/InfosCourse.js +++ b/public/react/src/modules/user/usersInfo/InfosCourse.js @@ -151,6 +151,17 @@ class InfosCourse extends Component{ return(
+
  • this.changeCategory()}>全部
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • diff --git a/public/react/src/modules/user/usersInfo/InfosPackage.js b/public/react/src/modules/user/usersInfo/InfosPackage.js index 4b2c655c3..207d32480 100644 --- a/public/react/src/modules/user/usersInfo/InfosPackage.js +++ b/public/react/src/modules/user/usersInfo/InfosPackage.js @@ -168,6 +168,17 @@ class InfosPackage extends Component{ modalSave={this.state.ModalSave} /> +
  • this.changeCategory()}>全部
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • @@ -289,4 +300,4 @@ class InfosPackage extends Component{ ) } } -export default InfosPackage; \ No newline at end of file +export default InfosPackage; diff --git a/public/react/src/modules/user/usersInfo/InfosPath.js b/public/react/src/modules/user/usersInfo/InfosPath.js index 0b1437f40..429495cf1 100644 --- a/public/react/src/modules/user/usersInfo/InfosPath.js +++ b/public/react/src/modules/user/usersInfo/InfosPath.js @@ -160,6 +160,17 @@ class InfosPath extends Component{ return(
    +
  • this.changeCategory()}>全部
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • diff --git a/public/react/src/modules/user/usersInfo/InfosProject.js b/public/react/src/modules/user/usersInfo/InfosProject.js index 302d6def1..ee2cc13b0 100644 --- a/public/react/src/modules/user/usersInfo/InfosProject.js +++ b/public/react/src/modules/user/usersInfo/InfosProject.js @@ -162,6 +162,17 @@ class InfosProject extends Component{ return(
    +
  • this.changeCategory()}>全部
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • diff --git a/public/react/src/modules/user/usersInfo/InfosShixun.js b/public/react/src/modules/user/usersInfo/InfosShixun.js index cad70e716..0b6a33571 100644 --- a/public/react/src/modules/user/usersInfo/InfosShixun.js +++ b/public/react/src/modules/user/usersInfo/InfosShixun.js @@ -160,6 +160,17 @@ class InfosShixun extends Component{ return(
    +
  • this.changeCategory()}>全部
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • From ddef6b35d3f65b0b1b72abf624aafaff9b002fd7 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Mon, 4 Nov 2019 16:34:48 +0800 Subject: [PATCH 05/36] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/public/js/readme.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/public/react/public/js/readme.txt b/public/react/public/js/readme.txt index 348460500..35c0dc858 100755 --- a/public/react/public/js/readme.txt +++ b/public/react/public/js/readme.txt @@ -14,4 +14,9 @@ http://codemirror.net diff_match_patch codemirror merge.js -从 edu_tpi.js 挪过来的js \ No newline at end of file +从 edu_tpi.js 挪过来的js + + +修改过的地方: +Raphaël 2.1.3 +Element= -> __Element= Element= 替换成了 __Element= \ No newline at end of file From ea64ba76ecca71749c320637d9298a45a9b31058 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Mon, 4 Nov 2019 16:46:23 +0800 Subject: [PATCH 06/36] cdn --- public/react/scripts/readme-cdn.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 public/react/scripts/readme-cdn.txt diff --git a/public/react/scripts/readme-cdn.txt b/public/react/scripts/readme-cdn.txt new file mode 100644 index 000000000..7d090ee7a --- /dev/null +++ b/public/react/scripts/readme-cdn.txt @@ -0,0 +1,16 @@ +目前是判断域名的方式动态访问对应的cdn资源 +静态资源处理在build.js中,如下代码: +if (window.location.host == 'pre-newweb.educoder.net') { + _host = 'https://testali-cdn.educoder.net/react/build/' +} else if (window.location.host == 'www.educoder.net') { + _host = 'https://ali-cdn.educoder.net/react/build/' +} + +只对预上线和正式版做了处理 + +动态的chunk资源处理在public-path.js中,如下代码: +if ( window.location.host == 'pre-newweb.educoder.net') { + __webpack_public_path__ = 'https://testali-cdn.educoder.net/react/build/' +} else if ( window.location.host == 'www.educoder.net') { + __webpack_public_path__ = 'https://ali-cdn.educoder.net/react/build/' +} \ No newline at end of file From b97bd045b84ab84978ccc6e83da71ba09acb2860 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Mon, 4 Nov 2019 16:47:56 +0800 Subject: [PATCH 07/36] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/scripts/build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/react/scripts/build.js b/public/react/scripts/build.js index b874ed6b6..e3350c5be 100644 --- a/public/react/scripts/build.js +++ b/public/react/scripts/build.js @@ -173,7 +173,7 @@ function copyPublicFolder() { }); } - +// 给build脚本增加的方法,对其生成的index.html做一些文本替换,以及cdn处理 function generateNewIndexJsp() { // var combinedStream = CombinedStream.create(); var filePath = paths.appBuild + '/index.html'; From e2e9a389f6c15e81fc6d877d9077e9f5442c93c2 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 4 Nov 2019 16:49:21 +0800 Subject: [PATCH 08/36] qq auth --- app/controllers/admins/mirror_repositories_controller.rb | 1 - app/controllers/oauth/base_controller.rb | 5 +++++ app/services/admins/check_shixun_mirrors_service.rb | 2 +- config/initializers/omniauth.rb | 3 +++ config/routes.rb | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/controllers/admins/mirror_repositories_controller.rb b/app/controllers/admins/mirror_repositories_controller.rb index aed8dc09e..63e4667d1 100644 --- a/app/controllers/admins/mirror_repositories_controller.rb +++ b/app/controllers/admins/mirror_repositories_controller.rb @@ -87,7 +87,6 @@ class Admins::MirrorRepositoriesController < Admins::BaseController end def check_shixun_mirrors! - return return unless request.format.html? Admins::CheckShixunMirrorsService.call diff --git a/app/controllers/oauth/base_controller.rb b/app/controllers/oauth/base_controller.rb index e2eb26a2a..a9c3f9fe4 100644 --- a/app/controllers/oauth/base_controller.rb +++ b/app/controllers/oauth/base_controller.rb @@ -1,9 +1,14 @@ class Oauth::BaseController < ActionController::Base include RenderHelper include LoginHelper + include ControllerRescueHandler skip_before_action :verify_authenticity_token + def auth_failure + render_error(params[:message]) + end + private def session_user_id diff --git a/app/services/admins/check_shixun_mirrors_service.rb b/app/services/admins/check_shixun_mirrors_service.rb index 868fab042..fc0744867 100644 --- a/app/services/admins/check_shixun_mirrors_service.rb +++ b/app/services/admins/check_shixun_mirrors_service.rb @@ -78,7 +78,7 @@ class Admins::CheckShixunMirrorsService < ApplicationService url = EduSetting.get('cloud_bridge') res = Faraday.get(url) - raise Error, '拉取镜像信息异常' if res && res['code'].nonzero? + raise Error, '拉取镜像信息异常' if res && res['code'].to_i != 0 res rescue => e diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 27ade9ed4..5bd5ceeea 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -1,4 +1,7 @@ OmniAuth.config.add_camelization 'qq', 'QQ' +OmniAuth.config.on_failure = Proc.new { |env| + OmniAuth::FailureEndpoint.new(env).redirect_to_failure +} oauth_config = {} begin diff --git a/config/routes.rb b/config/routes.rb index 60fbf2dad..796d1d989 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -7,6 +7,7 @@ Rails.application.routes.draw do get 'attachments/download/:id', to: 'attachments#show' get 'attachments/download/:id/:filename', to: 'attachments#show' get 'auth/qq/callback', to: 'oauth/qq#create' + get 'auth/failure', to: 'oauth/base#auth_failure' resources :edu_settings scope '/api' do From 77be614b7b8a36e6fd4b7257bb7d73f7b640c97f Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 4 Nov 2019 16:59:12 +0800 Subject: [PATCH 09/36] auth ignore state --- config/initializers/omniauth.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 5bd5ceeea..590943c2a 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -16,5 +16,5 @@ rescue => ex end Rails.application.config.middleware.use OmniAuth::Builder do - provider :qq, oauth_config['appid'], oauth_config['secret'] + provider :qq, oauth_config['appid'], oauth_config['secret'], { provider_ignores_state: true } end From 5370748b5d3f9a92509c126c83d558d402e22648 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Mon, 4 Nov 2019 17:19:24 +0800 Subject: [PATCH 10/36] =?UTF-8?q?=E9=95=9C=E5=83=8F=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/admins/check_shixun_mirrors_service.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/services/admins/check_shixun_mirrors_service.rb b/app/services/admins/check_shixun_mirrors_service.rb index fc0744867..8334df485 100644 --- a/app/services/admins/check_shixun_mirrors_service.rb +++ b/app/services/admins/check_shixun_mirrors_service.rb @@ -77,10 +77,11 @@ class Admins::CheckShixunMirrorsService < ApplicationService @_bridge_images ||= begin url = EduSetting.get('cloud_bridge') res = Faraday.get(url) + res_body = JSON.parse(res.body) - raise Error, '拉取镜像信息异常' if res && res['code'].to_i != 0 + raise Error, '拉取镜像信息异常' if res_body && res_body['code'].to_i != 0 - res + res_body rescue => e Rails.logger.error("get response failed ! #{e.message}") raise Error, '实训云平台繁忙(繁忙等级:84)' From 2fe69f36c83f6369a1ab318b385a528728b5ce0c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Mon, 4 Nov 2019 17:26:56 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E5=AE=9E=E8=AE=AD=E9=85=8D=E7=BD=AE=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/shixun_settings_controller.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/admins/shixun_settings_controller.rb b/app/controllers/admins/shixun_settings_controller.rb index 9919c7daa..d635ae8df 100644 --- a/app/controllers/admins/shixun_settings_controller.rb +++ b/app/controllers/admins/shixun_settings_controller.rb @@ -1,8 +1,7 @@ class Admins::ShixunSettingsController < Admins::BaseController def index - params[:sort_by] = params[:sort_by].presence || 'created_on' - params[:sort_direction] = params[:sort_direction].presence || 'desc' + default_sort('created_at', 'desc') shixun_settings = Admins::ShixunSettingsQuery.call(params) @editing_shixuns = shixun_settings.where(status:0).size From e0620ca1a4dbe4d7ef9715ab7eab42e51de5a3c8 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 4 Nov 2019 17:31:35 +0800 Subject: [PATCH 12/36] set log to auth2 --- config/initializers/omniauth.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 590943c2a..3eed48c20 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -1,4 +1,5 @@ OmniAuth.config.add_camelization 'qq', 'QQ' +OmniAuth.config.logger = Rails.logger OmniAuth.config.on_failure = Proc.new { |env| OmniAuth::FailureEndpoint.new(env).redirect_to_failure } From 1a75401c08462900c196caa78d1b2e4f2756eff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Mon, 4 Nov 2019 17:32:00 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/public/css/demo_index.html | 46 ++++++++++++++++++ public/react/public/css/iconfont.css | 20 +++++--- public/react/public/css/iconfont.eot | Bin 68456 -> 68776 bytes public/react/public/css/iconfont.js | 2 +- public/react/public/css/iconfont.json | 14 ++++++ public/react/public/css/iconfont.svg | 8 ++- public/react/public/css/iconfont.ttf | Bin 68288 -> 68608 bytes public/react/public/css/iconfont.woff | Bin 43996 -> 44252 bytes public/react/public/css/iconfont.woff2 | Bin 36992 -> 37316 bytes .../educoder/iconfont/demo_index.html | 46 ++++++++++++++++++ .../educoder/iconfont/iconfont.css | 20 +++++--- .../educoder/iconfont/iconfont.eot | Bin 68456 -> 68776 bytes .../stylesheets/educoder/iconfont/iconfont.js | 2 +- .../educoder/iconfont/iconfont.json | 14 ++++++ .../educoder/iconfont/iconfont.svg | 8 ++- .../educoder/iconfont/iconfont.ttf | Bin 68288 -> 68608 bytes .../educoder/iconfont/iconfont.woff | Bin 43996 -> 44252 bytes .../educoder/iconfont/iconfont.woff2 | Bin 36992 -> 37316 bytes 18 files changed, 164 insertions(+), 16 deletions(-) diff --git a/public/react/public/css/demo_index.html b/public/react/public/css/demo_index.html index 8a75ddb27..c88449b3f 100644 --- a/public/react/public/css/demo_index.html +++ b/public/react/public/css/demo_index.html @@ -222,6 +222,12 @@
    &#xe693;
    +
  • + +
    关注
    +
    &#xe6c0;
    +
  • +
  • 礼物
    @@ -324,6 +330,12 @@
    &#xe678;
  • +
  • + +
    关注
    +
    &#xe6c5;
    +
  • +
  • 喇叭
    @@ -1718,6 +1730,15 @@
  • +
  • + +
    + 关注 +
    +
    .icon-weibiaoti105 +
    +
  • +
  • @@ -1871,6 +1892,15 @@
  • +
  • + +
    + 关注 +
    +
    .icon-guanzhu +
    +
  • +
  • @@ -3740,6 +3770,14 @@
    #icon-renzhengxinxi
  • +
  • + +
    关注
    +
    #icon-weibiaoti105
    +
  • +
  • #icon-dashujucunchu
  • +
  • + +
    关注
    +
    #icon-guanzhu
    +
  • +
  • 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 diff --git a/public/react/public/css/iconfont.woff2 b/public/react/public/css/iconfont.woff2 index 831bde7257540fc7d801433e5f3337da4c9a634c..df3b0207bfc3f07bb1ac1ebe5592fc5cd6a2a7a2 100644 GIT binary patch literal 37316 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%0A6Z*0Gq(q-;YnI_B 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 Aga7~l literal 36992 zcmV(~K+nH-Pew8T0RR910FZzH3jhEB0SdqX0FW;L0RR9100000000000000000000 z0000SLIzd3Z3mSa8$i^D4k-*92LQwi4=#|K zXUgqRX8OX@6YhAA13ZSE+5i7pNyiut)B&WGzWSe_q?v1sgvBPziS8qk(!nH!8Fn59 zKO+e{oSe(Gz1?ZKluuT_DlXNjIt!AeUhS^2vyk$-)LG|jZm@_%thqhf#JA%XH&V-= zmHr!e(BD@^iybKrbagm22TP;c0^5eYXms@Cfp@>x`(E zHYzz>NJg;;_RSCBqBG}8&T|9t|Gu2ocVD~T-nyzJbzngd*xgTok91;zlMH#B0rUXt zB3-R38D`k#B?61zFFl=jAe$6H0l@BiMG&T}4jc+y@GKni>`Z|FwKcMSug?F@#3LB# z%9b%!p7RK}{j|^#l+{Py{hm|#E_wP zvyc2HcRqsbdZG4AjP^_<`6a(2k;+O02vSi9uww0M+nLFUHUNVGXBYsSHu?hi=d0R3 zKuXCQfRya4%GOpu!X?>Nv7>E0$?Avr1?Tky%F9LhXF-ct zTdc69eHKK(z;+m1i{?TuD%Y+(J>UNT#s5D53LhjbfYM1IrCkA( zcJx7McPUD?q)X6RX9cH}1dtm@X~!a^-971I=85be#nNSI7ft7)bm^k% zjW{^ICz=hw(o4R!S81mBDJbw1KuF}=uj; ztOS&}SEwOev>dHM)#1^)sqn%SiHBC&dJ|bUm~-e8q8-@QiEtL~{pxjc2Uwui2m;GV z9cWdug(A;<6y565AgC>)^(jpdvNL) zTRYF6?c)CrdEx@5&c`$8lJ8k-7q<9JO!&PEDfHAd{=)PORd!~sIxoK}ByrNQDRb5lNtiDdyz*(}C*Vwc?wr$0#=JuA>mFrfoS*u^aVdJLGuI`@Aj$3;B zc5d5h(Z6HY?!5zp`+qxdP=H%EJw{~`V+boFjGf`PqoNfIdxJ5;%ZW)MC;#9O>G^o< zAuAhiuH5#b-*ykzQkR~)WhyFUK!lh=nB<{6`m@r0fZ zvS~(m$tzy-hSkRijJEaeJ92-|vKYdH)6%5fbMnfubC)Bx5NIQ}1d9_R0SJE{`3>2} z66#O@4Jm|r6hRw`;T4oXBTC^3Wl%yn)Sv>=sDx%z!DFhS2Q|=#01Zn# zVIWN~h-Q#aa~Mnu7(z=JN-G#fYZyrz7*1OlO*^5cbG&Em`qQIqZdr2H%y}sOs6l*pdZYnKg?nP%w{0WVGzt^FwA2J%x5SpU>Gc6 zI4orZEMz1sV-zfBG-NOa7BLnUGY;|?4=b1eE13wZm;^nU4C|Q!tCUS47*tZdsqs4SqA%94*OXF2UrPJ zSOo`J4M$l6$5;y|SqFz%4~N(Qg=~c5Y=RSPhEr^T(`<#aY=d)bhx6=!i|m9;?1Ibe zhAZrW0`@`}U?1FKKV)$LZgUV~IRuFuhDg8>IKxp00LLJOl;Wo784z%Mg zwBQ~*hx^c*2M`K)2$?*BVje>&PoM!$A(v;+isw+q3wQ}Hp)s%E2(O_oZ=e=$;Xdym z2Jjwk@B!-c5t{M|I`A1jz!!K1U*R=;gGzjdH}C`A!cTYyzu-OmhA;33KEhx41plBi z|KT$%(I)hfHlv@k1p}n57$j{&i?khgq#ZG7Cx%G7FihHwXQVwCCGEu+X&;`D_M?Y% z03Fgnj3*t!3sM3`NJ)4}O2#YFVZ0_Cx!+1X8L=AaG9Hs|AdqfjCek}xl|G_Z`hk7q z5F8<=zolCai*1JtGOqg3uc_rsucGv zeN?qi86$XRnt?pa9cxZ+31Mn4oCj8FEd(M)h?RIom8dV3VptV3p@lH@3MW{`-$5xC z6#hc80CcvIT+OAq1a*Y9V0sJDTy@gYU}<_)HG+(iBpV@wsWyRGvKCLE&|A%@VjTt- zi;?1HTWfm(Wd?j_Ogyy9#>ljhG}*0+mQ1bC_2nqMzo6}p^X&`?1IltZ>|>>}r5h6H zhTtIpJ6$ln(ztkOorQD3U6fLdKQ0EypT;;Cl7E`U%L5q`{x3)SUrIdJG!z1*J`9v) zcZ0y6laE-HKwq3_J@2-jxoJ|ObkoQQK6mr81#g$dL3o;K(u&mm25 zv@w=N#l1$e_=kA&S>!Rdj@c1aGoA~#QboNN+$`InFG7mtVyqzLz56|VznoU&`P)%&34S~c^5zcC#B{IJ(Ah*-k>|7DX zpHebEc1>O7Chj;{V~&t>qtIw<2H>v6fk14kd{~?dtFelvn733k{QxiCapJX6Z$11E z*$LT4tyss>9jRi6K$ZYQR_t8cE<@uDYr@so7;zvFtPgr^bBAyoYv-e!5XYjUATh2* zpa)JR0k11!85%<8JrC9e_mB=Q?BFQEU(HxtM<9}Gjh-(oyM0BT( zg8Fyxdf#*=>GyD@6U`Gr?K0;3#PcZTvyQ)ga_4_`KxH=M+@_%)N{3k)TX=%h=3kqhrBh^Pmm}*&@jvXsof-$bVWP2v zI|ub{eIgpBZ+esAAbD+@vnvU+we80m`NyU-(o9Ig5WPBeO(q)h%~!gHr=@Thzf?NZ^gSexaBd)koY88(8j0T`*lP%Eqx}vN9{z?jRQq{qP6HzPR$<| zMD{Du65H~WNI|Wl_D2KwT6P|N8Yqdes=cbm!s>v9&Z?~`mjLxd?B@S|TqD2LeI7>M ztcy}&QAal&MY-o1wa-P*DTeoE{U-xudi(VcUsv9UMQHz}CRV=q#>)4O+!xjCZ=U(b z7a}PNy)tlWkGwURQvj)40HqpAx?;rq<^ha8HvP@8I_d^&BU9vH!HI^PG>UqzR)LCw zLSmsqveF@qGB{^eK$K%w>wb4#pa+#Mb&ZS>&aUlgKWd1v@XJiK9L>1>R+*ejA=a9O zKFqU=iiT+zjWr}^k^n&cucw~$`hr&l^HgJfBSE8Kv+{Sr1k(a?DmMj=ts=`eo~r}H zQ_H_vyDpeSL#@{kzSnaV3S5svOhQMc1r~D3b-XYp+o;`~CQMPt5maD48N=&lUA$k@ zLUJMD^h|0(qXEvGg+sVt#OItBcTBMYb1^X?t^L_JG+0iaTAEu{|Ljc7SRVP-!4cVd zRJPYvGM(w9ZgX*vqtZ}&sR+hzNs@DcACpWO2p?&3$rKeiko9#@DF&gqRuJfX??N2z z9$90o>!ns}p<7~Mq0BIWxBc)r^G{u=uEDS z`!D=Z_qdKq)T?AXRkSfzg}%=hC%TmgsDgMds)AO>0jUYxdEVPkdN;e6EIBrzkjBEF z(FMN$B#j4`W|p$%zR}-_4W#&ab#!dM3^nK4xjK{7T?q)l=>^x##g7)+A7&2sH~UF< z_`(yns5u^EQNUPqW@3S}h~n85O(<3h@b+d#sJP8{+;YB=L$tFv`^}$Ae}rfvJCL2z z&F$<}UHeh4BE}nYid@R-nPbXD!JZz7mdn3`!vJ$p012Uk2CfBwk+$^-M>e@Fk_sxtNGKy4BC&ZHYQ;g{mFuv_@Zl9wOUx}HT&MbXRR3NhLb?@# zI}0u;oi#`b{HULrM`Y9$P<3JO1e}|PwBh8b!LyH1Qx8EJx0=4HJf4wA7qzw^{=PxR zV_DjV-S1~t4RQ+)O+-!WJ){898Wsi(t0?fZ2ph*wFd!7c21+gOUrUi~7*dwVK?R!~l*5{1?C8Cbp_1h++W^vO<@Sy=;3-L^c z9zUvUC~&3#EUayisKf2CXc3!lQH#8%>I~gu#nBZ!SkiuyPF?({phnrXuxRdgur9HP zC2_&YYI{k|)(JY(2T927HCVmX6Qpx=yyk}#rBBT@P8p4BJ;j;X@U}ABUN~cmm=>07 zo}X&ub=%_|UuH_DWJU+DcK3dfZL}R4w&P6gwd@=b6|gB}bS&YTNh--G1Ug;218-W* zSh6G3?RZy=N_3vppwD>$CD(T5UEqA`RkCs5VN_3ymSbw@6bPY8M;s`2MgT4J=1-3`~*NMLM?5PE|w!wm)qxd5>4wV`nHde04d z$->P7D@|Cmv$EZtDMf@tn$fJ;LxN+XazbCaSB-L(op|`)6q}L{-4r76TyE4+8dSH{ z%eMR3%jQ&f%`Q;K3s9IdOWvEz|{B@ok@GtORy+rzc``0&vY;lE_u{IjO8Z1< zrr!{}AS7fU(oI|W?_=O(`=dpB_we-Ite&pP5OR2f1;tuG3kSK-U>~8rE8REBbhh0) zz=Qh4eg6gqPu=@>s8>SStZR*vU_EntX4DLcoM0_dX{*Hh9Vr~?bZdB&*mR!wHmCKu z?XK-wI|vp%8vn-T^8BFBF%2aFPRYa#J9;HD)_OunFbF%im==a>? znFpk@q;Aq%rdi$YclGY!h744tHFQ_gxsr~=zkuezvAU_TI9Ly3D!&N!N4g53+!!s2 zj_+d*WlIIyYs(~5p4%}zG=paBDl`swh-qXSJiVu(>Z(#suq#*^{!t?;y9R=WRIMYh zvKYy&>JtRkzii zBatp)fyddv(QhxTJJ-Z`xPhUzV`5Y(=-si{;+O=uLf3n3`1Q*GN8S8QF4GPP*Dytt zh=lvqMGh(8J|Y@^vpAjF5B1>7**2d*9N_Pp0G1@;jr7R-MCp>D!5i;VU6Pb@HUxW*}U+RDLHw3F|7t8h!dz)7(d&T)%$U zLr&VA(I&+r>t@&X7;7P2BPht9KDMQuUL|SkkF=j~TQuEFw{9TRO(%vK;B2BJh``}X zuZm0lRo!koC2?*!&)AuC-ytLcyubS( zUE7m{-SyV@<<2zbeB8@%yYKB8mACwCKc1|&=sn`MP(dH=vVGV-Ey!UW)MsmB12ezw z*u-*>o1$sAPAa7)(2z1Tfd!XYE?CHPQ2NF$kmgeqtcU_;hO2qe^2n=!*nshdP- zkHFo^{9{?pf9zhURI|Qr*3HJmFKFFAJgQ36AV`1dOPvvQJKBS{Req(S;Gv+8uMy&^ z(ePu&@8aY5nM=PX!xG+jl40+_JLrT-3i$LMl&f6Mc$p#K#H|W`r(}D8`8i5we$|_k zI+3WdoZC|~hepIyNqx8ERcoinx2m|Z@uZKc{(;w65uY%uStU;&z@=%M5zjlrN1Ruf zH#?SKm{J0iDeL-?bpd1XhIdP$H>abb|3R`4)udg3kt87}Up7#)3X}ueAe5uv!3eRT zFQX==*W?r}{X%?|o(}RxjDhr6y>x56HG?*=DT9mt0{U8)6DqZ%Ar5s3O{_eHttgVn zx}i=b=2>n-wl*tp1iR88U(JI(A~W)OH~GPdeB3Nr1txJJw8MY&IsTcu2LSpk5MdVQ zrlv}18??*7FIMUDHE#YQe_vIV^Z5iY>ojh z3ksKh9dPyXY3zyxe6~;X3edM&j?n5SgGl{BEuRJ+ZgFX`PM_vH@^NPm3D;42wBa&- zNQH6zQFL`dG~6`PT@z}?S*5oL@b2}QccahB7gm^yoU+5FR!}tKKj75}@RntR(I;?V zvxE?jkp{N)pca&Qh~7r`w0(QPV5bLhBL))$$)U+*Dc4hYQXI+_zNPL z;g(%ajTv*je(a;D-{`M4@>2;}g6Jqhff&F)flU||*)TR3$FfLRM7YNVT~b(&4}w9W z?y-RU-)!@cT#Yqb)#WQp5mC?{@#OFelT-f3c4P$AZ|UESuiBRqX%i7LHyY=u`6vCdtMpzq5E!oKxoF|1bc}~Q`sm9ncV+>?a$HrZh)`wh$N3{C+&X;txaOrd zpPxAD1oSaPQT|kD{2UMIkKcZK1)ruz!{Hul`-aXxP6ujo>s{ z?fmNyMrLVvUTm}i-ey6_G%%QB)n5ZDR>Pto@1;$G)GVl9qnK13Ry4x}wap9q!8nU#KVd0u)BxK5h#;`C^}oX;NSUVVZcCz}8`nE3?R#I#A| z<3@uq0dU7uQ-Rv%B%=p%(0G2P@qM}s_rs1#4~b39bK;)8+VD0CY`9^fq@rdG3?3y) zz44khBsNEaBlNlP#HFZ{7hu*fOWTVYBRmVfI8mk~HKXoTC(Q@8aIj=SNQ;H(3ww`l zO|WJ`xiNjEL#m7hG0#0H4K*)Fjhn<3hnJ11Z%NgbR5CY}yS`$7m5=@1IKj>O4aJU# znLKzaqkc;v!{ydvw@r5F6)FCh%pFe)pY$51AAeaUL{0cBnMcgd@1D>Ui+y0X{i@!*wM7;)tz;P#KY^|HM&qAgR*W|B-PK~wStD@%DK4U_l5K? zN@kM+v)fL$&faqpqR29MEE<-76y_Cv4kpHNm3s)l^3p{TH^CLENu!k2C(xo$^m&QO z2WAF(k?rz{lar&Iu_Xm0{|18&pmklzSQZ!}x`u`EkLwPdGL7f7I)VXXALc0rDE zqS&NXpNVSr)bjE=wWL};n{KSGRI8EIs+G*WnP~glsm_C$*QAYL*RoCwUOD^B%J898 zkvwo$4t1Uws=D=w<)u5z05x{lKw~!tQY=AUW5Sw+r-#8&T@fW?EuO*OkrpA50!x#o zZPy}_H9MwgyRSIdtsem{h4x&oZ40)Qtlk9J$>wA{N{gD7X#cE%dXPh^BECjW7qA+0 zBYKnb(JR({$sh*Z`3(zRIoAPUPWyoZN0I8JGiWGeg|QeDN?{dioA3~DO7e>BD>g*j5sZ{ zV@>@-POE`dtF3GwTC25{XXV!B9x;D6KakU}zgjzP{eJtf7ch;YEkos&Ae9ZzYXEzF zZ4hUwzLR?YaoQeo)Bw9Z??^S`y5dII8qC%*%jBJKHY>7h{ocIjl1(m3ysZf)a>ZH7 z8oA($ig&kesJa-MHBwCt9`#!{DYx@qZqbn)J=@+~_6F;#kF2blUb7_>Yd)qTZi^oB zTBh+`zTtkWMf=u-?9^m5B zu(i}U({*)Gun8m`zZ_`w_)1qBnJ{M`{N{pZFKR_t4-FMDUZa?7b#3P*ipVSeDsNe? zJw-6Jh!re~DMO&WnUIdx)sy~!N#;ubqS?HJ~1RgmpI5uL{k`*Ql0+5 z(Gs3M};n`Q-v-0_>@TL8&sV6Rw;YE?}w+t_X7QkHQg?$v)*))arx*%P2 z)@qCP5I#iVkD=6w}+tM(YhhzZ$=|rjii?@z3ujG z2c{J_Uzeqr{ys^-V>)40D}$~kOuXliwYj&f0-(Lm-tUOjj`XXs_+upDOXW^wvLTrJTtFd-dl{7;c* zB}bVMLjV$#*dfm)82JmPHEhx|XjQd$LOLo1ZpN;2Uuh6nNbd}<5ulqeAz*<_Gl2DS zn%#jk$~VtD3SdnC7gDpE`jfed){MFBt&NwioAU#Ewbou}NIja`-a7l{`>E;L%H@|2 zmgc(pj`lh8FlQ~zQx#6g5Lt$T0>C%4%f?%#k&cg-6bV3%fY%!}>rIWYX&Bg^D$_(U zU$Z<14wfr7lEuy$U# ziZ4P-=|p2`a-~2fPCJv*C3kHw&tPAt4EmTu^*sy$gN>U#>pa443Mj~!eIt$85$T$8 z%YvcKFDaGz_EuL7D)iZbGT`GA5?p`>WhkY8MrehCo)h$91$$*kS{%Rhx0K>X1cMO?=dpHC)7e{xXceYpi-itI)-&^X_OYC1jX9{VBsh!ooDz zVmrj0(2vz8CHhobvkX4TUOFN-+=^J@R5!9(KBWn3K2++iZOb)PQiS15f6w-+eN9YK z8;DkIL*>F0jgB3al$wM88z~0Vs6{Rc8_*EZNcm0DXipspM1i*&p7^4DHNNZLHi#Yg zYWm7c0ST50Q!sH?B8_|^{-{}jX{5$s>JR$2$qo%Ec-$BthTYN_V4>Kw0X(!qmFxgK*6(G&^ck_SXr zQzx)zaTg!Nf|Ih7YAnM~hT;^C=LV!z@!j+=(3=zmutz&rwBARi*NvZrZp@uh2JY8GLm8100SFxZ&-XZP)N;SJ?=Z#WswVhJMpu7 zjy>0#H&|oMeg4R6s8P4==mh-B=4ZPbP2Sd`_rlW2=c5J9+ndgF$KS;5#BGzLOiP6^H^AZCYlL2P=1Tx;7Hsad9*h$Q6mjaaOtLH#+%tK zCnb9fvfueo-1kXT^vWGyfn%RtzL`bYo8>JNAIZcXx|$|a(>H=ZB$W$h@pjs@t{fQ1 zMUiEUhY}nS0+1gXABSoq+WkH>bYyjCh<}_~UHVre_Xq0g9ywTo??&(435M6?N3kFz zgYDMP)f~#r9(;|~(UZds)0W^nRBuLv<|&ZSFiQKQx@C`x7=S7k1e&BGhx)|OXOke~ z4NpjaAxH50Qk=pDQT>u&_475u%L!{h&bha;yHSm(oRH+`65Lr9VQ0}?PU)8_qRuUm z?mVRd&Ro&!gx82GxIuxkvmhLFDQez1#${lP$qm)jb2dYWT_GG0ntw%j)u9!h&G9`3 zwWHye4sqAmw=8 zHJNFpJ!CAGQ^9GTEC;LJW+yY{ZjNv;@_c1VyjWyX#HK9jMXHJ-_r~l+nD3ePoYE`d z+!x7wKVs%#(SWUJwq#XpZsQk?8H}*DCsVUr-;;dD_t0McL1n^2xrK?`j3(+vaA|kp zX2ujNXw)heUNjayT>dpt+O3cN+;^rjx=I)%Xhjap|qCbx+(>Y*nbE*iX)mGPTzYN8ZJmM z3zq#(uanHy%Fes`3@kR;gcvtch$={VH}5Pdg^%e(q>`B$X9ym}-6Q)?E4-vY@brSs z*-a%lq;AF@mByy#AjVnr`tQ*arsyNN2Bn?`p0OooVKyKIxJ204;T*Vqo&AlTWM9@9 z*h3*0=|7hC>!H2b;cH{=lZ(E;S*mEHBW(k(WJ-H=btNNfvT@KZ zm^T`NxrZM_LFO=lzs!WTLfu&*+Quo!E{S1Ooup_nfL^u95>_-ASK7L=Z5%33cJ5v2 zlc7rH#$#vFLrF-aMHEb*G_R(C*50tyZ#RgxBn|g49mDp+Y}r7QdGB7m%_z5~t&>m> z7P)EDkNNsxIQf2});NH>T{zM_7+dPAv9pHR%EF_D&icJoo6$VbT5CN1i{SC9a@J3( zKM&=Y)W9dS7km%I3oHB2aVG2fK~#z@aM$8FjIJm8n63-*pJH7JvX;@)8}9%F#0%qN zEsfdJHHrq01I$-Io_Uj<3A@L-92M1Y1L9_qI~T)iqKOMpx&$g0cQVzsWmW1ju&ImZ zV`ypy_b+xw*cNJ00H=`*T4|?+3w3xF5~0N2-F9LKF^)C~G4gGm@4J8yTrM~5yWvIXBCgUwqwoTB~Y(tZdo6#1g1H{y(|ZXZSbJ$-mT zbFUPbE`X0XrbP2rqr=s~T6 z#k1#bw0w7jmU8@(?3sGH z7W=kpl%(Mq-ClU&6?c7TwHCBE3W1{g{U>i(t+T7++}}wVWv^jhuUwCfd~n)m%s>9J zvoX31wch1GyF-(6 zM;XIG0)(rZq3&*(Qf~rH*jX3p7qqliWPl7dcTkZ9tzAN!X4Gmba!#9wXY;!Np;RsB zrL}Sr-bP3(Sp*(Ng2HBs2fDM zkAs5#qDksxIgzAO1g7bdZXHJOG-K*mh*&LU&R=IqDbU4?ClX}$(MvqRbsMzd8mP0= zU{&5JB>h|@ujz&ednDhpaHvRk4yag&GBLdSRG^ayw$pU-iYE#0)pmkz{xiw69cr?)>jr=tD7gIo2v+jR&bmUPX3e*$P~4q9TP)veBM8$hLxG{!;8g5rc=s&ZIqYpL_YP#H60;2Wh z`_C@OXeok8E;lDgzP<&>bI=a?KhexvS{P= zhB=uylW{Uj@y%AVHQrmR5jI%rBN8-byb&s6`ak5&GticL-QY*4qBo|usCL-?)jZ6P zYwDtx#+o5fL?N`z><3X)tMxE)tpoNfgJ2sc5T;u44nk999qf|E@j201)lD02CtHcY)?P3ZxmC zA_OS(6~!Cvj!%a0We$G7d{r&dcdOU0kie?r`CF)%{T^%4g% zaXLDO`!~eECc%WfANWuy`YZ5iew zP}dSLeDU9T4VRmfAN0ZNHe-V^aLa(fG@ji;A{%}`L|$n$uAl)mA1rZ01o*Z#cnsDJh2%l@y$K=;z8R|7hR z=JxY1dWW-otLL7&+(|bRRSqfT+pM=Yc>Io`NLkX}gfAw73$hVrJJ|xazR%;q(~q=8 zE|{vK7;!@t*BquHzzTELFKl>Vw+@&wL76ngM3IUm-5aRfUwf`T4vBKQ z#v&8s2IY&P}?YX#iOO8C$X9ze7 ztM{zex2sA%(Q5;6r+2z@M=46ZzwHM0!VM0ob};(NHziZom1wNwYt2`r2jw0%xYl2c z&#=VeEcKdUx46)hu6X})$}Ga4dqLe5#qIVVXjtyu^esN=@}G$1Yjp&XS=!sAl~TK? zQ8Y%%m{W_`M{0qtO|P7J!6A$|SJ8qC})cv<6Iwti%tF(*i zrDwWW`1Hx8VxCBOWW|phTp+7S?hYtar&b6WXY_23r5yp3;884>|Qz1u79GqwgX4Y8`qwib{q31 zgr!MiR0zcs)eU;Ms<)3MHv?Bb0j=-bPUZtwG|K19J^s4$VfSMpl*wF`aG~Kvp?t3_ z=L}pEH0cV951UW{P}9x{P53WCi(KiPVzI{{PgVjCq6jInq*~jY<*!TVQ3oGWK2GJp z>m&0Bi>Cj2H(yo1J|(=QGIN{>u^(vpeW$E)Je(F4d(JUN#m1Ye+ju|QhP3U&!O z1>XiZdU%3Y`n_ST*l=Mav1v(ng520Xy8cv%$I~MJjRXK^(h3>|HaA>7Q62CpK{|i2 z6JS(|JAk8@-)H|XWS<2w#gEQeHha~r)74s8`{rh@xoYaC7Dh;l+C{Uw7>N}R^!7i{ zjP`8b-^6CHN?KFUs{|N1_T5{B*MvDOpm zlfe^zUF^%s%@EimCC}x<#GAcgY8KxNRJ= z1?YjxtN~=69TF8&cxcB~4s*&#e`Yr@zq#CbjWROByqwS9p*YN0fsUnSi=Q^PC1n98 zZeLF9|1%?i-3m^`O3umpEtxPC5hrfK>ZDt64&MFLCM<{H7<*|&vzrAizi7`nd|(JhPy82W{Qx^;c&+{+EzeEL0-q||9ujc`L;u_7)f_N6{Kq!oDIAD zRbQsm`>~jQ$ftMQGzblb`?V7IJ(xfM8swN#QVry+@WA!#TNVCQw%w!|yI%_sjksWC zUmbXesfg6v&ZDdS+S*bGBer*vqb=VJX}$^WC7lj|%aIHK<^xV6fBrD?l zatd5s1EoO9ta8eMwzdJzKnC}4WSs8kXe5bm$|oVCq6g#{0q&MZTIaXxoohO+#|J5~ zbE(W!tFgn}fg`NqBjCLqF8jN&FrC=A$kgM-MCTB<{_X`s6P_k+8f+edV1Zok9-11Q z3jW%h+Lqp?7?{XyO7A(7zOtg>oA1ae*SwYg8Qw~58&7GwdEekg3tkDLrRg)?Hl8zO zdD?gv&qLb6m*H#SO_rxqyaWM=5g_n#bLnRe+6+W11{rDDj6f4;{#sl<&^J*yY*?d6xIZClXN$}t1lJ! zLSkL7$X(P6_czuG5A`}+7Q_ua*G+bf1WS(Z{<$J<1D0@~@bqcdd{@uhDW1A}vUl2G zn((aNAUIetEPB>GNw8i;^B`W%t4+Ie7dA8BBGoSE=;|Zjh#I&Sd@FVlEOKs)s~4T{ zO#W~CQn*?$G zXoNN{!aUTxtjsKw8@`ttF;7`m7HSs3-5bsYAaf&PuX(sRz(p}{?wkZhB4#Li66MkPE6R`MeC2~}^Ifoq{-q8>i+bBFj&%Vpcai;M&wLZu*0R+7_ zAPkO~bvg4_Q?Bx5A?}l%UY(QfA+p{i`B%fbGC@%0KL*P_&aLx_!G+)<2uTcM1TrG> zy;6eVP$ze2GxyqF68ALRbuKVTSm+g@?{Gmox2;`7c+;!LbfXCyR#p~pk)C4%#C_Oq ztW#N^n8(Kk31vb|H)buhtjPaLuB+CJE?V2B)xTL^d7g#E(p_{U*6mFyegsdYP2m*d zd}3bxwaT^k4WSH_$ZvSF+L_c4OTsO~%)cF=H5`($%Zyt>PY9J&grvim`WRK0B?tkY zGhPq~hO8B07)eRUWJG5`9~h-jcD@56%Zx|?u3#~eri}%0&_p@)R1!#r6Dqb3C&ZqK z1Oy{@_#dhAHgpZXL|;juvdQhBP}cx8Eutfv!4B~n1{7khce7Rz$(x%WL7U7$znI5c z&vk5_6|5TJLRpCt*#mzJRS(*LEtKFm6|ontg5M@(K*Qcysi@H z=)V24+{h$_o0S9{kOu4>P$q)MF$vxIwxzk&n`&#d%>S5LF#ex=VFNl$j70b4!7a+a zgW>T{RHm&(t+jD-fp9B?$^zYfy4RUtfWXsN8?* zg6GcI*aoV`VPZ=1X<3bSKnXDB(&gQjC$EoYM95p&22hBmj{B@?NbP=S1O#*MHTFwkbeX&llvSi2@ z;<|S(T1~j;rb9K4YG=6kkMe4UN7%*0?Q4$XgX6yNGdY57cXle%!|gCyXo>Frrfl#z zAT^dB&8w>bO+d20<0<$t#{d)VR}syNg$fvK+F`fy6lLY6)Ur=N&+BGN~m&{g{6Fd}mWZ zp*LdFm8%;Ogz`gd@)i`DV(^X8aDD+44FHN4L7WCho{LtPm_#eb#sV=B#W_>()dCxT zdQ=%RU=~OLlz8}U#hLZQC`V7nQ{u(q_|s36J5W5)aN3vNMwy$T{vi}xHwbB=;Bu%yFo=gBW0TDGKXOwBRpIN5wHQRG~EzU4&^<- z&-5cag;UOkrf)7!Ne+;*Tc|`T$q^VGIH%+Y<3&?@a?Mtm+Z7>^+G^X_S|k74Vwf8v zM2L~d7{n5U7$JO^hRktcF#<7EzXV8`;a~&;{Yb>Qu`+-Z(nLnk(3e;J>?#BTc+u2X z7zU>yB3M@j9d2$$lK`+OfV$W43{cILf@+vO0%?T@0PnRG&uG8LMWmTL$A?+tctYP& zk6VOkYdpCy!TGk&uN{!5f?EDxym){)6~%38#=FlAGfnw;L$jFfk1k zjiiYUEe|w>cqbm5SsG2E4EeA0CxZP^pLdqb(t z4#X3*>z6E}g839cjyE0LoHKEhxV-`?fd>wn#*-g*K!XwQjN%srxPqnspv+8>e`~weP zu4~Dq--px_+$6|! z3t+-+n#fIqw)jn2x=q4a$fs~f)R?)e0R|aiZ;JGa7LV9PT!4#kOz#aj3$|e0*Yta= z#jb?TuJ-g}i1+Ui#{k8>jhF;S8W;p463!p{?Rj|AZ-I>ZfddM-hx#od+VRg7=MnL& z;7Ehc=Eb&FYQlR5qbRr?UWf<|@9ayH|R>US{IGd0;6J2CnX2750C7Isdt{h|`F(bG3{OpM!iQV^w2566jpSRJFSwM|}K@ zJjnw-emahX%5&Oh?kI&%){yxWUT9OADNw0V5wV%I#*0*e+~7yCyQB)tDa{Ucb~``ZYvs0lP*W-xe~TwYG!<24evUD57AZRectV1D71QAE9}JC%ZnF*t zN_V8Wq#S%lLJvMN1ip|CdHToCGv{d-xxsHqVgRDGxKIL%;YEdTtGoMJPcNa=gH8$A zC@voFYC&r7*yYG!qlJ|%)FbMKQ0C?7ws1<721<-oInNKga7;OlL(Yn+r}kQO7hRYF z&&2Fa`(M+=vq-YFnKFwCedr!l!7XJG zsa;c=GnBPbM#OmH+tY#D;jrrR{3H0ecnX4&KxHhJ@ly?{)CB3jKtl9#d9I_n#xeKN z6D*-KY-5*TALMU-3RqLsT-O`?x%owS5Npz_Nz;^z<=jT)uc|wL?r)Dg<+kn$2{EUp z!e^j(yfw;~1#IdCm+cSQ_y5axI;5ljWp;rdM~jRMPozHkKAmU&eUhltxXT#LD>$N? zuk9Xaod3s^na#bmP8#vY$O)}cZAP3+C}pxJ)aCg-YUvcqsi5sjEH{dX(fFu}Ph+{O5$^p7*s4-23ocG$#(q%m5*z(B$6^qK3MSIbB0TdkK&Y zq^!EF?8(7b@%H}+@An<5MmySA5aJ*%#mIS zZX91|P>37F$Lr;7iBIg!F?Htzj=eUCBf1mgP!+gQ{cFv?ge?YJ4t?{`pJI*RJ@6x} z>pkF`L};99uHxcLDv5g>VAH0MEEY2H6cEhglk1P7Z3pQ1oEJIbcH`KP#!&7NujfsM z3TAFRV+B>W&cr7~v#_iNyO5cm1V135w8*9qvJ^u}cv9wzcT!odwj)&fIsJJP>HErX zQnv-VR-I()LUndLDH8-eIdZEc`T|n8%rco~7D`30qOT&-&!fa)Mq(;4cQ$nfK9Xw3 zuv!Q}SH|mjh2oSYP ziVAQZ`|I+Un7!B6uQzvU*#){^$5KsvqS@I4z8OJCBt{4x{n79kRD2HJ60?d>8`95o z&Y}mbab#`I&o2~jlO#3BmG{!(0W`BPqfJsB-PoN2Lok}f>&sQw~ zNezA`sm^F~u6JIa>6+9a5pS!tf3!L~nthR7aM~wF%w6@kAw3WYgeV^LVa%73@cnPc zfHf9qn0hro|0+GCpHLgKD#X$ZbCo)=0!NSM`t425ElN_;FJ|gJDodWxG%55gO zZW-olnY~loLk|fq`w0}{S<*jw)+_LsENA}wt;WNIAqv4|AMwEk0WK3LN>icqiW`qxg zFmNbrZ{ zr~<)|tZWe=!~HA-tKaHiVms(Eh!FSQSPb8TR=vQ;^la&BsKzSD6GU{(HCi%8$ej9ZMRcMh(x6K#d|2}M|oMY(!m1Q}jaGKZd zu*hITPs8R#UuQh`wC?ekp_c9b@7(Sg@Jpvdg#;^=kwT$U3WaY#Fv!W4DbFXCp-QgJv)tqauhdXtcn$uLX>Tg_ItF(4 zn`B9nch^rI%hhID6%j$;f4`m#Lv zv5@J#f<>I*sFHSos8a+5p-_=hh*3+*6XbeRObMfe!cwbd==O*ZnG)vVUGR^=1hoH_ zfmeYCCCnUg$K-!0tjG)kxg-mI=2{Ty+?$+# zV_QvEH}`*{$x2yaQexM-4yoV^JuxQlmw%hNYn4a7P4+Sl!S~l2+JArCjL5h6S}tRhaJpR8)htKv1cWc2@N>Ocv|z`z{qHXs zx%xWUS^Q>>i8K%CKnSC@g)IcbfWAFw*8`djOXu_`FZ(G@SOx!qUyw#s~5aEurPv-er%l3ba3L|XHRY&mj1f2B7}4Az}j^G z1%jpw-Qho}G3xOR8k{EhrX`z26b)YcVjW+3E-cR1j z<8Hf+VBFru1Tg zoD%hzlhAl@^3L=9%5Qx0L@i)6B_lJp)@#2*hwp5479M;E2C$p3VQDM`wx<&hkKKW} zoyamm-R};}6V36aoaVWZf_+4!GSTC;BI*`<1Fh?Q11HlSZxP9x6zuA(tTbGTRf(u? zyd=?7??Tg)SyC2fiTIk*+?etr4h|(c5eCPej|~!T1UhG_y+hv)XJAUGBrtzkoUk%9mvP9uN9E-k zR}uDNX`f#r{-YXm4XM$-P6sI8^pKNz`k!1UvE0RMsjZ80%)!|`)zc;O62&-rqXn}2C|0)o0 zL3aR*0z)XMn-%5sVDeQ;5H*8py#`0w@g^z?_VMw}R zW!+OGdF@~bkwA$=Q0M0?{#qVRJ8AP2M=3Y=ctmY#yfI=vvU6u!8;?g_Qoo{ULnR^< z=C$ij^qsnRVHFv8U4T6(a*8KKHsdiPV^@;PLx5}k>FW2nhq{t$ep;Gq!Re|)a$XX0 zs`Jomjr@(Y`XypO;&EtG0b}^rAOrD|-fEmD^U-J&WphmhO3gNMXH7DDq0F{$pJ*ul*st#V(4_0Yr){r$n3osl+6d? zV!zTliV+R&8!l|Snv;FBebkTZs)hzKl@04|XNGQ+6Avl^kk(1Z3wy*{YTUk<_e;tGuOrBcf7z1 zt5q7ubTh@^3vS{GgeFl{PmjfF%a~O$UY{=5G+kO)&;^;nVHbkKA6NJ3B+u4`iJK+{~4AS*~&T&#q=#!IvJT1-FZ6zEE@E^lG2k;KBvSX$HD(a-B)P1r@O z6Tbu!4@n-wlaa^7)J#uiW4myl?S7$ni|uAH5a|wWZ)erF6MBXq53&a^NP}sE?FN&m z?WhT4+%x#=k7SdI?TQJMG2xBDG{M;KfWaZ--tXmog0bSB0r(N~B^D|zg<`Bt0{3B{ z@SL1*$Yk$gjk}}(>S`wEh5Dv@LoubLg8vRFqKO1-eDf9_Buh?~fiF^!k_==n?$I~b z)4SXb~c*6wWg9Ld9xf)yM@kbCx+DALOd`2KAOE7X&opp$hkL zxk;}Vn_Qw`)W13z(k_M4YoU~qx_FF%9F?qw&hu=Ms=N@WS}?;yk+o1*vRaO^io=xD zK`FIRx^}6MGVfBYY#HciVLq^~bS2Ho{JWTHr5S5;FPA5Wj4dlRRIv1*}2%Y}aeZL%F!box$IFAJ}( zUsfF<01j{TiB4Y>f)>*3mRnS2{t8g~|GY zsSUv5R-(UVV$RE(<-kq4h%igIXBZk<)>`J4;XT5vfoz8&^YS90R*}5Li1eCYcaSlk zXcr7t_7;Zs@hkE74QB@&h>j1!T$>_nZtmRMtc5+dGlTKWWNaj-YdcL z+Mwc;;Dr^1ei@TRpMEbw$AuLOg9`(TU(~ii(AIXCd+wHrVT+01denwPB6t!=#+(+D z3(F%M&=2Cg0+WN14DSjTwuUFSZuD_(wfT2H*qG z^7;9c>MUzzSz4T5H!>QcP0cmS)eYK^(-_ZMWLfx+ZEO|Wl{fC_Nio7L3Muc{d4_aF zvH>V>*sw3z2%9B#_~%2lbJ#%GV6w~E>rPLRU&n`y725*XDz4LCtM%_3@ZY4Z>hv4f zWDf|UUbo|el%kB$( z4No#jan1wzMC?7nn12nO75aZ52Dz}{t;2o$`!NRmFW`2>Ymw_-gH-8B6Fpsf&QYwoWWIA{D7!!<#JQNWtbgAzI=f=h!`qzFhCp+0U!Vk zy=vW6OrnvBcfV>m#y$q}Hbky`JLg_Mi#$){_W%DpjW~n&`6qHa#{ToKGl;At{@>0W zclINmoJOt@2{LSxZ0*`k*(;Q>y!77;K&WbR9QP@S3NDS4ZgdI(=ur-Dg2aR0J+OTE z9{lsSl?RFKB4xh-Au;)aU>COMa~p;Q_J>ds2CHDHHG-)@Xkz0Wq;Mgr;P#0YXp3Kg z%sMoA)33LjF&xi3iv>gVTlQ2U8rPP+@G{Ip75L9gSFc+(x~zWL{68aae{24}%SI-^ zZytkrwmx89EaR;Bhrfl)KA7`yK)ntQU$IWStp2vHLkFDCn|_-K#E;6=K_})!rhM{n zZ!2DlZ|!wr>@Q>*hek?ByWabTK-@(2>-bq%Gks{RMcHyKg!_0Rej1OL$*WjZ)m6+Y zX`q&+ZOvol0r&Se|D#UBNO+q19~Vq3g|e2)XcE=5`+xX1gqc=O3ulHfO#rvWL&9!` zfZ5F)qFw=``<25O)tCl3>f;YXt-c`H>#}y)ox5+YwH>;WalS=^!T-peJKg_(w`UIq z^;5A<@e>ue(5U|vL6^6KHhFCmY(Lp1>gx1)xOarSG0!KdN*50neo@131eZm5WebQ> z9ARsRh7k4QE6C9ULy$!T_Oyi{$=X{t^AF6eHvLRq`roJQalb;HM|^ zWySRv5hMiim?dXlTE3__lqHw^Mbf3Wf8ZbEbL-Dhsnv#6AYBu=j7r^IUeyg>GD| zkO@#|;>&jrUYekh5YUza+z9SabS#Au9e3#VL3>>!oL3AfkxmKSiQMANklGLq3u#tw zD1dPzuhsk=I~|X&k`(|coW68vI-CL57J}1(I3O==kzmzvs17&67{S5KhYv4@5y)O$ zC~IOlm!4`};8Tk~kU7@fxLf*g1d33rBcN~yDip!h-0&2f0X*If^pg2x0{P;tI>lq# zmEXWw))28*Adldt(1N>EYt_u1go^!=#s3kcZ{qkup4GB%0@+{INn z)FAJW-GOP?PWrL?_-=HtbjccNGH2ItGYp62*Alx+KhPcs2xx1|+}+ zBm*M2s3iennk1*q@k+BPEdaQl+l`-QPUErb@4crH|NoCXLjXA)%;f=u577h2hYt{g zh=GR>2LKvD0Pn*Gz;oR?|BoNsT3uT|d|a0CA^Vc0mt`jUC>k`SAmBbGaR21eVZrzd zalOZxAIx|8amAbsz|qt2&jZLNWaH0+r(y1Q5ZQ=q`g!1V;6dp5W@H7SN(W)gBb9xU z8>!%GLPCt8p69Ma35_e0(djY3m>|s$RS@RF#_UIKwO5v23A%ZEfqVN*q8{iISI)Tm z1Lp@J0_Gt^O(jycQmC7;A+F-vNX=^oOOL!vi2n~%ef4pS>lE=47 zp7vJZQJ>-)4zNSnhaq)as~T?5xFPi+P6+!zL;NQcz6v-U5x?ijq;LnE%Xsf;S%=Uq z3^W1WQzxJfXoC74Oh7BOb(%v)x(-`S9JNn%tUaz%tsfm0%9>%98~l;F5x#r{v61TK z%P~guJa=E&*t!g{cMrU*seAVl6W+5Iu?#+Y_RzBtgw{(pt56h0)f{b}0R_0;xJb$G zTu}gvfyTY8(=-gq$$`Sr`%D6@TcJy1pwF$<&4}|&U*YjZ29lG3jJH{vizRTP6=Nnn z7gn09U3=4^<+b>Q_zgGRqCw|fNugO^0HhL>SQZl#M;WBV2{yJ)uQEuHgYm8-M^?am zn!cx(?jZ^5p-=z0`|vXLhxAh#o%)mVgK#T!FY>_*VlUMP4`PhydG0?0+|Cu=v$*$m zR?FzJ>SAb5_#SD{V$$FLAAaBS0RKq~@XMUr#e775(zCJ4*LO0!wXx?3`7xsltT$$iTHe2NXWDASYWmK<(^u$klDy!5=f34Ac=F!hC_1fX6_$c& zo1qA4aCq91q+Bv#e`*c$I9X~?@ieXG@J2``9q!tzm{)09BO&ddE_RU-)-SKH>wL?N zvY+A3fJnJ~k=3&8sDjpMpfrsO&fm4X2`b*rRdIhZ`$({Hh)5JvnA8X6v&P_W+Yq%h zzHJ|a`PA(}+s5X1LDLP0OoVE>aTkO{8WAc)=5)iZgb_LO`Yk(5T-zLVgq8 zTJUH7p9^jQk8vxctK44wU$HD%a=ATzeb%UQZp2mbKZ1L~*J5R+Mvi@g3Dn%z#A6P6 zyk_%;jaqy*l{v_K67dMju_vs}D(aW1al3>A$R~(F;eFrP`Q`rZZNFZ&BjrY=w#scdXN*_JMiMgb}G$WM42PY$?vETa|?5&)H#|J!Ji2| z9NAF!i|5;@d@!LiFMqZy!_qiLvO9ctggDmNQt@nAIS?ruez4|`&Uh?)`YEQ*lKJox z+>LbWjYTbcx@!N~LB!k?2(nwub4A0kQfbBFprG>dYORbQM!^A4p|aFpax*OG(ZxFL`H`|(@p8dzKc(WWJK#ARtP(} z0mNbT4M1rXbqNr*yAl*V+f1fEH=O=WIFb9zBLM?P=H*90glY*zy1T|-Ni!|)1i7Bw zz@_Wgm%v;qj&;6<*Ft~9OBC8Xo>sX@N7F_&-(PjUdlwf+ro=ILEFgL$u5GQ!pX6HU zlS^%{2S{6rU+JUj=&1ZD^kGX;sP=>^|Bc zw$QP66?1&c*0HF;e<=a?vb%@(>^W?_yWb_LVJPzhFmb~MypcuZu5e7`hwdv(})esFDC-}T7z->5r+}` z@w2RK=E)H4nFkOr#u42>5#099{a@!2e?-fTqg&x^Z~-_Ftv80ZA;vm6VrIxe#Pe}v zH^Ike$IVdutL~MGKNU7wi>T4h#q(bqu zRGOM%Kcrk>dChrlc1|uWl@1Oq0i=4GiaBeN#7OjN^<^Mo09OQ`o1K>HQ1CfF!`37u z;<8{a=VgInl|gi$1R4NXs#rp!N+b{z;ixpR#CZ(tlbn(aO7{I0?r0JHv%C3$DmKPG zy;Lk^9A>7u=Z8h~)&=DFKYE&{uyM-%F|nE(&D}qveV0OG8*2L;>sC81>8;%`24U4t zT-&y|wmwbButod!Ixgu4a0#DXTUl+Ng7Dyq$y^-m<G{KPY*68gjV&%RA zz87$SFu|HA6nAb<6yF_zFq@n?1y8=hslT#nfwI%(!Jd=QfG(D~;wPBnIOnv; z5TNdla|9RoD9?tQn&8CQj^KLymG;NNr6o}8#WDorToMZ#w6$PQjS}0jn`wKog!-L( zt1(mvH?aEDS(`TFr_rDhmuj94XLEG}m zZ(Ig~F_gqg_-BNIR$B64B$W;;Y>jb3+-)Sxh{K_j=&>#-^}e;3=jkh~a}qKt_R`1Ui7hS(K6syTtM6^erf72+dO;It$aO ze`5Ciqzfrw6rpgQ2`8koDK3yR#Rf|SE)S14*QbIN_4O+jDpX5Z1irqurXCkr)|?nK zGD?IvG}7oPGGq*qw?Xs=59p&KkIu6L(c#mrjk%s_Y|ELOiTs!u8j5|t^YGz3<}6dY zd_@M~&Bb|~aT2Y3bBfbos@Canh91y*- zd13SXm1von@kF8nDW7_cav2!+D;524gZcV+#F}&G)&L{=0AdZ-5(etoKfVy|=zt5s zQH+RvNg+BoSfz>uXhsJq4JiTH6gau6IvJu`T^)-hE!HL>p%(baFrpdo093pB*rf0T zx|9t8hjj!MD4T0W;O|t3m42kYdNv#2=tJXZfAu-cOAZaT}@fW$jZgW+Ji?S!Cui zW!O)qotiq*0_0WY69$Kd1_}6KUK)qrHKCyQwi_gd+WjCIj|I3+J#~_MY%S>RPVDY= z6@!EXAO@0zcrjGa8{wIQ3kb>;Ot=^J=0|}N;(-K+6B5Lr;Bb_Oo3&q zuPj$?xo$4jCV$^GR*^$ySb@#gq|5hVIbtu@lESCl_W{u7I6Fz;g5(W-bC-{_ucc-e z%iu*ze8Q=*to&t-X=IgY==XgXifW&Vavb4-o^_l>lW%V`UGw}vmPkdxh%gk^eG3g) zLmA+4a;qWDu%^2cI%vh&c2^rhMlIcKhBTw*_da8nNmL&aEcpxsX|8fLUPmBN>?WHv z@TN_0;ycR)>^`0}OQN$}6FU)y$izLZ3DN=TQV*1-u>NM(J&338RZepMoA zNL8ACq^h>3aelQHQH9Cd)W%KdRP*8j8LY$4Zx2Z~@UveYHK%&8#6FZ%u>uM~4gdY+ z^V9Erf+Xf9xmgM}YNR>RqO>v>61gtUHL%%o%!gX`?gnS=nz}_9!7G-ANg^vy0U?JP zNf(xH#EGma+?*U{H47w>5Iex?{+?CV9S11_@|wj*IoM&dst57)q0_^p11E&Z+$;r= z_mgu4(8>9khoH>PY3oIwuoF;LJ>>H_Eht1qwQ%?k`Ku@byAx<@29zQOZD2{1EZcXC zA*6x*Wx{19Kq8?*F+4C?Cd`#&kiFUA5go7O!15+bGnTn)fD3R2e1Q()JbR9KVa}Qq zLhFU0B{x5GVQhW_;V)dk2(Oek0@wyfd#LdM58|mIsCJ^OvYK4^*K!{C_o_qlz%?;< zL0!Z7RZ~a#B1u!CG5`Dxnps?M#_eqcqKm}5m>%KMlOw#b7}Zj@z)0*GHZok$sXdw* z#gQ+lEK0JGP2piFUKXBgx%jHZl7KBwFerkF0x8N4^%1LHuBe`1Y_P65-gMEXD*ULF z`>$U%6M5z^6&O<^KV6hnO1_bB`Ba9fQxW_h6}pX@{bVOu=Bxkrw?LmR3_RviuI-n%0|k$pw0Ml6Vpu4k9xa=QC)2oHDeRzQt+x z185`i%#Rj7j^2%-nlq*B_1Q1uCOPr}V4&N7sE8nI%l-*TG4dwwUj8RUuQbg2Z7C=IzY?{4@7-er-9ib1zs@VfVD9?+zY~!P()GZZXCcEtK>3%p z#jsVy!p@V*O+qv1W#DK*%uBS9h=BnZVcjM)s?(Hp5FN&OE5sSXEUeShwPfay$+k>Y zPcgk{ddG4umuQ-@31Q?Cg&a0%Idp1pc{07kbPx47sA1MZN1;vV6n1hAD{2XX`06r+ zu;;uN$gVEdOS&`X@ z(?PH#%1Sp7CV)LvTZvm$UMyo@a1}lY`8a!Ics_lx{IXpR>ivRX?JGfIi$#p}1D7G# zAJOX^dIG7UEI!&okSFe>w_t3DfH+O-5NV!t#4wi{wJIGy&KSY1#*OIbq6ig?1I|q; zMpk2EU-4?(C}YBhVCtz`QAOtpiPfz+FC+eU)cwM<{iHdXj99<)$VB4KM-i5+9F*yK zlEH_7_J{;b9=3{w%R}JC(+Yx8_f;qu+yrAhxX@h8Rjn-iH0xfJ%=AEDy18@Js@=&& z%Qd~fqlnjUqRAP+T!4;*^7EmnN2n@PGSwbIQL7^=2)s4djwa7h{WxArnZMT}88e7^ z1SyINqZ30NKzoE4JTedtsdJ%-Th}CO9O&*(nIwC91<`H+OEg|EAT4oL{r`;#lJ)>i zj)Fr=y61ENRgcw$9l)Rz!7fY>aSWv&!FAzA@F?6kz6(E2IyDU5F0@vR5^K?2yajwY zo3r($+sm!)i8HIdw>64b2-0N`m5T2id zW3M3SreZ0>*_|82G!KONv_17?Bo0ZA8zdACMasOcsvf!!i=;C`Cxec}3h8t(JbQcS z&iV8hDS2Rm`DNRIrg-#%=I(`51)9r%ySyCoytG8Bx-c==;iO<=FkN+im~PC~P|0lx ztL>o<(~23vw2`~fvaV8zm)yE%YY8{{D!L7{-}5+pR(#O&@K>&p6V_+TYR}ba!vSr7d~( zcjSXvaxH$gH?nsYUrU~S5Gym=Xsv>3&_Zwy09<|1`BjhTyf+si(T9!j6Vg4_;Qn4iLp(~| zbDnYTH9D&*tLpaOD0CB=Db0kwy@o6>;dA%|!IDP3A@dFU3is>tI^OSVBtxbU$3qx= zieUk&nl{Ot#O%Y(DL4sOgK;)WyMXk__z2~`B#~J zQuiKr7|Hpy`c?bwoOT=o2N}`T9tK8GaKnb1xf4M^eJ{LGRSq>SD%WFh4UmqP(}?rX zL5l?o_?RG#GXOJ$ApVvIE*OG5E7m6a|wl##y;@`_jAQ@e#VSP0$3x!Z3Z z*?C{hIGvk&I`En6c#lj#5PtXMpOX??l6d})5kG?DQIBohh&x9A zUN0Q{wr#-Nl;04NtN-qihrluzdSN^h@OttfjsJQtETtLu4RHogW{PWJTuaEGGonrhd{lnV~gLIh)>2d z?KP60riT(PNY8hT9>0M*9rS|+_VSx_6>GE$&p*FpQWCILz3|*O4_xBW;-62$PqEY6 zFD|Ua6E_Oo4ReHQd_F(!EH2w~>y^W2tBMfiW$uWfx=U%54spVpdrX22zB%t)DK8y$ z7+Dq3k_sYPbys|0gHaBKy$<6Ka*N2zI3n7gHHqVktn~~%liq}_ritG|`adOn^DtI> zeoH)v2*Cx{lZ1hR2t=UV*;y`U;2AiMLUHJv#W^PYobDOy(=5b~b-G{TUsnbsopA5) z*S&Mti!R5jiP8s|?ZsTpKbXJ(AHGfTDt3?*7^RnP>R3(8lhL?;!=Z^YcTcRpaB}_l z8EE28_-LHL1>9!n&X!6JeQdwN$J{$S9aN70h5CT>K zf1%&9hTkeWZeAiuJldBqIj6)oHFktiEOcu5q5TcfPxC+XNMzitGv9hR%OL?G z>tS0NkwN|dhB=1*=8ac&BHn9hY+mDf%}4%mEyZd9rwO={7!D3T4}G~#7KO2Xlm~t(lT?*i^7Vx=P39GYkDSm(BD~dM>lxEWaU~$59_^ZvtJ1bL}W&Ry%<>kl-@?xs# zs0RhTq5kWdsYPn9$PiJ;kFW#H{+C*BI~!UNNa&t2bQGtCa~9=(;EZJt#QFC8I(Pop zgn7Yuv$^pMSK4bI(vsN=-5sn7tjXb;55+CuU3%&BmULqx!7|X?BqqTugqT}xIW(2i z9Y=I|+COnVRPZvIxnC&{^Sfi*qJ~=Pr15=7yhC~v?o?J%<(On5>j-YtYnQjS*~i%% zp1@{euNubL*|#lk%hMI?E_iw6I~Pvyc?G_9Sr*ymwOc`f9bC3~Qw0nj#m0~*39$$9 zMBQu@3-ij5%VSv?_jF4h-{Yjuy&;m`%+0(Z5#InGQLQKEBbE1vDgMF0$@6w=9d-WbD(sA!dVBXwc7mrQH#_L#!`W~51 zN+;9E{?wOFqLWRht(wjW#8Cgjnhqmuapwa-`tLacH1S6N89jC36pi$s5kP_s5@};V zG$W}50b<|{=AlYxp6X3qwzKQ85is&*Q#6&jdA7IF9Gi38mo(3wC;1W+`}qDR0VBf8 zgV_c)ao%X2xQtLj&U&nT3%*477H(G(ZvPr8$!yn|Dx=0R=EVW9eUTl%5WF1#YoDuIBq%mfnXAsEV3V) zCte)aL^*_ca@h#bixWvmI0Sg8_)dgb!&w3{2zzM*%b7a2)WWxO{=Lu8XNcAm(QnP8 zRR5`xrwgJCz&NxQObAT$)p1pEEpe^39aE))VWOj(Ka&yN?Zx`4_yGeD{O`!J(=* z6_O&(lZEWRudttcy~R&i1?`D;kvgP)&Doh(a|hSxk-Bx5 z_QV))vo{RN%DTVu}P;NMbcQ2(_uN8U-_34&@(69Xd*YQx84-XtCpn zHw!j_3qGrAmlgx6YhO(FS=pghf-9dKL$bD)vY~2%9KfoPCZy=()TkC?s!1(q7!AFN%2DQXHYuRYYLr9K zFe!Bkx>&4;@ebRegp}UCNA?~scI}S^(4Jzqp+$0{plde-)f9Fflyh3f1Q6Ag&~omo zrTwmc5d_@qWKWqa?;S^&u#H)AaStk`Zx<6rB`c2vqw>!+8^FYeiWZa=riECAh9+1_ zpr0>5L99)Ro5#W*4ll3?zIn;QvVYj#0%jiB<=tjEbR6#n!Ip>OTF$rxBh6)L*q=$>VWdMrlck|PPa@Ji9aO(3BV5y|l$!MSFR z#UDnR8!>;pW@n2Ih0%n|o}yzk8r%hNN_I**C>!L~GP`ZNY`Sc_{Xsyare^AQ9S}uF zvJ;7by?9cuI^SmNs3NKhwb)5R6k~JKnDVBAN>%f`GT9)Z2T9 zax|qw=b4w@Ut5}*wAmxJS&I&SFC$hHMQfH<5PRxmgw|e}z9NkvzwBl#x>TLfPKaEz za#2=Dm2!u-T})uAJT*wK*Bh9nt*nmwrtpm=G3*-zeP1K<@XR4ds)c%1hX{+kq1*dKvmkkvV zrKoB0cBa~&9QpOR(VX**4?|2V9hBFv&2c4`ALu1&EvhFbLk zwe}>-2CeSxp*~@P36AwiX$H%inVINV|3%ovCIb?=f? zBNWQafPyaxCfs*4Ass4dZ5ZzQO3S~g_X4K_Cj%#JRc{>Mw7Crn4tL`3EYpGa*s5t{ zdT;^9BUvC+#)a3!aiRo@2=f>-i|}g=`9JiAUYaAnkTIUJ7+jDmSt$%v&~r+Md|$ad zo+EMOWN%7rWo^z^yb1Ymp%nul$D=<_JE#`(u$WT)Tn&=gD;2WJgnVQS* z)9R6}z9m)CiyKMka;)Z%3Ii=hlXkJCweCekTy$eFfteofEF6(aV zHtSaVbVnn4!iH`wz@((87WA^>I_J)g5Euz*@ZbO43rcvN|NjT?ald~x|B6-;@%G|W zfSfG*_nmgN?MJTgoyU~*BM_Q*Ym~)qwy(?%?EH}v&Fh`L*Lv&3fRHE3L*$`-oBSoK z@48X;&ZVBpS=1EGEQIA9>znPkg4!U%5|WT*N#79b=;V`%l_Q6nH?VdT1jS*TTB5Tp zG+)@nBrhvkah|P_ZIa$t=Wh#JI{17hIXj}A!(A{$7-ghi+N(;kGhRIHqJx|~N|Ek{ zP32%KEp^T~qJOEs2%sdi8HOx`~r)QO!g$>B0CImeM# zjg0_@OnA+lJP<<4ZGN|wPl)3C@K7(V7Di#*-kyr`NCR_ETOH?N3R^6Rndt+GWZu`r z=>yU-o>U*|x)YlXHx4m+j%%52cCZ4NpxlB#)M42ZdhD}7Fn^%HV-&P-^whT2 zs#!{j-Nt(+qkh0Z<=Qq$f!-lraL_j^~8KeSz&iM^ECO&kGO!g7z|hpn)) z?^_vog$=FvQvM|_TZOjQyltE3?c@qB2?s_EwMO*dsU2G9<*}nyc+q)`4+LmbGxdh3 zPG|MtkG_ms#4~XjM)XFHZXZRtT=S!2l)l<2F6r6P{9nZ+$}i8LfilmBS=3W;wri9n zy+;*gmG6p1w2Z3HQYM&7=jnk2$}aQDt=%#(A|wcBJ095|_^cS`j|>pHb}}9g=>rh# zc^P66-H!1auNiGohK;A%8r+WODGv3H2OXW=#UxZc{Cl)-qMUQ}Gi>~j@uk~$tMg0C zX99lC{QlsRjK%k@JE5{AK6c=S1fb&oRVvXq&i8EzNB~dnMh%1iKWvSiaoTFw^8Z{g z!V-ztkFNXVl6f0^dlm2BV_lc@E!C=BcfoI)nL;-~s$d*oH6w${L^i99 z_ee02v&G%jFrBxWCI$!{#{w8qZm`RlBY`{F6F7ll;$lvgtd*nT>A-I=Tjc$15}xu8 z9o=5GjPv{bZ^+O!8sKhLBF%I!iM_(fL5zjfUOY$|Em3_=lg73&%91{Y9UVAm^K?=riae_QoXMofw{8L}kg$P*}h>Fu>*S=CM3 zjXzcPEj*bSrn7VN3yVw3E30ek8=G6(JG*=PS2%WXbbNApc7Abrb$xStcYS@bR3;A$ zdQDOqc};kyeO-> zX}f+Hr+Hbo{W!1tdA}b(gb8I_NTrQ+KE#yECqcQDYwKgKeeU~yCUrZ)euycfCC@lg zjCnY*dkDh>Yy*tbnV`QteiyC$*9z#H&t=vwp^?wiXId?QGeID9AX8HM}2_|VDQ zgdDzCS89yMqR-q`n*@qhW?r6{^Im~wSdbcapPHQeyUNGR(!fK-AOX;7eZ(fCID*7* zG*xnD@(M-@e-u8nWyj(gJqY-qkSDpxAUsUcMD(E36jc6PJd{u(fyS!<+sixv2WM$h zBS|5mYGQ;may);rh69r-f|T*oOBjZ!lpgrw|MlO;X~pg`Pr!jEcgjT7sR`j=0@VX$G!)thR^YhKyGK@xE0EDpLgKq!4?hQn`~PqF9AkQ!!gn>c$+uO&raOxu-{}#- zZ9)4b_*}KhaL1>vU)ht7nh$j15xaBm=!t1Fd{cwi{@nj$e0C-rZc(Ho9fb;9Y_@5U zg@E1pCvu4L=h6zvIQ4TndHyb1WGffoNG7uEL9J1?O>{T_-nwJlsM=sm8Qkv3xR!1d z#kz3`3u)2P=*}Yx-0ALFW0=GfBy(C|b}FQqqkjRaV*CucRhnsggeLd20_y;>9s~`@ z&(#WWk9-&9CJUZ>SWinX#Nk9Q*%>J_k;AdA4T46%8&zQg`-L<^C#YLv1ZE{VuMyBm z%RlglN^+w(Qf+R<9Z0Yrc|<-^!xN_3p3v{ul&iaG#m*~221zf`w^u2`nRM&I(~Sv- z0LctaZBH-*;j5i>8jW5KUdKmhglG&7kAanZLf~v@IYo8r@}3UDD~g5g z0GA=hY1)=XamIfA<`(cBG>^L)>h31c@$OPWwr8yz)w6^7JW!7$hpk0~D%t~#C+#ek ziQ1iAZ8_mc@nv@9i|~33Aw^{8g&x?zW(5SJii0J{1D`acc!z>RphIBZUix2vG34MS zsm_e$Qj6_SK<%J2D~&9ah-Qss20cP&ouy8I%Y0Cm!6-Z8Q$OECob+J3P~~p$cEAp$ zpA?|zd_v>#1{TNA(C9qxHkre+o~+WBAF&JUfQn|eXj~@gZ3>6vd$;GmhXA7%WoSz- zgx%4ckxIa4dzqn!k=BI6$cf@Z0n!mI$3vQyQR@0j$R*oFafYRR4|*tAwv`3b60x&{ oSf)97JY*Pnl)fEmr&w?(l(=>>^DIndt*uQi#Gzj8A9lOG1D`ustN;K2 diff --git a/public/stylesheets/educoder/iconfont/demo_index.html b/public/stylesheets/educoder/iconfont/demo_index.html index 8a75ddb27..c88449b3f 100644 --- a/public/stylesheets/educoder/iconfont/demo_index.html +++ b/public/stylesheets/educoder/iconfont/demo_index.html @@ -222,6 +222,12 @@
    &#xe693;
  • +
  • + +
    关注
    +
    &#xe6c0;
    +
  • +
  • 礼物
    @@ -324,6 +330,12 @@
    &#xe678;
  • +
  • + +
    关注
    +
    &#xe6c5;
    +
  • +
  • 喇叭
    @@ -1718,6 +1730,15 @@
  • +
  • + +
    + 关注 +
    +
    .icon-weibiaoti105 +
    +
  • +
  • @@ -1871,6 +1892,15 @@
  • +
  • + +
    + 关注 +
    +
    .icon-guanzhu +
    +
  • +
  • @@ -3740,6 +3770,14 @@
    #icon-renzhengxinxi
  • +
  • + +
    关注
    +
    #icon-weibiaoti105
    +
  • +
  • #icon-dashujucunchu
  • +
  • + +
    关注
    +
    #icon-guanzhu
    +
  • +
  • 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 diff --git a/public/stylesheets/educoder/iconfont/iconfont.woff2 b/public/stylesheets/educoder/iconfont/iconfont.woff2 index 831bde7257540fc7d801433e5f3337da4c9a634c..df3b0207bfc3f07bb1ac1ebe5592fc5cd6a2a7a2 100644 GIT binary patch literal 37316 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%0A6Z*0Gq(q-;YnI_B z^H+|^4X>h?*wxLn&`jwdn)j8uYuj=SN{R@P>FwEmwXcaVyMbucIaDmBXmtFDq|zMX z-$^l`MlEtd*uaK}M#^L2W_B7#APu}mc>JsSP5+^N-zIkP7t3rX;kRtgsHN~Dob z^dB{=G0o;3rv6~7t95Be(c{MGal1trV6E7&0t=#J+hTAdb;$C|%8>~fUH6ePCnM&l za3wHNJybQWqwia*Nk7HQjW-vx@w`WK~BB2!Bz)s&`etz-w_v3?-~rH{Y# z*6rvYMTSKeUOZZ!pIbTc^4kjF=nuPJOgB!x{O)~hesJ;iliw%kYMl|aBMpA!@!DU; zd`!56?hQ`*0GwW5IqxM~zLT9Vx;D<@|zH{qlsXZ8`UWwXa|aA}{M!Gbf|Nwts> zCy1QF`ka8YOZn1DvQQ6x9hDBHky3p1VCfcsX}A+R(8qms(etEGog=O(CqF5mxl@D# z;4`gZfhqi65tWgQ(gqko2M(Bya*)Nk_h`WiO-hJem-n_vYYu>YmUqX$# z!^4yCFI%4OZd~)O7X9azk3SnN*u1^zK6C6<+>U+MJ{SGG`MJJ2Yt8-d+L~@=sESxO z-8$Ve;sbZitPiYD)Clky7wZn8BcYa^r!=74ddE zI6{a=rMn&qi%&%}LpBuOA|f~vw}(FM^-a`BA{$(;>BRAF_R7;T1qShdJ{9kM5-oe> z23KI+=auhfRrXeSC#a81Vu#j}=Ar;6@*Z5rYqZ_Hl(E8qD+TJ-rgmf$=8qkF*cuK6h}2-#q}HSmZ-<+=x7lXdiT zdBd_L_>RoW^^f04aix?R&^(;5Xfmswl2Z#ry}eOn#n2sVnyKW6Ed2oK>f};(0&GSAvJ#=e4oF06*WzNI%4Wj+LJ0v2pQm93xNYtV@nmuO zkw3J|)d1;53eCDrI`7GD`fB#P*+}AKk-eQLzOEUZB1k!|kAy2(-iM9lau}TEnQ}1p zwt6~K?&?ScBhOQ&%!@@OMQ+KwUgWAS@>I;8#rdA;%qhK+9Qz`9x(G4zux`NCi7f@I z9ozneFasZxJ^6~|I-hBFJb@1L_bU@0$SqFfW;B88!G%4A8yN#u(5RI!JZmg^u-KU{ zJ`bF4!kf?MZ=jTU9&!M0W$5OhYn@viJKNdvZawAmZ+A`OY6^MlZmVsZ=d3??p5JqC z@e9{_3w#}W&t0JK`@Swb?Y`wfdOfBb)AQA#5Z?C4=lz&xhq6je*Fg^k3VllK;Ps3! zCSOy}c1sBksau7I-`LXZ$2f~# z|ClRbias)HP%dcT@hy29W+PI7ON5P`90Ruw3ct}|;dwm=yDtI0{$pdm9=WDnb3G6N znG?1GPwouGWO@`yUZ`~EEtfRXRrP>Z(?EN5bu}gHvNC8D!W#|2+z;GH zg}S{`Yx9#ZT@u5pTBB&OhrM!BCG<4}SK5ZMI1c{fojX^1Y$%xAMC?j>D2a%)n1UIQ z=H9fiwKr@JI!&T2O~WxvPhbaOwql{lzjrrnGsmrI`!v*pm$7LpPWbv!IQem^?QsZq zM?|D?JZAcccdmz5BpVl!bSe0kb~4qrWmW1Xu;Z7`#?aIZ?w`+(Fe(*L0H=`& zI-N~R=Zbh15}~OR2kqDr!cR0lNjjt-Bxz@kt#+ia0TX`qr&6gDJwlfiW|67}ktFG! z&cZNqGjR-0hc#ji$vk&`a&sujv~o~)CK^AAg)K0(%#t$JgMa;z5(*m+Llxl$ebMI5j7C4acJ_9J!6b~2y=ixs zM~5#VvWedxhs`@QoTB~s%037#7Wty3H{y(|?<7V1A$M{-Ye#9AE`d)tmO=A=<3r`a z#YAU15f#twO2thnoNDYgX#u44cWDF|v;+c*xhd-Uhp~HE{>-^+?cc2-R&L+qJrKH* zzvTELHux&u`N@}_rH!N6%G34bw84<^z7`LTrw6S%dnHX5bMR%2k~BPJw-+9H!P^*E ztp!^ghCtE%-lKP{*6G!8?(d|mvbVEmuU?Ifd~nie%s>3RyWTgO^XB4#M&fk09=f@N zo>*ED`R;DI)m0M3=36&p(n;g4QmgO|#aDfSlDPYO;AYt05tgP4wO!g@!8BI*V;+{Zyqf6*p&OC^z{TZAU^ zNVkq7IGZ)@SX8l^%ADWNic+BSbKaaHyAEIE3BKFlP1iuVod!{Lx6t%+k=&=dBkq<$ z&!V9s-8rOUp_Yl^+N->sRCKeZlY3kvywkU%fV8XEAWr8ofX}RRW4xLpC|8M1mG>Wj~re@xt%t!fSx@2Pv1r=IABlMr~;^_CU5xRC`=Lv|`myf@&Ak&jI2*+|WJYeOn zEwN@0rz$T>t@ViJc;FzAO^K2ecNjSUU8bR_2ns5ff?BtqZHpZgl7oD0JLk#Q9J`RB zL>Q~;w6N?}4JbdHbKaZPWaCS;q=?J0J2T*WDM>o*^+8Qw?dVQW(H zD%v_x~<{iqBq8x5m5vX8fA7% z7S+l;j9u$MJ>{69x8!lBGE#0Q=LsMpn4WD=_x${MhQ1>IYkx4HCMNN%|U{l zRQBRk3=;xUNM{X&9AS=efqdU_fB_)d^8hGBwC@4Ua}r21HhBn0=n)oCUct2~C{h*F z8(tK)s9#>>0@3^pjxlfiP&KuC{3xK~#aG<@;ZT0##-2+u&?@(a?^ZfGj{lYCpFqnF#eF128J zN!S7f6^T5T_lM~#ZfE*(WAct)R37&)e|*{hwHWSR`1EQ(*RZ+$^t1kN=4zZ zhGX73bpz$&AWa9FG6f-f5SkaW2<@A<9%4>9k%3@be&bV5T<^J^EyK z;cUC`)3-%$I6OJ?#aG(5^S5gVv=r#%-|ZuldQ^eF~T!sRu=h}2!4+vY-3x#j(f zDZ7Yx>KVK%O4{u|(6HFM?q2HX@}G#6D@B6HEbVRbYN4IiC>kSW%&A4}HN~Lo)2pXm z@#NS_mb5#szNq`FgqqKt804BK*SnGIt_)W!+U)zi8n0T*KZ8!TE6;O-jn-b9kP}b9 zRiiOaHiFw2MGmWT1*4j+8d6H0A`)47y;*$9P=m9u-X~c_h+hd05Cs}*SzS2k_RWOb>zk?Q z(y_DlP`Xh9!-ja9x=|Y9!65#?P0~#}V{2kya>2p%5t9mF0m5=fZHKfiFoA3x)!wi* zfj7+B!uKvw1acn;_HNh+d5aH<=opa!pe-+=#?&o4F~`C8CEhQtXLwL)rw!mmu``Da zvR!0RJC|}>`5DD}Q8uJW9x2%<4z?^FYgj*4_n1`YKE*($tomG;yCfL`4;+&iutHIq(u=nxwtArQVL)v*8}K7L%jk{HLm* z)1B;%`mz<($0+|gd+`})sJ!=q)=9!{h zN#`406cD>*IcMO2pl~E9|Ima0K-~;ZXd-?CTI8TJiX|R`MG6vlkVeQd>#DWibNzK4 zKg{(p^rQ71c#~`%fNJ`${}!w2*PDbpieq931fz;#UY`8k=iVFXCE-7~)6UteU;z=IL_nRD0%TuDW9Cr;bJlO&zJd zM*zi15B0{MWkv_L&oH%vdnc`%8P&#q*hi9Sda*0<6#4zaA?L@%9-7JG;ZvP~qe(a{ zhHs=_qiZ~Kl8)4d3NI4ytO#&O)a-b(He~R)@K!OtIM8`6J$ z9H)rFR`O8$k@V59?cWHDIe9BoaWV+BdK_IvO`p|2qQ0%_7g^*kl-$ZsvkN~XR2`y*?XNbGQ+%_&)=aq%vgbr zrDlttHn%lp0cY-JPV9fa5x@+Cn`5QqWaEaPFjZwv7{lr$LwF3{?Q0Vb#ITMdwBp&^ zp#Pe*xW0|VrZGDp4a2em{>pu_#0Eo>ZCCg~h2w=(4#=$6zUm0!3u-}n*f35)NUI(* zW>6Iu8k=Lz-03IRCU)^8kEqIXen`Vzwz-iavh!HD;~s4Tgt6al2o^)_ z&ZmN8ErYXRN51M~OA{Z9>CQeAQ>IbVV8y>#jK7l!1fW3%oRSABof+=4t>EhLuVGoO zn!)~NfM~=8D+jQ@GgBF*kAM%>xXd5=f>dJNVnYuX6PZQa`nNj_jk_5*tFSo; zf+=#nOK@^vGWc(Ea!YE9tZzKKKDFyi>dMmEKdwWkoN`wFuX{7OWh|-X#zUPKQs7Du z>6bd~Vd*wqX*Wxc!g+|AdQrSgJ;>5jiaXyIQGEIC&W^pze#<`E+0RJfWBd)E`fo|e zKobPTQc0FjawDs@tjJNZqB6%?U<0agTcK^Jt)p#-t&?pnVfwt9p-jTi_+0OO!W1D9 zALRR+sHd+o36uDHmiO?bF70V%9CR;T)VvLA*8Du(`qOj7lA<$=Z1Nk#cWP6tD6Dbh zCcoYIj-F)T1&K7>LKk5-JW^jRJ=6VgaTGRiTQ|`$6evEv``3z?4OqfM!n0=`^G?^? zDHCPqME8`=6ybS|PGF#HQ24xaf?(x}Hi1mCUT@l+y|9t_4ykk;r7MqsBTC?u_r1`O zzu2KJrbc+en{z@ir0;X%J3r3i5XF*WMIN=}e!pR2*+!D+BX2 zcadB!GV$Gp;1=Qmc+An}(^XCI;2`X{sUxTpZs3PJJ>E2iUsuPEHH{z9_4zS%^)dW- z(^1Do>-jP6XoNZ@%sAM%xY#I|8@iVpHdie!4mJwo?hWMvkUbN&*ErM|;360|wod>( z5_JSnB>`8tk=~GiJ_LU8Bv4W^Bn8wXB#;=E3piqP&OTF3Ew4YXnTY9*f{T1$VtYDh zp^_)2k(2~~y3)4^a?Yh7rzgnN7LdM?SlnY>cU9#+=Qb5`0x?iye4*EbN(x2FP5|Y0I2mfqHi&z*05FV9sZdqhF||QD>tvv3v~SWxEgALGKsp*PWKY{8~g)QqGMu}?~-q2$YIUqEOuyUTWzG-dZA%jb~rcS3}bOh zZGc-G2>75w=pQlaaNw<`T;WNATqfGx+b3LtB;5(pZ@SgR{DAb^I?F%Jt@Dh+1>qqG zNep55Gs1G+lLFyjdlzUk_v&5}_cYuw>YpIUcMsFHIiej})-EQz?bc#C(S!{v%ksEL zw~;>LK5Qq}zPL-&<0JiqVgaTTvzA(1=D(8Dsx`xl*S4s&Z`YTdV_~s$M-7Q}XOn^# zW};9haSCysQLq17<<$L_Pz)AHuY0gsnbaUN!cE=uTei>|4oTl}+BvQ(h{`HJ(qT+Z zl%m571Oc~ccL)SR7BUfxq{O8&BGaIcj3OvA*OrlCM5F*Gumnj{M}rt>yo7ox0VKk4 zrP~MNqR)f_f}RU}+fRN6x(Z*UuOv{}G;)ypQ zonhGh3Bav*1(jA>7UVYs0;SSGFeC}u+h^ZspR-D`y1c*txIc&m{;SmGO4cm1yt0x; z=OA-)Iu=1k_wAqMh9@Z4tl0N}pYPs2c|3R$71x<-Rg`V9sj5oN{GX`?$gvUNpnO3G%q7If70zl8k@o#-~Fa!h+kI<`3+U9YOFG!(_<7BkvfW)|- zo;*ikiO=MDx1G_^wN#bu_@wyr!laHP#S9jA)BOvz7jS`CAT7SZ0M63@!Uol@OF|>J zW4b5tdk~1rYmV(Mx09ES2Ynvs{*KGAWX4CCpaRl&1a5A*_*jl?ext(0xvjvJ3>G61 zfL8kT>*(z2C8J0PNk$Nq+t1miiEwzK_YjRw@zv+jrJZIcuMMY#Nt@X^P>`ycvo+3? zA4lWwirFH?hGJSST*i@(h1n126U8uL6?A4L6Dhx#^tWDWEeeLwdirSiT@h2F$)tAy zYDG<(EJ;~|PRxW9Y%h^pT^s#T$Gn+{bzuA1iJKS?VXt|1rVx34*l4~+TBOXu*n-Q6iq z4YkIop{1IKn=-){-{fdsq)BzPiHsL@3^3t-3y~(#ykk*3nFCgaC?4uaMhply4l!O* zVjRp3?-xwCp@A#?VUB4fB}M?L1j;GQxOH)8QfMn=%l9sdNlh$>z=cF&_V@{vf$rw4 zdYR|Ebix+T5F_?=);7bOt&r+L{Ol(7-&Hlg6U zRZIf)*;@GQS%em`)(tHja;S{Ypf<;>uxdl7DeNe5lSx0fcx2S}MsR3epR2lNh%$~l5q;pCodqgBS%1xTd2!YaB- z&*zQ^=0*t+A|x^ju@oUf2p&cu<6KyTKy=qG1%Av>FaVz3B;wpiF+d7vLOp2U>+5dj z6$AmiaPk`rgVPWZtSg2NH#VXQ0Bj1N?$td56mvzO0%i|EYQX_u^2XdmZ@=pWq>(hs zlUZqZLfce>Ta0O`JGn5<;g08@9gv%hTJnFasE;{G!#31&B1(Dfbn%Wz>W2Z5ZjFQ= z+X@F8Be`qL@^;9YYS={Me}z-~ei{?j>w4LIu?1$kOif!2iyJG!m7i%7woAfs3zR9j4o5e6A~Sc^yk zOR$}|Ll-Vb2mh84YF^%qMn|Dv-Ne_(9;GmHt;4MrE{w1`7?T+vgl`UROjV`*`}rx} z33$}Ki%pnT!|BtxO}_AhJmt))LgF(Ge(t7)Al8{aF_-aQ&A8rufHYVpfZZTt7{r&&N{g*qC6?-mx-=d|LqVKnfM72#d7~Qtn z4U_HxTt+xyaug)D4NfsSnPg@s1BXUmoqwc2<^})*WS^U>V_(ttMmpEcol`;#2nu%_ zEN-@!0))S@0!yJ2uh(3z*2Y@OvF6-dZIzQ;vI(3Y8pu!(dP_JLQoC@ZX06EsMe|3+= zP-3R|Q~YQ58^)5KbwGuY?~4-V1-SfWw^2rh$Xm$UMn<=Dc#)7$DMp5NtCft{^-XG4 z(>hHVb%LHoiRW z;NH7{8@Wb~aOEIyxD9S3PkzjA*Fj2tXCTeXlNtmVZUIcV4FjoRz!tw(!n6ZYz&d^k)k1M$^^IwyVUNWvtSF>WlgW^TI@>b>}pOuhWPLSaSTw*+lUEp zxQN6={q2Ud!WCww~9(WNJdBC5p>92TDu`c|ytaGLNo8<-`oBNglf&c2xRUyA?4Bc0DE}a7de{bD-_H3wvzqh5#<-+f* ziGxW%0NsJ^_(%&x!1t_ZL?oOW$w~<3*R>&e{rFsbDDQ9^rVYzGh4;e->RsA;e>L{` z=I)x=b6Cf#&CZ`5PRjJ94TWSIjUVrX03MDV9jDpG~6&=L& zG3qmS7I7MJcCL!i;Zev-JW@X5DTYSF#;V!nIO5Y6G9}JC%Zm|d&j3n*$+8u@;T*lK1i*}?qCLMfFLiaz`1zwN_dHUzC zGpBJFxxt%aVgRDKFkcLd;KliHvy01GH+O-bE1eRwQB*kA(S%gtu?@&Uy@h2>)IIKu zK;rJ^JagnS9TkmLHV?ePOS`1wIOME|dTOs}XTkYN@La^+wEqoVG>asA9pfGIA{Thl z-|S~^65Qrao-g2ac3h(%v;Lkkc!lT+80RIt9(|Ltm6E?Qvc6;%;#)(H_NSdQ+?Sqz z59RGqXakreZJ|tha(ys_)qLA7U1D0Q4c?>3yD2XqwW^A;1~OJkh!{6~YbscfndVz) zw{>gm&A!Xvy+`4u0GH*0^u=BK4EA*?^C7o7;E!(VKS~GL`PoHE+cY;QN7JN$fWfEde zNrlfqv3LuV7YkU{@GsdMwCTOavp=Mv|7Ucb7efmV4~?fj|1p(g{9}TsQMpJMjVn09 z8*i*V_u-()2rdrH5yPSwDH@!=iT-vtVagY5c%Hm~Q z2{5+UL)dv6q@ozIk!v1`^c3S{u1xe;e`RkCQxwWo%Y*Sn=*+@x3WKZ?v87+kPFvHR zlwk83|K=tO%f49u0rM)f4k{l|tD%}W}o*yf63?4 zMemEw0^Hx%00_pF|NT&zAo)HcC53wNDW_9Fj--I=2jb!(G2OQ%@#;058YO#M7$!Z@ zGpW{%-g5$SL}U9g_|o1JLbU3!C<~Vo*JX&kcP+JBt`I}<@j%R!v@Sex615hM`sZy< zyaYGt-&tn}WwjMx^38X(0|0vodM<^YgUU@dToy21Bx|Qjt1}vn9*!%06 zNh(M*(gqS$pBn9U8gT0tgl!}j02hSkciIKxr(K_QLCz}5GQEk_?ToNq=vf(kJ#od6 zx>|VQ79?xVQ{x zoTWK5SQZNvhr|}P;uyGxAxL|q*nZ9Mz>z`XFm|jAyASshH$*?B`KglhJlsBd=8hf9 z&~)>h`7V5C-hy5#nWS7H4v0HTH8P@;XdG(Ndja@|WI`OF1vDI>+q&!1L`-@)pGwG1 z1n#Gwq7QxBx<4?Hkm~X-E`k`Gu$qdbMq{I6ueB&8*vmlTxPJnjoAq5gd<-!wV6ph~ z+{;wJI}X3&vY2{3C4;rShHwBo2JOQ+_qt5SvVfX?oK_AlQ8Y_A{PC?6tMc_6h8^Zf3c~R>`$}!3 zeg%yVjb9sqgWnmmSLFb5IvHBD`{_-{i2wyD(t>mNp!75lL<&y)>mX{NQ=ii@FtC>Z zSwaqh;w1OTDtQH%sn-m267Zb^eCGq!B2}RIf*_z!K!J6AT>Z}_ptE#c+bj*rzQPZJ z6lskS0u_oNFp?;3hb)FCbh7sm@O`l~khgBpIv|3MJ-y~~?WxOC-~z&*>yjA?VTd`@ zO~H-f^L6rZ!}wUOx+C%N-C2e%9RHCw1~EhzVhpMjH>`c5x<}Zev*pltSM4d*5Z)C( z#Jbi6zHx-ism5|HzM_z&#{f2Ea^bES0%_x|PUPWI;O!h>v?X=iXZ0um@06fJN zb|F;|fUbzf_R$f*fd`Mj$>Jj5=|Gism@%v+ga_frnd4epJ6M++YEh1MFx|mIBM~5C zmmkX4VdTF{BO>-*udwpmsb=SC{v1m-@Qh?<_IafRAdwgWc>GW86Hxjka7)xGLRC;N z(;SIX5?7v`w5)E0sS;i3QN~!n77~MPyxP77W2?mPt=G+iWyY3kdaVVWt-o zx|16CTwIaX;!xwTKHVvyRxH|9W%GD-W+eLpJMXk-mWaFRNo}e>5(rQx(8m!kO5BfI zcD`#&(J=K&ZtfL&P%oh>YE_V#5#|bYdmat}QsIPNDE`ZLdKS3?N*^4^cBih_%dI#)mtM=*4Cxcs7kRx}pC0B( zA@m)J2k>;mW%fLMA01<491}gmuu%vX1Ma{XQ|(7a{BJv z>6_V-Zwda;ipW#b(^KT5KYjXPVV)A5nGwv^!sMd38dow9(olj4m~f+kcJv70h#y&VI5m=S4Rv;E3 z(#k;~Bq?4D$Z#(U!Rj?Xn3)bb_9H~yHx|M5pm{gYbG`R0Y9#&M^Jo087wN)Ba@ElbwB3(DP5 zxftnb%lh?E7C7;;vI&SVBlAb(BDEu)lbK|oY<6^t{G0KIjC;tKs^VrcA9)Fbxs<}Y z2%)?IgB8Wc`iI9ss(eVs$>}D@l+jUEx~E*~H&5jPIcCq6*D2?vC;D$F0NGirWSME-Q}fh0@%2 z2Sojj6O|! zMZ{#qohH6IjoD9m{DiVcgrKZGcScL>ML)Yr?m_ondDctLK=p;Y2Nf;?p2BKj8@VZ^ zlC#w*!7u?42upM~imasc(kQp6KZQ5-7H-KfjVp?J&hh?|kKTfGS;)BUZ6pdPd1e*3 zDm*a-vy~L%+T(t-Eo86Pq89r#_R$7a^gXE8+=M3L7pcJslOkQQ?p63>x{aa8{TSHY zYmlLE9(g}~B2^lx6+{pj9cUyqJjq@3Kg3yz%!tbixUVy`5S@h_HP$8T#VD}YuDnD< z*Q;h9Zj<5ev-K+O*b8yYO1%d-QO_YZbD4zIZkA_p1&0)^uXneu@N!S^UlEO+taeX2 zoAXRCcYF0DHhP6W5Xeyf?%#Uv{0oE4rQ5H|lJtYNHr5t~oawvw?&!q&=5w?CPF7=jsT|{B1#A)7~0Gmp<6M&$dnLQkG$JDn;-uxJw7Vuk57xSQ@LxdW#)1Y!Ryak+W-ID2+KA7<6d^1 zVIKtg%)?HgpRQ`kDK}|sO6$HoYu;Sn_Eq<<8*=CHQ{F`!Q}e*!)z@X812gq)@ikwM zp{}7beC4tbp1PTyU!*iHU`wgJJI-HPDVlTYFbe?_+Z4YROgX$=@N2zMB!9=%{U0vs zIeFPzoBm~t2{#UELkJ?ag)9VvfWAFo*NogKY3b$dBINBj>zsDFE+;qV4XaISCfsx3i_{pwTLY{avc)LA0}=! z;cmNwVBFcpHQ9QHfiOOF=-=nB|J=NDrXhvFEU0;6gdq<7@w!%#8vSN|jT?}u{9;bO ztcrTViK{y}arecHlI!0c5epdgiOBS=&6@Ah;k#QM1P2>}0j$R@St?V$)#>=dBX?nL zJF=KikGKnqqGowePMbKA0zHMKV&RjuLh2S99ktU#9ecwr4 zEcdUFk_8j)#{w(0iV#uc3ojk<`&>nU$k_#MZ$j+08NiB1J!Pqp3-k z_hw_gf)&;eaxA^iTBjc1Y2t_!HiZZl3)*+-{aShM2rVO^i9jDBK}Ez;XXe845+gC1 zi-d@fJ}_BWDVo1{J9m+Gi?>2spxwT>l(oBc_yBKh!0D~6P@H!AY=yVLdwiVs_yQ03 zrN&R>ryBkV}}zBZQ8Li^sCB-BjO$OIC70S;URd7^GF=8jcmSv@@~dRGD8 z^O^%-80bPl+$<}h2a>N)0;p+JD>pd8+GM;mZ=cD&MT_C@A)|8R zq2kU-lC-Knh)AG>BdGIp&VLP|w3C+4aFh~b*T>ZQy6Z#6Lpyi2w3wJsm)5MP-%y1D z@^f0XCwfj@IKPSv+|R?V6e-1xBAIrbmaywcr9r?c_jJWa_(NUCDK{m>DerXoE?HE3 z*;l)2)p|a9YVA@HAenGzlfEPPYmk9xX?F$Ajrn*ug0i`x1f^jUxxF%xy--F=sK7dc zjbQ?rt8}x8u!;P6Gd(a6g$fK($O17xfzGD~geXU6N0d;6(ZEby0*Y4y zxyieziDXy@r-uq!ZeVW{X%q4DnxaFE>GBS1&SwU0%1f?^A0TyriuR_(XPNU*f1^xf zMhX*VqOQpYY z$_OjvD$i&m!Qu*T;0c6!VR=`V>1wm6RZ-qGmA7fC)R2JlG6F-+2Zlbj&eI7F38uV& z@8I4oEBg$j23;##%vPC2t@c~Fvg|+)TUvMtrtwJxe2J5C=T2jL?%2@>9_Nnq8yNJD za9&I}?d|KhDzfl5%r*!xhvbEYa>#wGD08pr)C*3Dy!h*K7FOwrP0jWFD!bcyO}bd) z)|7VQ4`1vm&SAJQa+p6Q(~VizD%fYWUm)6IwOIs&nnT-9?;jPXTK|gF(|A2n?5&4jyFMFT^enx$bhKh=yC<_Ds zeHbV-D=QQ-*t}!sqjFyll{u`T_+R>!A{~Rwv*b2-N=t2pQ6M>MM+f7@A@Z!M zv`Qet25@{$h=*R=2bDjp$WB^l8YC_g%rbL=MM^>W(0L_umN_3A;A`m)=&mfCm(YZV zN<75%^;$Do@AC_WeJTKR&_dcdVZp7MLwg-r4Av95o-Ly$?%KDT5 zi2AMjMZms`kjk2H+^7EQ?o3oWoxvf&;_n`nh)?Ox** z%R?(_mRE!cfI}O3yxj|hpanHLXBQM(daSs>Qsmy*jn3e^@kecVIL;Oq9@dsVe!`i> zr;Fwgw#a$WM*#)76+g>*h})_k7G_(Id&|fPU6JEJLdH)*1#ry3|3DfEj8Ygt{xH9` z>Tp|aIl4M#MD8j}f4ykr{rSf-_P=h?bb7SglSuZ*^D`rhUZYO(Tdd z93IDo7{Mpb5{}~EZLJqhM&_%-BaMz%u|g_bM#5GUq>kpGu5fiiO20)JE=-g(N<3>K zFd1JlRlZoRv?IXU4_v!tBah|E^+ z&H$^JspoZ8_Fi-!;#cAy>dyAr5)B`K$7}waxX@k3)@7TqXbuAwHL2@wkhecnPxl)D z;IR_Cs0t`d3S3y4@0~VL@cHioEO2Dg%hq%awmjQNd8#uL&%MIxk9fgp&8 zNB}+pHIJ7|smOY@ghxfWU3z*0w5d8}IJr(6upbdsrWvO0BO9AV)+Kd2x{~y8i-Stq zcAf#9kZb@-YB%gl)Wc?oY;S+8a0uxO=}&Y#d(HkC@^@+2SdkTg&12eq)M}shKA%nM z@^kG025^?`$91Jd7dW{{ZJBMuQ_t;vh+BIB2LO z4HA`i_X$8S4JY@}Im2Dm@ywNGI@$|5b2?X8v35HV2F!3YUF z0Duo@;C1t^LK2Nsxcha}G4?T#vm!F(T03-mo94J7xBve4G~x{6*T2Z^82YdO&LA=p zc()wd?(RoCJ&jx=`#F>1XjR)76_&ap^A>N^@HGFUKFvt>^iqA_jR3opk!Qh@&lGt$&(?hW6oSw6p*^zpZP z=(T*re7)!K9~hVSedk5e&mRBuaY(Zd##A5GXkhUYX^xlI+(Nc!fc*=;?-N1tPWTG1 z6Q6_tk32}&-OYG4zPa0;(Z7;u92zMu>=5k~ z+I0-uPwU5y;W9d=YXaLv?ZQr|`l$W$8OgYjYHM@%rqGtu>fms}76b@nTqO5b!>{_1 zmpFmm_@y|pM&EMTd>}nA;S5wOiW|FRuZPQW#O_9#yr{H=(Xm6v5vIj1C9l}!Qj9Qd zC5XY;!Y?XKfNNA~_i!v0tqY<5VCM8RdUKdObkK(VScFv#ejNV?H?Ex;!FFQyO3;>a zX=gE=ln%vNMF*u5bG(HyRSRw8P7GWIj6aHoud|tlfBhatoJOD?Ieg8HQizP@l}pR1 zu~hKQ1HasuuS%~)2_XTHMlC)2%Isz7p$w_wF7#V==O_LNKD%a=O0Cc>2WcD6W|V2} zo0R|JXx!l+W;)|X>9ud`YMgtI+9Y|1%g3{s>Y96E>m-|_y-sV_e_MLzCu6BU=2t$( zm5uV7s%iWFSpdLzRd(%Lo62cNJl=V&18@;Or;)#Y4oBS`p`sXupTi$GTt}|6z)=wU z%z+8m0%tB(zyv5X@zwj8R|aS#1k^Z&MAcCNc*_Xcy8fl zNNEX%g;c9IBzD!;?-xB9g2I%_Fens)0)+`BJ2VHU0N3|@-DDn_ zKt6k`Oq#Hr%B$rpuMOMFmxggu>0-ts3q>k7T*7azleONbns}K|SM1G~w$~RmxhDrj zcI(h~X?{?$d(&12zas$qt7bBXxQ>`JS+fhV`80Lz*k8in%2?lv10MNLvp1*M1e(B* z(Ope=d|aDd(PrS#ZQjV8g`416?vTn%&UCh{dEzoly|%dJGW}~%kaURPf|>+~DGHxb6BK1rdI8{Cb|+r_)YcS-ZPwn?e*Z_FAwW7E)d~;7 z$J>*B^d8Z#@57@$fF>b;^}`J4y=UFwr;pC0Q}f49%MX6ceA~?3EQ|U$Qhf~p_iO=| z{~aY$#((#&J$B#)@*IC&K41gzeVJb`yT0rG9XyY4d)0Ma|L?&0^@FPyPmraAk`D%T zq`@HV6JJRMSK{JQ40Tc1;>9$sL_()WqlpO%6WHGr{Zs{qVie3M!+aZhud}UluPr@k zfgeJl8ysr(nBom#Tx{qU1cSLdTy)`ZiUJd$`l$%OoZp!F*tzQRvdaNC?ksR=osQQ6 zZT!k<7a!m-6U1j8LR9wjRKkQ}KvW)L@+Vw_0Z}d=QLPR1&XT%THL?UJ0@vW+Fykjn z_b+{NbJ4Tzay;sDZ0!MdF#9m1Y-v`)4H`3~Jj4lNAE=G}jKY@#`y-+cCK5lm4bFCx z4>X=5bQ1%OgAdeks0|vYegNapN_Dkrml3VTw!{zHCwU`$ z=`vy?l}ndWjOe1UU*6cf9Io~E zI9SLecvS{4I_`+oGT^N2^;A=ass`^{WIVCIX4cW_31} zz=@QN7<8RqX{>bWPK6q(@C)%9Za7DR)_d}UX1xIL6Qe|usHhl9KP860@#yq={S+w} z>o{^`0TlD-11fhbFmytiYU)=D>Uxc58o56dLGt-E@RAy#UjOe0pp9apO z`43DVyqi@sI?Ov5>J$DJ)NeZB<8zzW^TO9>!W8^5=5{b2lb?2N?C|oMD6l?w_fF01 z;5xAS5(D9*f;u*KJtaS3bb$5xjA65fckfP_51CKhy*G84{x%aO_qz|xhQZShI!Dnd zm8-B6Ov?;JNP$CBmL_DA3Hy^Pna9a~I;GE2Di3djBz}WkeI4~W4GScs{@49oV1)Ea zORd}AaU*P|xziwADqU$+Vl)oHPaN=x+(0$lZ_ zQU5Xo{Ux}$;NRST7u*D{W9CRFsf`wW%`#(2r8fA@*-DjiDO2fh1oym`>B@AK6#Eq8 zuX?D8#T?{V)#eQw)%Z**v!D4i!V#2UPgoe0)+|@zb_x2BPZ9lshrkV{8j*OUvm8nH zpKc+3JIF$Gh#3q+Mz3tDF!o*x9 zWsc@V@H3%{BN^y?`C=QD2gWtVCC`_qndwJ~cZco{6GiKr$(}DS0YZ8058C|EY1ie? zK1cPKF&{pMyOGY_(WvFmR_#AIC@?z-f~=RAIHBQaKflr?0Rbf?6>14V!V?k!Fb7`YND_Bt=@Uj54#<&!TV z`Lb$AFJCwZ(7$w$5ZAj_?pbA%-qTgG`s>5J17-x^uL9T(6%hL)k&z=%by7O9?_(1o z3DF{e6~s=g1u5wR zQw&SmL3Ut1aMAkpi(oDl$2wPO(nNo35-)H$+|08Rj;0K4zP)OF|2`&$Oo?Ieq=E3U zsOo5q|IAl$pKVGTEkKIG1q>pAvEtun5){aRP{-p$5itiuZv*)n>?q0`)ww3I|I~{G2<02(%0%_~G z^Duj5n`1)nZvA2(>o%!32RU!>w>%SIS>Z;QB{(LsTl0bs$lTx@v^m&sGTesIUm(269@k6YETvuP*{Ekc4wmL! z@^`tgDpizhK$H`0Urz=2OoSL%3|kA+u6ryHO>>iZTJSC=Xu+l5_GG(1_HP`f9-#!z zLRPI^AhixD{`^m2bw9gZuEYB0mJk7b zt=vH_eTmS|{^Yy`Ph>>=V zh#7Pc@nQ_wN$}F_xDkwh-MLccZ*ldig+C{2g@`!o@){42w#i22b%|!(yVq$aa3Ag%JYag&4;8znSm=6d##96&rU06$iwyxgl3$7)n2)cxK zdhgZ}%k~`zy_f@pan^Xge}~q1(fuI^v&n&z_w*Z_{3oLd$lD!f_8f$IbWpWp%yB#w zKh7M(Ipj%(1ocRq9oWDpX(n7>4=2ua1h)`xwm%v!S_DO(EkjV^MbWTMOB43gFtHW8 znYI^8sM)!<0z-vxeXCEMwS3!V!Zm>zNIIddWbiubf@Fe+;!RahaE^mnJvb)Z{`Z10 zX?x>-(5j^DJC}iA3?#7PZVyq=ax)VcNu|RwD}9^*cLxbGVsI!qdZfdT@!XZ_I>10U zLY(YUe>nufD`~jn;$UwS9bqyEbD=5WCCXE$DHsVIW-$@It`&R}D*Ygn&>UxI?{tV~ z@(f16s3kynEK#H{TH+E7hOOJp$G)?OgJu?O>u-AD3(|%aC~&Uu_hU;sHs`8P=T6?!|*j# zl{L8V;>P%>p#{vo*OFDs{rsFB7>NF` z^YGyu<}6d)up*7{_Ut@PJ0-PxN6M3Tl{3p58q)AnthaV+o2ZXOJUs}F+EnIF!ERkqS%I99CTmse^MZ%wUFkcgkSTj1h1{l#B5o?4R*H^yewG1tID$a_6kODAdo)SifV}n+{Fl|G61_Xa{x7e@q&d`w+LuyqPjLal!oa?D54% zphw&t+sC$Z&1SCVKjS}3I92ZUvDYCy;zB!WvS8}=qM5=+U-|s)6NeA<8(DubqLVNg zQ>9UqC{Jf#NH7_S(tr5i_;&tR{-eU8neD)2hyIcmi{8&W{GN%EgZ*~a^Sld~rytW$ z%qJDPgLIpDqy7_v6FvNS(??5-Uue0&QShiYUEHaAg4T+&_6KHPr%P|SK0n<74W;SyFp^8Jpz)5P=M3qGkdA) z*1Yb{_|9%85r~TeA|Q^76+wC3VQyJC-+*kvg!_{2;zFRfSRe+XxHu8WI~?KaY~dZk z7Y2xh*G%?pw(Y0HLtx%l12idt1LpM_ys(=&pd-E_Aet}7if`J**Z#m@M1uAKVLjo2 z78k%V#A3ZM6toXoAp#hTH=2U+!KkJ!?0MCg0g+xaP%y455O8 z5n?E;ho&mBDxrWUiOsq+-OA2($e|f$)mfnn={0q>=+g8WKX{IuCs8~}(EJ5R++4$z zSQ7z9F&k`F!J9V0iHkb|BxXUykcwXXY$3dCDU=E=T()ds&c1XRybw-Zx)l6q3=Ov! zx5%>2{Hvq@6oQtkRi%B525)`+^6Wp+TJvR=0WyLTkfI)j=%x%d0L3` z>^b83DQi#&&F2S}`24{6k@`e=FtN4lV_Ai+{HiHH60lF&r6C09(B`fhoOK@kjONMUBMr%3T?Ma4K{gGJ@> z`U{rjp-26=_q;Qi$TQzq}J) zK!^CxKBjDEQP?Cz5SuY(swgCGM^xHSAIZrs(Ba1;(l_UYLBBwTA~ zzS%QqS%(Tl1UYUd{!MhK0`X9qS6|I!^tF9R;(f3gv=jFOI6mT+1b}l<=b@@ENtvRd zMMZEFp{&uaK;j2M$!waRA8lBu+PJx=p+;hdtZTz1c!`T2yeA?nA88ezdgW2NuEc7? z-}g6&9YT$+t_vECV(Mm$>aDw4Hky4kA`DohJ(cN+z{XEJ$}ktMIy{!~GRPwBO3$9) z$I^`&-IWckFGY|?kJ1Tr9Ymz1)X$~?orQFu0z?$D6t%+7+A?~2fg02cM ziwfW=cq_zy>;?X~?^XVO)^U`8N;92VhH99)dxW5w%0cw&yg~%#u6?)_kCc(F`ATyuXtb&e0o6t$@#7b7g zQUvk!B?@8BId_m*jxeuvN4Ddram%RQJ*HJfx|7^kJZyM$#s-QH!Py=<$~SC23onQI zbWef$4Y-CnHRh^s({{4WMjw;Sh^HD}E!Ihur6v+T%t{LaT= zW~?lf;W?7dN8i@4I7|+Vb%2ujn}qhN63jIqFcdoo*3XW*w;4`^|w`utOk z9m-ejPAq6pb^nbbUb}%NrvYO=IvmQ)g(4oK%2A1l`WT8>EfE3Wow0f_S&nMQ@M_BZ zgRDeMKjtwcE69&b40QnMF{b}WUnr!^hQe-5m8kNdn?Lm=$kqm^@Fnmtrnp~ zYIKL_1-_KY+4{=))mE3xno-l;9M>G5Fxp(yC~-JtbPg7q^IxxCHnB@d)MH!TUD?EL zcN9$gqdQB0S@t*@Rus%7(KvMO`#GVpGCOcuC+q$}k89L)Y$v6U(og9!9Qy*ytw)y= zym-G!*h{ylw=P{mcaS?s$zu7)IBXow=`>eIMym;GVwtu7Vw%agAs^-0R+zZTQXY9BMqh*GlXd&ccS)=B5@GkJh^!hGx`d;1++eJJ$zPl(CzRyuAV*CbIWSC z)oH@|Vrb@Jhx*m@D^@uMA9Fj5v&Pwun@kH-H~jpJg|^ba5CZ`ousKxi~TbJiEk0C=aDP_FIB@6c=BnLozMr`_+)wNJ87 zpZ94?pWh0fnI%`@XS>6@XYp0!*_mjS+CppQSAZ76EFqfUuu^8H!>4B{0SX};iym)U z3wai(Uf>uS7A*(t1j=L)HI0R3U>Dhk+lkwUEn&ar_cnAhu^H`+sUTKhyqMn85+fnQwe^KZLG((yJeS0ODZ@}a52>hjWT3zPr1126e=d^p+Q%8mj zAx?mA@HvVFs7l%da{{vuH;-cix{|J9s>Xm7*T6bKQ$muBW1?LXs55R$ZkQG`+2qsY zUG7tE^jV)eW;+!3ZuYM5-aV~21`g7rD_wQ;pupMB zS(Lr~#*v-3)%4TZ*{36yxwa3;I0WHuH{Pfp!7(Mb{~_XskS5e)8#m$(m*Vh$VO0|N zy4i+M$zzG%syF8+#l7q6(Eg}LZMJykcxZ)~%4btyx{!@S#v<8Flv=0^20j})tPAz% z*fRbJe)ZdN0Srt+X*W)@xn%qI?W-EL|In_g=lo{e{nj{$+b+&tdvsHGWof@_yUMoX z4yJNYPG58I`?fy&fV|qEZ0!%%90ZoZ&vBXDfXl5R@cqW4hoa&gW zQ@Co}DXbRDbk$mhcBSL1C2ewfHOQeJcc!#KO>3EuqQTlT0eB`&?PSWD`IZDdJ{T+f zM8ZB>qc$quJEeszE!{5kM^hBfiBl>e; zfY(?a9R9X<4tv(ctujIzV6+!=CHG()1AP2Gtyi%9B>xDl5_YsI>gjOIy-;ZU%>5JV z&!1dBb_N>18#)}La~`)DI&^~96V@Gek_R2y9O{0^`>de;i~8aW&G0PNv@dEsePx-p zlkWU9bkWJN{i)9*d}B;iH~kI5WxQI|(7htXd6uKX*KBcu#YhgDr@v&GnLdP;67?+; z;Mo%>zsF@Pv9H5oW`W6nI4mwqz-0nVT#B)yRI&WtkfJS;7w&KH*Z@+PUgSO>`m=D# z>Dd4RRsbJ?_ww4mO51K+B#B*Hmoho0L^o8{gwf>H^pqrcvf0*Vj_e55e#y4eT?fa??il1)7U0;>s6n4$JG?`1)O@|L}J+5dOq^v+M6yG z6C#K$XC7l>P{PT*|M(RfV_xQ$z8j_BXV!F0m_WBOq;^EI4ZvnT~0?2Ga0 z`ZId&&$w~kSfjE2G}o`&Ca5XB8@k_L?q8Y3HSUZ1z@zBmmo2IKM1q;Wu|ZUvQ4le^ z!faqNt22h^_^fyQTrmG-G;6;p9~O_sm}w=o$X@03h=D61G1;nnW zDQQ)8dk{`MM`+^!N?tFKI3f4cRd1I`{T@OC$?wu;oz1mw>95;PF?nK8I0H7L@v=|_ zUU$*5`!qR6PDAUdU!{=gKled8C!KbW21hBs@6(`Eb>#slGw@(f;6{{4Vs2z65mm}~ zC?hmaHe;*cp~8?7Q3Y#{;wfefMM9(12No+o(`Gwb;Nrx7EMi(1 zf_HGMmU8RQz#`s1N#hT}Jp2IhN6<=Y*?A!z9|^xRc^pcdCq5v|5BwOIH~cpqW}gr1 z3rGr?swxmp6#94{@kY`e0;N8bi?7py8g$hR$`ePOtMaI*&snEVy;cO(>#rk0UyYK> z<^L!<92AcJrw|kCU#Iy?SEIzm#t^On{XkH|B@1mv=5b+IQ)Lt8$;AUeFN`E1;Sk`e z;Mo&qb!Q2P6ZR%;%%-cIlk?xr`E)-=pCLN&VWMx#qg0>CMb8#Q=zuY3FBs<=Xe(mM zW13=`t=cAw`a^_AH-8}`I$I01<*`(=)-vAq^Xe9Tn9lzY-KJrsWp-J3rr)A(S3^}T zwmc?eBo`ty-1N)BK=o3iS4#ub)wkUV6@EeGNQx*&614xJ%x3P*7H@gEg8@HxuB!wK z`;H=YD6*g+#ZX5e99^2EJz-&N{fP9mMfBM$gd--eCl~x68vk}k+NI0@KIvcva!h(_ zO#HFHK^zTQk1-iGj`~uR)Yv8Uczz)md+e!TTZ+AW(8rKhPI#z825#@G(M_^R5?ld^ z73cuerk)BE%xpT8dmwq>C;?7B^yri6jw2o{*nFJ#TvfHK5Kx_ZqB_q?4mA^;L}d&} zT3$&8DhN^lOGfys&7%&P73_has2=BJg?vYdM-(hR;^Fa5w$VCC2FZ5nCt_tyHWlfR ztesP-Sc0h_HKAcNlqV`np3B)JgVHNdwgrQvxviQOtR8r3_ zCX7my9|=U|jyCGR#7D9wlsTq}SdNB9n2RHy%R@n|O|l!uLLUt-uwlM&(bTMW(8d&I z9@*v5Vm5Fb?+n3ahhmz}I1!tPLWn9PN?Km}4df9d5ReSy6IS^hF7S{5D5}@lTNU#e zTg5Z+muwd&SPsiJ+9b-WWQ{tcN6@4ls#*3GMke*_MA1Y6o6gRA$UB=+cvxydft#O4 z{$alm702@$no32E5lS9MLLh#`$GiBWjU3Z|^ilAlQXP{tJ7IvLZ_nye z{?PGD+bSz)P=SV0m(?-;k$Y!(&f<=%76zT`T-A3iwJJbR7}*p$;6-~c&7 z4#3Pn?@n`|I$KZf@41loR?)rS)Q#hkfjpug${M_zuJ9qpe0!lc=Wq;5PMp`ByH7D| z-)>i^$J^=gqzRB2W9b(mHJ@%rIeLApFjba;k@z_cE%3&(oEus>#p8eKa} z80o!bE0f)}T{lUXMc3|B`(vEyqb+sS$^}aGNtPvA`8Y{=!T{qOi<44y8X6fJZ(F}N z>|&DviCjt|0WztS376VFA65y_ckCo%4sba?)oybThs^s zQ~neF<5r5dc5hF;byE&^{O@8@{twuSDP((WJ}02KKp>9^t&HJB@MU4fQAVbrS8H>B zYIWUJNB$tA+$2%B04K6s5GPSoP#H7a ziXCAZ8D=!v&z}t>_wc&7Y~9#6+qhU=ttIxJz=km8s*fyIX{(IY5%_J7M)X@*Q>>D( ziw=d0QqVZV$G47bWp|wzP=6Y*zxpPp4sx9Et@5uQ@L8Aon9SWKe`*r(GW=#gD z)MX}b0Z*65p3|e&y?Ak%EF`a9VxD>`z(`&V!hpY|aZNlA(Y-K-cwYX5Yc zgg^&1zvtW9|F6HMYktx|)8ET{?R=^sjo`^5Ce8^THReiMV>|ue8eRVkh|Fv)wB3#L zsB&56W3A@3%7>|0ywV`tKxjm*I^aJU>b7Av8+$yHHOn-$sHzdfj*O^w$K~;IgA#i- z3bE2yM)h8jddIO?Lbo&m0flSTwQY{N+7Rw#s@nh-sTi0Ln! z?%62BqWN7U@b_GgMrc~Zn&?M!&4Q>^@122HH;l65|BTED)^zBY>RdwzKR)blYwC&! zUMn-YakVg9?sYP!3O!QG*xSsu>Cm#Gq==E7mQdvX)pJ?_zlY(8wG1U$i{-h*g~vv4 zq#54)*jA3eYqy5$DMnNMHVWb?E41wlmtfD!tQl$^`0z{%G6tP!dG8XUeCxMe|(vIuuvU=`X<_h1XeP@ZdG(b`bAjIit+p1XcW zdM&tJt>d_s)2t<|D126l1wW(BvOk++KPrgw)ABqHN1ocDHLb^vTH))?Q9R98BeABoKmzAl9r-7(&_}c; zW}_k3d$jnt=;oL^?Fy(;YmK{ec5Xgf!JvSCcn%Fvmyc`FUc*+W0_x6#9~~>Z{ZKGR z&0O`f#hk;-Hq@2S5Y9vS)d=iUZ2Phrk4N!96&XXgD~Fp za1FZwdl3wjADA=kpad2=KpCt=W}S2a)WBI6K^Z)C6&wY=xCVNb00b~34#2^RK^tg0 zs2w!HpAOJAAu?-97r@Y4T?FkS2weqli1C^=uqm=>6+1_Sh~`|)XR3u84aDMl_upvM z!+1YgYX8SE(A>GS6Fgr10U1Y)Cxn~5#MqphQTp@u!-t{wavnx$v5wC!#^JjcdnNS+ z&$aXq#m*5SqB&RdzB$#x&BbH!_i4U2`v4+LDEq41_c0ezX=9xaG38R#P22UuI9>SI!@R89ew^3+yx)HYzSd77 z^$&QD=Mq1mo8ggqk&)q#ol1<-y2EM49oF?D9MVd>4s_9j_dhB7{y7N>S9J)VCocB>%Qv4l%i?od!g5RI zwZMPLk9WTORtJYyeRB(&J5og;k;;o2Omi~8lkVFsPS}=NaMTiT8hvkzqkJM*fXZ*! z(_Qny4INMeX`>N3C!ScR^p5O6vPC7|x)i4Y*sSw{nxfZ0$za2q|pF?_k>}^oV3^t&CJtq^DS#3*M?QmCmbG_ze?dVFtI|IRKtF?0N zG_w$Eq$>{8V3RRfjoxK1<>3nk%f57RRlLEuPe#Y5B7)fMe3nz34F58yH^ za9Qe<8Z9&W^=69$?f~<+ti#2k0`yQZr*CYVb^231GML8zRY>))(n=~-&hNnRqy^e&wVX(XO{I3B%oC>|YROU8)~GPz%Rg8gafXAfNK@gQ zmk-QP`T+rHoG)6naDyCQI<4|v*ovvjE$~%= zp%#_JQ9~pw?s{i-BH$yvtiZ$U+6r62iJXTm$R1j@0ddQyWN|v84H86y~FDo4i3BR6K4Mf;3P@utp!^k9`73)4Tr z;!}A#{d2BPXY2`BhSe>)n-nK%XU;^N#&bkV+a6ip-vmr!+&HT7h8#n_DEBa|FEa)r zKHANIGI%T;f{(5jgF6NT3+V@8Dhx)fBMDDMEq$*{ah}#rLL|1+CD-Jw=>Y%$05XEk Aga7~l literal 36992 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 From ef06ee046283d89cdd363a84cbcc446cdb7f2068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 4 Nov 2019 17:38:42 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E8=B0=83=E6=95=B425338=20=E5=A4=9A?= =?UTF-8?q?=E7=BA=A7tab=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/user/usersInfo/InfosCourse.js | 83 +++++++++++--- .../modules/user/usersInfo/InfosPackage.js | 72 ++++++++++--- .../src/modules/user/usersInfo/InfosPath.js | 98 +++++++++++++---- .../modules/user/usersInfo/InfosProject.js | 82 +++++++++++--- .../src/modules/user/usersInfo/InfosShixun.js | 101 ++++++++++++++---- .../src/modules/user/usersInfo/usersInfo.css | 12 +++ .../user/usersInfo/video/InfosVideo.js | 6 ++ 7 files changed, 375 insertions(+), 79 deletions(-) diff --git a/public/react/src/modules/user/usersInfo/InfosCourse.js b/public/react/src/modules/user/usersInfo/InfosCourse.js index 8e2478510..b44ed83ad 100644 --- a/public/react/src/modules/user/usersInfo/InfosCourse.js +++ b/public/react/src/modules/user/usersInfo/InfosCourse.js @@ -71,8 +71,8 @@ class InfosCourse extends Component{ page:1, isSpin:true }) - let{status}=this.state; - this.getCourses(cate,status,1); + let {status, sort_by, sort_direction} = this.state; + this.getCourses(cate, status, 1, sort_by, sort_direction); } //切换状态 changeStatus=(status)=>{ @@ -81,8 +81,8 @@ class InfosCourse extends Component{ page:1, isSpin:true }) - let{category}=this.state; - this.getCourses(category,status,1); + let {category, sort_by, sort_direction} = this.state; + this.getCourses(category, status, 1, sort_by, sort_direction); } //切换页数 changePage=(page)=>{ @@ -90,8 +90,8 @@ class InfosCourse extends Component{ page, isSpin:true }) - let{category,status}=this.state; - this.getCourses(category,status,page); + let {category, status, sort_by, sort_direction} = this.state; + this.getCourses(category, status, page, sort_by, sort_direction); } // 进入课堂 @@ -147,32 +147,87 @@ class InfosCourse extends Component{ ); - + console.log("InfosCourse"); + console.log(status); return(
    -
  • this.changeCategory()}>全部
  • -
  • this.changeCategory("manage")}>{is_current ? "我":"TA"}管理的
  • -
  • this.changeCategory("study")}>{is_current ? "我":"TA"}学习的
  • +
  • this.changeCategory()} className="font-16 w32">全部
  • +
  • this.changeCategory("manage")} + className="font-16 w66">{is_current ? "我" : "TA"}管理的
  • +
  • this.changeCategory("study")} + className="font-16 w66">{is_current ? "我" : "TA"}学习的
  • + + { is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("processing")}>正在进行
  • -
  • this.changeStatus("end")}>已结束
  • + }

    { ` + .whitepanelyslli { + width: 32px !important; + height: 48px !important; + line-height: 46px !important; + } + .whitepanelyslliss { + width: 32px !important; + height: 48px !important; + line-height: 46px !important; + } + + .whitepanelysllis { + width: 66px !important; + height: 48px !important; + line-height: 46px !important; + margin-left: 40px !important; + } .white-panel li.active { border-radius: 24px; border: 0px solid #4CACFF; color: #4CACFF; } + + + ` }

    + { category=="manage"? -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("unpublished")}>未发布
  • -
  • this.changeStatus("bidding")}>竞标中
  • -
  • this.changeStatus("finished")}>已完成
  • + : category=="bidden"? -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("bidding_lost")}>未中标
  • -
  • this.changeStatus("bidding_won")}>已中标
  • + :"" }

    diff --git a/public/react/src/modules/user/usersInfo/InfosPath.js b/public/react/src/modules/user/usersInfo/InfosPath.js index 429495cf1..ffb61b2f2 100644 --- a/public/react/src/modules/user/usersInfo/InfosPath.js +++ b/public/react/src/modules/user/usersInfo/InfosPath.js @@ -160,37 +160,97 @@ class InfosPath extends Component{ return(

    - - + } + + + + { category && category == "manage" && is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("editing")}>编辑中
  • -
  • this.changeStatus("applying")}>待审核
  • -
  • this.changeStatus("published")}>已发布
  • + } { category && category == "study" && is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("unfinished")}>未完成
  • -
  • this.changeStatus("finished")}>已完成
  • + }
    - - + } + + + { is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("publicly")}>公开
  • -
  • this.changeStatus("personal")}>私有
  • + }

    - -

    + } + + + + { category && category == "manage" && is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("editing")}>编辑中
  • -
  • this.changeStatus("applying")}>待审核
  • -
  • this.changeStatus("published")}>已发布
  • -
  • this.changeStatus("closed")}>已关闭
  • + } { category && category == "study" && is_current && -
    -
  • this.changeStatus()}>全部
  • -
  • this.changeStatus("processing")}>未通关
  • -
  • this.changeStatus("passed")}>已通关
  • + }
    From 2cd88342e31f54b38adc986992da37be558916ea Mon Sep 17 00:00:00 2001 From: p31729568 Date: Mon, 4 Nov 2019 17:54:39 +0800 Subject: [PATCH 15/36] qq oauth --- app/libs/omniauth/strategies/qq.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 513257e3c..885970bad 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -37,13 +37,16 @@ module OmniAuth def raw_info access_token.options[:mode] = :query - @raw_info ||= access_token.get('/oauth2.0/me').parsed + @raw_info ||= begin + res = access_token.get('/oauth2.0/me') + JSON.parse(res.body.to_s[10..-4]) + end end def user_info access_token.options[:mode] = :query params = { oauth_consumer_key: options.client_id, openid: raw_info['openid'], format: 'json' } - @user_info ||= access_token.get('/user/get_user_info', params: params) + @user_info ||= access_token.get('/user/get_user_info', params: params).parsed end end end From 0c42cc570cd57a02987f3faea62cb93108a9f05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 4 Nov 2019 20:34:27 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E8=B0=83=E6=95=B425338=20=E5=A4=9A?= =?UTF-8?q?=E7=BA=A7tab=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/user/usersInfo/InfosCourse.js | 18 +++++++++++++++--- .../src/modules/user/usersInfo/InfosPath.js | 17 ++++++++++++++--- .../src/modules/user/usersInfo/InfosProject.js | 16 +++++++++++++--- .../src/modules/user/usersInfo/InfosShixun.js | 17 ++++++++++++++--- 4 files changed, 56 insertions(+), 12 deletions(-) diff --git a/public/react/src/modules/user/usersInfo/InfosCourse.js b/public/react/src/modules/user/usersInfo/InfosCourse.js index b44ed83ad..ec68261a3 100644 --- a/public/react/src/modules/user/usersInfo/InfosCourse.js +++ b/public/react/src/modules/user/usersInfo/InfosCourse.js @@ -110,7 +110,7 @@ class InfosCourse extends Component{ this.getCourses(category, status, 1, sort_by, "desc"); } - updatedlists(sort_direction, i) { + updatedlists(sort_directions, i) { // console.log("updatedlistssort_direction"); // console.log(sort_direction); // console.log(i); @@ -118,8 +118,20 @@ class InfosCourse extends Component{ this.setState({ isSpin: true }); - let {category, status, page, sort_by} = this.state; - this.getCourses(category, status, page, sort_by, sort_direction); + + let {category, status, page, sort_by, sort_direction} = this.state; + let sort_directiony = sort_directions; + if (sort_directions === "asc") { + if (sort_directions === sort_direction) { + sort_directiony = "desc" + } + } else if (sort_directions === "desc") { + if (sort_directions === sort_direction) { + sort_directiony = "asc" + } + } + + this.getCourses(category, status, page, sort_by, sort_directiony); } render(){ diff --git a/public/react/src/modules/user/usersInfo/InfosPath.js b/public/react/src/modules/user/usersInfo/InfosPath.js index ffb61b2f2..b91b29be5 100644 --- a/public/react/src/modules/user/usersInfo/InfosPath.js +++ b/public/react/src/modules/user/usersInfo/InfosPath.js @@ -123,13 +123,24 @@ class InfosPath extends Component{ } //排序 - updatedlists(sort_direction) { + updatedlists(sort_directions) { //是否是倒序 this.setState({ isSpin: true }); - let {category, status, page, sort_by} = this.state; - this.getCourses(category, status, sort_by, page, sort_direction); + let {category, status, page, sort_by, sort_direction} = this.state; + let sort_directiony = sort_directions; + if (sort_directions === "asc") { + if (sort_directions === sort_direction) { + sort_directiony = "desc" + } + } else if (sort_directions === "desc") { + if (sort_directions === sort_direction) { + sort_directiony = "asc" + } + } + + this.getCourses(category, status, sort_by, page, sort_directiony); } diff --git a/public/react/src/modules/user/usersInfo/InfosProject.js b/public/react/src/modules/user/usersInfo/InfosProject.js index 76f9bcd1a..4bdded8ab 100644 --- a/public/react/src/modules/user/usersInfo/InfosProject.js +++ b/public/react/src/modules/user/usersInfo/InfosProject.js @@ -125,13 +125,23 @@ class InfosProject extends Component{ } //排序 - updatedlists(sort_direction) { + updatedlists(sort_directions) { //是否是倒序 this.setState({ isSpin: true }); - let {category, status, page, sort_by} = this.state; - this.getCourses(category, status, page, sort_by, sort_direction); + let {category, status, page, sort_by, sort_direction} = this.state; + let sort_directiony = sort_directions; + if (sort_directions === "asc") { + if (sort_directions === sort_direction) { + sort_directiony = "desc" + } + } else if (sort_directions === "desc") { + if (sort_directions === sort_direction) { + sort_directiony = "asc" + } + } + this.getCourses(category, status, page, sort_by, sort_directiony); } render(){ diff --git a/public/react/src/modules/user/usersInfo/InfosShixun.js b/public/react/src/modules/user/usersInfo/InfosShixun.js index d382c0fc5..2d5f5d98d 100644 --- a/public/react/src/modules/user/usersInfo/InfosShixun.js +++ b/public/react/src/modules/user/usersInfo/InfosShixun.js @@ -124,13 +124,24 @@ class InfosShixun extends Component{ } //排序 - updatedlists(sort_direction) { + updatedlists(sort_directions) { //是否是倒序 this.setState({ isSpin: true }); - let {category, status, page, sort_by} = this.state; - this.getCourses(category, status, sort_by, page, sort_direction); + let {category, status, page, sort_by, sort_direction} = this.state; + let sort_directiony = sort_directions; + if (sort_directions === "asc") { + if (sort_directions === sort_direction) { + sort_directiony = "desc" + } + } else if (sort_directions === "desc") { + if (sort_directions === sort_direction) { + sort_directiony = "asc" + } + } + + this.getCourses(category, status, sort_by, page, sort_directiony); } render(){ From 1711158f59cd55240121da69db54b64ad60957c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Mon, 4 Nov 2019 21:42:40 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E8=BD=AE=E6=92=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/home/shixunsHome.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/react/src/modules/home/shixunsHome.js b/public/react/src/modules/home/shixunsHome.js index 4db39a310..217e1cc06 100644 --- a/public/react/src/modules/home/shixunsHome.js +++ b/public/react/src/modules/home/shixunsHome.js @@ -147,7 +147,9 @@ class ShixunsHome extends Component { nextArrow={} prevArrow={} autoplay + autoplaySpeed={4500} animation={false} + pauseOnHover={true} style={{width:"100%"}} arrowPos="outer"> {homedatalist.images_url.map((item, index) => ( From 1fdacb3b96a26a7b55db941925a5a4563c9d5587 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 09:33:06 +0800 Subject: [PATCH 18/36] subject show api add cover --- app/views/subjects/show.json.jbuilder | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/subjects/show.json.jbuilder b/app/views/subjects/show.json.jbuilder index 7febcd789..870d33d40 100644 --- a/app/views/subjects/show.json.jbuilder +++ b/app/views/subjects/show.json.jbuilder @@ -12,6 +12,7 @@ json.allow_send @user.logged? json.allow_visit @subject.status > 1 || @is_manager json.allow_add_member @is_manager json.is_creator @is_creator +json.cover url_to_avatar(@subject) if @subject.excellent json.has_start @subject.has_course_start? From d4d69efc67d343f5bc8b858671f6ba3be8bd4ca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 09:40:36 +0800 Subject: [PATCH 19/36] =?UTF-8?q?=E8=B0=83=E6=95=B425338=20=E5=A4=9A?= =?UTF-8?q?=E7=BA=A7tab=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/user/usersInfo/common/InfoTab.js | 15 ++++-- .../user/usersInfo/video/InfosVideo.js | 48 ++++++++++++++++--- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/public/react/src/modules/user/usersInfo/common/InfoTab.js b/public/react/src/modules/user/usersInfo/common/InfoTab.js index d4b374886..bb0761440 100644 --- a/public/react/src/modules/user/usersInfo/common/InfoTab.js +++ b/public/react/src/modules/user/usersInfo/common/InfoTab.js @@ -5,12 +5,12 @@ import { getUrl2, isDev, ThemeContext } from 'educoder' import axios from 'axios' -function InfoTab (props) { +function InfoTab(props) { const theme = useContext(ThemeContext); const { category, changeCategory, categories, right } = props; const username = props.match.params.username - + useEffect(() => { }, []) @@ -19,7 +19,16 @@ function InfoTab (props) {
    {categories && categories.map(item => { return ( -
  • changeCategory(item.key)}>{item.name}
  • + item.id === 1 ? +
  • changeCategory(item.key)} + style={{width: "70px"}}>{item.name}
  • + : +
  • changeCategory(item.key)} + style={{width: "80px"}}>{item.name}
  • ) })} {/*
  • this.changeCategory()}>全部
  • diff --git a/public/react/src/modules/user/usersInfo/video/InfosVideo.js b/public/react/src/modules/user/usersInfo/video/InfosVideo.js index 19829b76e..bcc5acd2e 100644 --- a/public/react/src/modules/user/usersInfo/video/InfosVideo.js +++ b/public/react/src/modules/user/usersInfo/video/InfosVideo.js @@ -193,10 +193,31 @@ function InfoVideo (props) { } // TODO use封装 function onSortChange(key, index) { - const _item = _items[index] - _items.splice(index, 1) - _items.unshift(_item) - setSortKey(key) + + try { + const _item = _items[index]; + _items.splice(index, 1); + _items.unshift(_item); + const keys = key.split('-'); + const sorts = sortKey.split('-'); + if (key === "published_at-desc") { + if (keys[1] === sorts[1]) { + setSortKey("published_at-asc") + } else { + setSortKey(key) + } + } else if (key === "published_at-asc") { + if (keys[1] === sorts[1]) { + setSortKey("published_at-desc") + } else { + setSortKey(key) + } + } + } catch (e) { + + } + + } function getCopyText (file_url, cover_url) { return `` @@ -264,7 +285,18 @@ function InfoVideo (props) { border: 0px solid #4CACFF; color: #4CACFF; } - + .whitepanelysllisyt { + width: 70px !important; + height: 48px !important; + line-height: 46px !important; + + } + .whitepanelysllisyts { + width: 80px !important; + height: 48px !important; + line-height: 46px !important; + margin-left: 30px; + } `} @@ -272,10 +304,12 @@ function InfoVideo (props) { {...props} categories={[{ key: 'all', - name: '全部视频' + name: '全部视频', + id: 1, }, { key: 'review', - name: '待审核视频' + name: '待审核视频', + id: 2 }]} {...categoryObj} From 14e87a490f6752bb3d14a9e33afb04db57e898c9 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 5 Nov 2019 09:41:25 +0800 Subject: [PATCH 20/36] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/comment/Comments.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/public/react/src/modules/comment/Comments.js b/public/react/src/modules/comment/Comments.js index 836b520cc..9ef91ef46 100644 --- a/public/react/src/modules/comment/Comments.js +++ b/public/react/src/modules/comment/Comments.js @@ -59,8 +59,14 @@ const _origin = window.location.origin; currentPage comments + buttonText 发送按钮 显示文本 + showRewardButton 是否显示奖励按钮 showHiddenButton 是否显示隐藏按钮 + + onlySuperAdminCouldHide 只有超级管理员才显示隐藏、取消隐藏 + isChildCommentPagination 是否子回复分页 + loadMoreChildComments function 加载所有子回复 接口 deleteComment 删除 @@ -402,6 +408,7 @@ class Comments extends Component {

    + {/* __useKindEditor暂时没用到了,TODO 可以去掉 */} { window.__useKindEditor ? Date: Tue, 5 Nov 2019 10:01:45 +0800 Subject: [PATCH 21/36] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E4=B8=AD=E9=94=AE=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/shixunHomework/Listofworksstudentone.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js index 649aeab7a..398e03192 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js @@ -1175,6 +1175,7 @@ class Listofworksstudentone extends Component { record.submitstate === "未提交" ? -- : this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformationt(record)}>查看 ) @@ -1505,6 +1506,7 @@ class Listofworksstudentone extends Component { record.submitstate === "未提交" ? -- : this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformationt(record)}>{record.operating} ) @@ -2779,7 +2781,16 @@ class Listofworksstudentone extends Component { } // 调分 - + Viewstudenttraininginformationtysl2 = (e, data) => { + // console.log("Viewstudenttraininginformationtysl2"); + // console.log("shubiao zhongjian "); + // console.log(e); + this.setState({ + userids: data.myid, + }) + // this.viewtrainingt(e.myid); + window.open(`/courses/${this.state.props.match.params.coursesId}/shixun_homeworks/${data.myid}/shixun_work_report`, '_blank'); + } // 查看学员实训信息 Viewstudenttraininginformationt = (e) => { // console.log("Viewstudenttraininginformation"); From f6abc4453cbdc03ee6d6796b0540556b0f053ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 10:04:24 +0800 Subject: [PATCH 22/36] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E4=B8=AD=E9=94=AE=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/courses/shixunHomework/Listofworksstudentone.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js index 398e03192..dcd32b3d1 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js @@ -458,6 +458,7 @@ class Listofworksstudentone extends Component { : this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformation(record)}>{record.operating} } @@ -810,6 +811,7 @@ class Listofworksstudentone extends Component { : this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformation(record)}>{record.operating} } From b1338af0407182327b58cdcf0f98c20dbc5dd649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 10:19:57 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E5=90=84=E6=A8=A1=E5=9D=97=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=A2=9E=E5=8A=A0=E9=BC=A0=E6=A0=87=E4=B8=AD=E9=94=AE?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/busyWork/CommonWorkList.js | 4 +- .../src/modules/courses/busyWork/common.js | 70 +++++++++++-------- 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/public/react/src/modules/courses/busyWork/CommonWorkList.js b/public/react/src/modules/courses/busyWork/CommonWorkList.js index 772187078..cb9091d81 100644 --- a/public/react/src/modules/courses/busyWork/CommonWorkList.js +++ b/public/react/src/modules/courses/busyWork/CommonWorkList.js @@ -369,7 +369,9 @@ function buildColumns(that, student_works, studentData) { } {/* toWorkDetailPage */} {/* /courses/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */} - that.props.toWorkDetailPage(courseId, workId, record.id)} >{ isAdmin ? '评阅': '查看'} + that.props.toWorkDetailPage2(e, courseId, workId, record.id)} + onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}
    diff --git a/public/react/src/modules/courses/busyWork/common.js b/public/react/src/modules/courses/busyWork/common.js index b1828997b..cc087a120 100644 --- a/public/react/src/modules/courses/busyWork/common.js +++ b/public/react/src/modules/courses/busyWork/common.js @@ -12,15 +12,15 @@ export function RouteHOC(options = {}) { return class Wrapper extends Component { constructor(props) { super(props); - + this.state = { - + } } toCreateProject = () => { let url = '/projects/new' if (window.location.port == 3007) { - // window.location.href + // window.location.href url = '/testbdweb.educoder.net/projects/new' } window.open( @@ -55,8 +55,8 @@ export function RouteHOC(options = {}) { } else { this.props.history.push(`/courses/${_courseId}/boards/${workId}/messages/${topicId}`) } - - } + + } toEditPage = (_courseId, _workId) => { const secondName = this.getModuleName() if (typeof _courseId == "object") { @@ -78,6 +78,17 @@ export function RouteHOC(options = {}) { window.open(`/courses/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); } } + toWorkDetailPage2 = (e, _courseId, _workId, _studentWorkId) => { + const secondName = this.getModuleName() + if (typeof _courseId == "object") { + const workId = _courseId.workId + const courseId = _courseId.coursesId + const studentWorkId = _courseId.studentWorkId + window.open(`/courses/${courseId}/${secondName}/${_workId || workId}/${_studentWorkId || studentWorkId}/appraise`); + } else { + window.open(`/courses/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); + } + } toNewPage = (courseId) => { const secondName = this.getModuleName() this.props.history.push(`/courses/${courseId.coursesId}/${secondName}/${courseId.category_id}/new`) @@ -125,8 +136,8 @@ export function RouteHOC(options = {}) { this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/answer`) } } - - toWorkQuestionPage = (_courseId, _workId) => { + + toWorkQuestionPage = (_courseId, _workId) => { const secondName = this.getModuleName() if (typeof _courseId == "object") { const workId = _workId || _courseId.workId @@ -148,37 +159,36 @@ export function RouteHOC(options = {}) { } } - - render() { + render() { const { snackbarOpen} = this.state; return ( - - - + + ) } } } -} \ No newline at end of file +} From 4c173a5c08e4be18b2c6862b60351015bdd76d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 10:33:50 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E5=90=84=E6=A8=A1=E5=9D=97=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=A2=9E=E5=8A=A0=E9=BC=A0=E6=A0=87=E4=B8=AD=E9=94=AE?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/courses/busyWork/CommonWorkList.js | 4 ++-- public/react/src/modules/courses/busyWork/common.js | 4 +++- .../courses/shixunHomework/Listofworksstudentone.js | 8 ++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/public/react/src/modules/courses/busyWork/CommonWorkList.js b/public/react/src/modules/courses/busyWork/CommonWorkList.js index cb9091d81..e5046a9d5 100644 --- a/public/react/src/modules/courses/busyWork/CommonWorkList.js +++ b/public/react/src/modules/courses/busyWork/CommonWorkList.js @@ -369,8 +369,8 @@ function buildColumns(that, student_works, studentData) { } {/* toWorkDetailPage */} {/* /courses/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */} - that.props.toWorkDetailPage2(e, courseId, workId, record.id)} + that.props.toWorkDetailPage2(e, courseId, workId, record.id)} onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}
    diff --git a/public/react/src/modules/courses/busyWork/common.js b/public/react/src/modules/courses/busyWork/common.js index cc087a120..f8327adcd 100644 --- a/public/react/src/modules/courses/busyWork/common.js +++ b/public/react/src/modules/courses/busyWork/common.js @@ -79,6 +79,8 @@ export function RouteHOC(options = {}) { } } toWorkDetailPage2 = (e, _courseId, _workId, _studentWorkId) => { + console.log("鼠标中键点击了") + console.log(_studentWorkId) const secondName = this.getModuleName() if (typeof _courseId == "object") { const workId = _courseId.workId @@ -170,7 +172,7 @@ export function RouteHOC(options = {}) { toNewPage={this.toNewPage} toListPage={this.toListPage} toWorkDetailPage={this.toWorkDetailPage} - + toWorkDetailPage2={this.toWorkDetailPage2} toWorkPostPage={this.toWorkPostPage} toWorkListPage={this.toWorkListPage} toWorkAnswerPage={this.toWorkAnswerPage} diff --git a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js index dcd32b3d1..458ba53ae 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworksstudentone.js @@ -458,7 +458,7 @@ class Listofworksstudentone extends Component { : this.Viewstudenttraininginformationtysl2(e, record)} + onMouseDown={(e) => this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformation(record)}>{record.operating} } @@ -811,7 +811,7 @@ class Listofworksstudentone extends Component { : this.Viewstudenttraininginformationtysl2(e, record)} + onMouseDown={(e) => this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformation(record)}>{record.operating} } @@ -1177,7 +1177,7 @@ class Listofworksstudentone extends Component { record.submitstate === "未提交" ? -- : this.Viewstudenttraininginformationtysl2(e, record)} + onMouseDown={(e) => this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformationt(record)}>查看 ) @@ -1508,7 +1508,7 @@ class Listofworksstudentone extends Component { record.submitstate === "未提交" ? -- : this.Viewstudenttraininginformationtysl2(e, record)} + onMouseDown={(e) => this.Viewstudenttraininginformationtysl2(e, record)} onClick={() => this.Viewstudenttraininginformationt(record)}>{record.operating} ) From b762a57b7a379736c628c946ce62a10f4ce2f8ac Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 10:43:40 +0800 Subject: [PATCH 25/36] fix --- app/libs/omniauth/strategies/qq.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 885970bad..111d9b277 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -6,6 +6,7 @@ module OmniAuth authorize_url: '/oauth2.0/authorize', token_url: '/oauth2.0/token' } + option :token_params, { parse: :query } def request_phase super From 8274d64e78c2cf4388bb460268c910c9a5dc5676 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 10:54:24 +0800 Subject: [PATCH 26/36] fix --- app/libs/omniauth/strategies/qq.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 111d9b277..7940b9cee 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -39,8 +39,8 @@ module OmniAuth def raw_info access_token.options[:mode] = :query @raw_info ||= begin - res = access_token.get('/oauth2.0/me') - JSON.parse(res.body.to_s[10..-4]) + res = access_token.get('/oauth2.0/me', parse: :text).parsed + JSON.parse(res.to_s[10..-4]) end end From fd15f24fb73d96f945e9f192ec23d841c66209f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 11:05:02 +0800 Subject: [PATCH 27/36] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../competitions/Competitioncommon/CompetitionCommon.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js index 749cd251d..3daa11675 100755 --- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js +++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js @@ -48,6 +48,7 @@ class CompetitionCommon extends Component{ } } + //获取头部信息 getbannerdata=()=>{ let menuid=this.props.location.search.replace('?menu=', ''); let url=`/competitions/${this.props.match.params.identifier}/common_header.json`; @@ -55,7 +56,8 @@ class CompetitionCommon extends Component{ if(response.status===200){ this.setState({ data: response.data, - thiskeys: menuid === undefined || menuid === "" ? response.data.competition_modules[0].id : menuid + thiskeys: menuid === undefined || menuid === "" ? response.data.competition_modules[0].id : menuid, + mode: response.data.mode }) if(menuid===undefined||menuid===""){ this.getrightdata( From d47d37301b50008fd69c6a5866062bb3fa4da43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 11:18:53 +0800 Subject: [PATCH 28/36] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../competitions/Competitioncommon/CompetitionCommon.js | 4 +++- public/react/src/modules/user/usersInfo/Infos.js | 4 ++-- public/react/src/modules/user/usersInfo/InfosShixun.js | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js index 3daa11675..3a157f83f 100755 --- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js +++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js @@ -50,6 +50,7 @@ class CompetitionCommon extends Component{ //获取头部信息 getbannerdata=()=>{ + debugger let menuid=this.props.location.search.replace('?menu=', ''); let url=`/competitions/${this.props.match.params.identifier}/common_header.json`; axios.get(url).then((response) => { @@ -83,7 +84,8 @@ class CompetitionCommon extends Component{ }).catch((error) => { console.log(error) }) - + console.log("CompetitionCommonCompetitionCommon"); + console.log(this.props.user); if (this.props.user && this.props.user.login != "") { const zul = `/competitions/${this.props.match.params.identifier}/competition_staff.json`; axios.get((zul)).then((result) => { diff --git a/public/react/src/modules/user/usersInfo/Infos.js b/public/react/src/modules/user/usersInfo/Infos.js index a55cbb74c..488668421 100644 --- a/public/react/src/modules/user/usersInfo/Infos.js +++ b/public/react/src/modules/user/usersInfo/Infos.js @@ -280,7 +280,7 @@ class Infos extends Component{ } > - {/* 实训 */} + {/* 实训项目 */} () @@ -294,7 +294,7 @@ class Infos extends Component{ } > - {/* 项目 */} + {/* 开发项目 */} () diff --git a/public/react/src/modules/user/usersInfo/InfosShixun.js b/public/react/src/modules/user/usersInfo/InfosShixun.js index 2d5f5d98d..5473dcf5a 100644 --- a/public/react/src/modules/user/usersInfo/InfosShixun.js +++ b/public/react/src/modules/user/usersInfo/InfosShixun.js @@ -45,6 +45,7 @@ class InfosShixun extends Component{ status, sort_by, page, + sort_direction, per_page:this.props.is_current && category && page ==1?17:16 }}).then((result)=>{ if(result){ From 5114ef54e60121348fc162dd86bc720c80d3fdd1 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 11:21:28 +0800 Subject: [PATCH 29/36] fix --- app/libs/omniauth/strategies/qq.rb | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 7940b9cee..169524e23 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -22,7 +22,17 @@ module OmniAuth end end - uid { raw_info['openid'].to_s } + uid do + @uid ||= begin + access_token.options[:mode] = :query + access_token.options[:param_name] = :access_token + # Response Example: "callback( {\"client_id\":\"11111\",\"openid\":\"000000FFFF\"} );\n" + response = access_token.get('/oauth2.0/me') + + matched = response.body.match(/"openid":"(?\w+)"/) + matched[:openid] + end + end info do { @@ -36,17 +46,9 @@ module OmniAuth { raw_info: user_info } end - def raw_info - access_token.options[:mode] = :query - @raw_info ||= begin - res = access_token.get('/oauth2.0/me', parse: :text).parsed - JSON.parse(res.to_s[10..-4]) - end - end - def user_info access_token.options[:mode] = :query - params = { oauth_consumer_key: options.client_id, openid: raw_info['openid'], format: 'json' } + params = { oauth_consumer_key: options.client_id, openid: uid, format: 'json', parse: :json } @user_info ||= access_token.get('/user/get_user_info', params: params).parsed end end From e25aef3c8899a88db0c5aadae08d87f2d2007e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 11:21:36 +0800 Subject: [PATCH 30/36] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/competitions/Competitioncommon/CompetitionCommon.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js index 3a157f83f..e9733b079 100755 --- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js +++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js @@ -30,6 +30,8 @@ class CompetitionCommon extends Component{ componentDidMount(){ window.document.title = '竞赛'; + console.log("CompetitionCommon"); + console.log(this.props); if(this.props.match.params.identifier!=null){ this.getbannerdata(); // this.setState({ From 9306fa33781658c0d801ccbd2a4543181eed1633 Mon Sep 17 00:00:00 2001 From: SylorHuang Date: Tue, 5 Nov 2019 11:24:59 +0800 Subject: [PATCH 31/36] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=9A=84=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E7=BB=93=E6=9E=9C=E5=A4=9A=E9=80=89=E9=A2=98=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=AD=A3=E7=A1=AE=E7=AD=94=E6=A1=88=E5=92=8C?= =?UTF-8?q?=E8=AF=95=E5=8D=B7=E5=9B=9E=E7=AD=94=E4=BF=9D=E5=AD=98=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E7=A4=BA=E6=97=B6=E9=97=B4=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/exercises_controller.rb | 23 ++++++++++++++++------- app/helpers/exercises_helper.rb | 8 +++++++- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index a6464a151..784bb9c9a 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -1084,14 +1084,23 @@ class ExercisesController < ApplicationController @shixun_undo = 0 @ques_undo = 0 ex_answer_time = @exercise.time.to_i - @ex_end_time = @exercise.get_exercise_end_time(current_user.id) - if ex_answer_time > 0 - exercise_end_time = @exercise.exercise_users.exercise_commit_users(current_user.id) - if exercise_end_time.present? - ex_end_times = exercise_end_time.first.start_at.nil? ? Time.now : exercise_end_time.first.start_at - @ex_end_time = ex_end_times + ex_answer_time.minutes - end + if ex_answer_time > 0 #有剩余时间的时候 + user_left_time = get_exercise_left_time(@exercise,current_user) + @ex_end_time = Time.now + user_left_time.to_i.seconds + else + @ex_end_time = @exercise.get_exercise_end_time(current_user.id) end + # @ex_end_time = @exercise.get_exercise_end_time(current_user.id) + # if ex_answer_time > 0 + # left_answer_time = Time.now + ex_answer_time.minutes #判断试卷的倒计时和截止时间哪个先到 + # if left_answer_time < @ex_end_time + # exercise_end_time = @exercise.exercise_users.exercise_commit_users(current_user.id) + # if exercise_end_time.present? + # ex_end_times = exercise_end_time.first.start_at.nil? ? Time.now : exercise_end_time.first.start_at + # @ex_end_time = ex_end_times + ex_answer_time.minutes + # end + # end + # end @exercise_questions.each do |q| if q.question_type == Exercise::PRACTICAL #当为实训题时 user_myshixun = q.shixun.myshixuns.search_myshixun_user(current_user.id) diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index 395d67913..a859a239e 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -160,7 +160,12 @@ module ExercisesHelper #每个选项的正确率 ex_choices.each do |c| + Rails.logger.info("######________c__________#############{c}") + Rails.logger.info("######________standard_answer__________#############{standard_answer}") + right_answer = standard_answer.include?(c.choice_position) #选项的标准答案为选项的位置 + Rails.logger.info("######_______right_answer__________#############{right_answer}") + answer_users_count = effictive_users.select{|answer| answer.exercise_choice_id == c.id}.size answer_percent = (effictive_users_count == 0 ? 0.0 : (answer_users_count / effictive_users_count.to_f ).round(3)) @@ -896,7 +901,8 @@ module ExercisesHelper if ex_time > 0 exercise_user = exercise.exercise_users.find_by(user_id:user.id) time_mill = ex_time * 60 #转为秒 - exercise_end_time = exercise.end_time.present? ? exercise.end_time.to_i : 0 + exercise_end_time = exercise.get_exercise_end_time(user.id) #没有考虑分班的情况 + # exercise_end_time = exercise.end_time.present? ? exercise.end_time.to_i : 0 exercise_user_start = exercise_user&.start_at.present? ? exercise_user.start_at.to_i : 0 #用户未开始答题时,即exercise_user_start为0 if exercise_user_start == 0 From 25b4a073158373530e87b460418c41df06b34089 Mon Sep 17 00:00:00 2001 From: SylorHuang Date: Tue, 5 Nov 2019 11:31:15 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E9=A2=98=E6=A0=87=E5=87=86=E7=AD=94=E6=A1=88=E7=9A=84=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/exercises_helper.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/helpers/exercises_helper.rb b/app/helpers/exercises_helper.rb index a859a239e..323bad3cf 100644 --- a/app/helpers/exercises_helper.rb +++ b/app/helpers/exercises_helper.rb @@ -142,6 +142,9 @@ module ExercisesHelper right_users_count = 0 #该问题的正确率 if ex.question_type == Exercise::MULTIPLE #多选题 + if standard_answer.size == 1 #以前的多选题答案存在一个表里 + standard_answer = standard_answer.first.to_s.split("").map(&:to_i) + end right_user_ids = user_ids standard_answer.each do |choice_position| standard_answer_choice_id = ex_choices.select{|ec| ec.choice_position == choice_position}.first&.id @@ -160,12 +163,7 @@ module ExercisesHelper #每个选项的正确率 ex_choices.each do |c| - Rails.logger.info("######________c__________#############{c}") - Rails.logger.info("######________standard_answer__________#############{standard_answer}") - right_answer = standard_answer.include?(c.choice_position) #选项的标准答案为选项的位置 - Rails.logger.info("######_______right_answer__________#############{right_answer}") - answer_users_count = effictive_users.select{|answer| answer.exercise_choice_id == c.id}.size answer_percent = (effictive_users_count == 0 ? 0.0 : (answer_users_count / effictive_users_count.to_f ).round(3)) From 7bf8bb9a75d24d08ec1783efd9c07d6b0ac81082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Tue, 5 Nov 2019 11:33:01 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Competitioncommon/CompetitionCommon.js | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js index e9733b079..bde5895e1 100755 --- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js +++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js @@ -30,8 +30,6 @@ class CompetitionCommon extends Component{ componentDidMount(){ window.document.title = '竞赛'; - console.log("CompetitionCommon"); - console.log(this.props); if(this.props.match.params.identifier!=null){ this.getbannerdata(); // this.setState({ @@ -50,9 +48,30 @@ class CompetitionCommon extends Component{ } } + componentDidUpdate = (prevProps) => { + if (prevProps.user != this.props.user) { + + console.log("componentDidUpdatess"); + console.log(this.props.user); + if (this.props.user && this.props.user.login != "") { + const zul = `/competitions/${this.props.match.params.identifier}/competition_staff.json`; + axios.get((zul)).then((result) => { + if (result) { + if (result.data) { + this.setState({ + signupdata: result.data + }) + } + } + }).catch((error) => { + //console.log(error); + }) + } + } + + } //获取头部信息 getbannerdata=()=>{ - debugger let menuid=this.props.location.search.replace('?menu=', ''); let url=`/competitions/${this.props.match.params.identifier}/common_header.json`; axios.get(url).then((response) => { @@ -86,8 +105,9 @@ class CompetitionCommon extends Component{ }).catch((error) => { console.log(error) }) - console.log("CompetitionCommonCompetitionCommon"); - console.log(this.props.user); + + //this.props.user 有可能为空 + if (this.props.user && this.props.user.login != "") { const zul = `/competitions/${this.props.match.params.identifier}/competition_staff.json`; axios.get((zul)).then((result) => { From 319200c800a9185fb2cc9c72cb1e024b041b8179 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 11:47:47 +0800 Subject: [PATCH 34/36] qq oauth fix --- app/libs/omniauth/strategies/qq.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/libs/omniauth/strategies/qq.rb b/app/libs/omniauth/strategies/qq.rb index 169524e23..97cd9de94 100644 --- a/app/libs/omniauth/strategies/qq.rb +++ b/app/libs/omniauth/strategies/qq.rb @@ -48,8 +48,8 @@ module OmniAuth def user_info access_token.options[:mode] = :query - params = { oauth_consumer_key: options.client_id, openid: uid, format: 'json', parse: :json } - @user_info ||= access_token.get('/user/get_user_info', params: params).parsed + param = { oauth_consumer_key: options[:client_id], openid: uid, format: 'json' } + @user_info ||= access_token.get('/user/get_user_info', params: param, parse: :json).parsed end end end From 5364552a8562574d2292556ab89b350d476afba0 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 5 Nov 2019 11:51:35 +0800 Subject: [PATCH 35/36] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/readme.txt | 5 + public/react/src/modules/page/readme.txt | 147 ++++++++++++++++++++++- 2 files changed, 151 insertions(+), 1 deletion(-) diff --git a/public/react/readme.txt b/public/react/readme.txt index 92dc5a46b..0f085af23 100644 --- a/public/react/readme.txt +++ b/public/react/readme.txt @@ -1,3 +1,8 @@ +其他的文档位置: +/educoder/public/react/public/js/readme.txt 关于js_min_all +/educoder/educoder/public/react/scripts/readme-cdn.txt 关于CDN +/educoder/public/react/src/modules/page/readme.txt 关于TPI + 1、 安装node v6.9.x;此安装包含了node和npm。 2、 安装cnpm(命令行): npm install -g cnpm --registry=https://registry.npm.taobao.org diff --git a/public/react/src/modules/page/readme.txt b/public/react/src/modules/page/readme.txt index 21c2ce13c..882c48ee5 100644 --- a/public/react/src/modules/page/readme.txt +++ b/public/react/src/modules/page/readme.txt @@ -1,3 +1,131 @@ +state说明 + tasks详情接口 + allowed_unlock 为true时,才允许非管理员用户解锁隐藏测试集 + discusses_count 总评论数 + + challenge 实训关卡信息 + exec_time -- + modify_time -- + path 关卡文件路径 + position 第几关 + praises_count 点赞数 + score 分数 + shixun_id + st 0-编程题 1-选择题 + subject 关卡名称 + task_pass 过关任务 + web_route -- + + game 为每一个用户独立创建的实训关卡对应的信息 + accuracy -- + answer_deduction-- + answer_open -- + challenge_id + cost_time 通关耗时 + created_at + end_time + evaluate_count + final_score + id + identifier + modify_time + myshixun_id + open_time + picture_path + resubmit_identifier + retry_status + star + status 2-已通关 + test_sets_view true-测试集已解锁 + updated_at + user_id + game_count 关卡数 + git_url 仓库地址,vnc会用到 + has_answer + is_teacher 是否是老师 初始化被赋值到 user.is_teacher + last_compile_output + mirror_name 镜像名称 TPIMonaco会用到这个属性来判断当前关卡使用的什么语言 见 mirror2LanguageMap + myshixun + commit_id: "80cb6fc55a14bdd64a9c99913f416966238ed3de" + created_at: "2019-07-26T09:00:31.000+08:00" + git_url: null + gpid: null + id: 542543 + identifier: "ns53g8vfeo" 有些接口会用到 + is_public: true + modify_time: "2017-11-02T18:12:23.000+08:00" + onclick_time: "2019-07-26T09:00:31.000+08:00" + repo_name: "p15478209/ns53g8vfeo20190726090031" + reset_time: "2017-10-25T09:33:03.000+08:00" + shixun_id: 61 + status: 0 + system_tip: true (如果修改了测试集 || 修改了代码) && system_tip为true 也就是下面代码为true时,才显示更新通知弹框 + const showUpdateButton = (tpm_cases_modified || needUpdateScript) && myshixun.system_tip === true; + updated_at: "2019-11-05T10:58:35.000+08:00" + user_id: 24731 + myshixun_manager: true + next_game: "so7ijzqe63a9" 下一关identifier + praise_count: 120 点赞数 + prev_game: "bxg5w9uonhts" 上一关identifier + record_onsume_time: 0.296 上一次评测耗时 初始化被赋值到newResData.record = newResData.record_onsume_time + sets_error_count: 0 失败测试集数量 + shixun + authentication: false + averge_star: 4.9 + can_copy: false + challenges_count: 4 关卡数 + closer_id: null + code_edit_permission: false 是否允许修改代码 + code_hidden: false 是否隐藏文件目录按钮 + created_at: "2017-06-09T11:32:16.000+08:00" + end_time: null + excute_time: null + exec_time: 25 + forbid_copy: false forbid_copy ? "不允许学员复制和粘贴代码" : "允许学员复制和粘贴代码" + fork_from: null + git_url: "educoder/uznmbg54" + gpid: 2448 + hidden: false + hide_code: false 是否隐藏代码tab + homepage_show: true + id: 61 + identifier: "uznmbg54" + image_text: null + language: "Python3.6" !! + major_id: 635 + mirror_script_id: null + modify_time: "2017-11-02T18:12:23.000+08:00" + multi_webssh: false 多命令行tab + myshixuns_count: 9655 学员数 + name: "Python表达式问题求解(一)※" + opening_time: null + pod_life: 0 + publish_time: "2017-09-01T10:37:49.000+08:00" + repo_name: "educoder/uznmbg54" + reset_time: "2017-10-25T09:33:03.000+08:00" + sigle_training: false + status: 2 shixun.status >= 2 实训已发布 shixun.status <= 1 模拟实战 + task_pass: task_pass ? "允许学员跳关挑战" : "不允许学员跳关挑战" + test_set_permission: true test_set_permission ? "允许学员通过金币解锁查看测试集内容" : "不允许学员通过金币解锁查看测试集内容" + trainee: 1 + updated_at: "2019-10-11T08:50:59.000+08:00" + use_scope: 0 + user_id: 3039 + users_count: 4 + visits: 69699 + webssh: 1 是否显示命令行tab + st 0-编程题 1-选择题 + test_sets 测试集 + test_sets_count: 1 + time_limit: 25 game_status.json轮训次数 + tomcat_url: "http://47.96.157.89" web类型实训,可以打开展现一个测试服务,用来查看评测结果 const webDisplayUrl = `${tomcat_url}:${data.port}/${path}` + tpm_cases_modified: false 参考system_tip属性 + tpm_modified: true 参考system_tip属性 + user 当前关卡所属用户的信息 + user_praise 当前用户是否点赞 + +-------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- + TPIContextProvider tpi主要的state容器,主要接口:`/tasks/${stageId}.json`,一次性获取所有tpi首屏展示所需要的信息,除了代码内容。 接口返回的内容包括 @@ -54,4 +182,21 @@ TPIContextProvider 没用的文件 LeftNav.js - AnswerListContainer.js left 他人解答 \ No newline at end of file + AnswerListContainer.js left 他人解答 + + + + + +TPI SSH + 命令行的js资源都位于这个目录:/react/public/js/jsFromMiddleLayer/base64.js + + /page/main/CodeRepositoryView.js文件中,open_webssh.json接口返回后,会根据代码区试图大小计算ssh视图的大小(同样的逻辑在js_min_all中也有: + var h = $("#games_repository_contents").height() - $("#top_repository").height() - repositoryTabHeight; ) + 这里有个对应的issue https://www.trustie.net/issues/25279 + 这里是要判断特殊的屏幕(公司dell笔记本可重现),针对这些情况处理,加高命令行的高度 + ps js_min_all中搜`$("#games_repository_contents").height()`可以找到相关代码 + + +VNCDisplay + 使用的github上的代码 https://github.com/novnc/noVNC/ \ No newline at end of file From 3e57bb4a780f8f80046b1fcc00cf5b3bfd925372 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Tue, 5 Nov 2019 11:51:53 +0800 Subject: [PATCH 36/36] fix qq oauth --- app/controllers/oauth/base_controller.rb | 1 + app/services/oauth/create_or_find_qq_account_service.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/oauth/base_controller.rb b/app/controllers/oauth/base_controller.rb index a9c3f9fe4..e4068fbda 100644 --- a/app/controllers/oauth/base_controller.rb +++ b/app/controllers/oauth/base_controller.rb @@ -20,6 +20,7 @@ class Oauth::BaseController < ActionController::Base end def auth_hash + Rails.logger.info("[OAuth2] omniauth.auth -> #{request.env['omniauth.auth'].inspect}") request.env['omniauth.auth'] end end \ No newline at end of file diff --git a/app/services/oauth/create_or_find_qq_account_service.rb b/app/services/oauth/create_or_find_qq_account_service.rb index c258993bd..92966634c 100644 --- a/app/services/oauth/create_or_find_qq_account_service.rb +++ b/app/services/oauth/create_or_find_qq_account_service.rb @@ -28,7 +28,7 @@ class Oauth::CreateOrFindQqAccountService < ApplicationService user.create_user_extension!(gender: gender) # 下载头像 avatar_path = Util::FileManage.source_disk_filename(user) - Util.download_file(params.dig('info', 'figureurl_qq_1'), avatar_path) + Util.download_file(params.dig('info', 'image'), avatar_path) end new_open_user = OpenUsers::QQ.create!(user: user, uid: params['uid'], extra: params.dig('extra', 'raw_info'))