Commit 7139b9a3 by yanglang123

修改评论

parent fc66fc2d
{
"appid": "wxcef7a1d8753d619b",
"compileType": "miniprogram",
"libVersion": "3.6.3",
"packOptions": {
"ignore": [],
"include": []
},
"setting": {
"coverView": true,
"es6": true,
"postcss": true,
"minified": true,
"enhance": true,
"showShadowRootInWxmlPanel": true,
"packNpmRelationList": [],
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
}
},
"condition": {},
"editorSetting": {
"tabIndent": "insertSpaces",
"tabSize": 2
},
"simulatorPluginLibVersion": {}
}
\ No newline at end of file
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "saas-weichat",
"setting": {
"compileHotReLoad": true
}
}
\ No newline at end of file
...@@ -552,7 +552,7 @@ class App extends React.Component { ...@@ -552,7 +552,7 @@ class App extends React.Component {
selectedIcon={ selectedIcon={
<IconfontD code={"iconhometabbar-training-selected"} style={{ fontSize: 48 }} /> <IconfontD code={"iconhometabbar-training-selected"} style={{ fontSize: 48 }} />
} }
title={<span>{intl.get("TrainingProgram2") || "项目"}</span>} title={<span>{intl.get("TrainingProgram2") || "活动"}</span>}
key="train" key="train"
selected={this.state.selectedTab === 'menutrain'} selected={this.state.selectedTab === 'menutrain'}
onPress={() => { onPress={() => {
......
...@@ -177,7 +177,6 @@ class TrainReviewList extends Component { ...@@ -177,7 +177,6 @@ class TrainReviewList extends Component {
onEndReached={this.onEndReached} onEndReached={this.onEndReached}
isLoading={this.state.isLoading} isLoading={this.state.isLoading}
page={this.props.page} page={this.props.page}
listStyle={-150}
footText={intl.get('PublishKey47')||'没有更多了'} footText={intl.get('PublishKey47')||'没有更多了'}
/> />
<div className="train-footer-box"> <div className="train-footer-box">
......
import Network from '../../util/fetchUtil';
import API from '../../util/urlconfig';
export const MyCollectionSearch = 'MyCollectionSearch';
export const MyCollectionMore = 'MyCollectionMore';
export const MyCaseCollectionList = "MyCaseCollectionList";
export const MyCaseCollectionListMore = "MyCaseCollectionListMore";
export const myCollectionSearchAction = params => (dispatch, getState) => {
let state = getState();
let url = API.MY_COLLECTION + '?pageNo=1&pageSize=' + state.myCollection.pageSize
if (params.hasOwnProperty('name')) {
url = url + '&name=' + params.name
}
Network.get(url,
response => {
console.log(response.data)
dispatch({
type: MyCollectionSearch, data:
{
list: response.data,
name: params.name ? params.name : '',
page: 1,
pageSize: state.myCollection.pageSize,
hasMore: response.data.length === state.myCollection.pageSize
}
})
}
)
}
export const myCollectionMoreAction = params => (dispatch, getState) => {
let state = getState();
let url = API.MY_COLLECTION + '?pageNo=' + params.page + '&pageSize=' + state.myCollection.pageSize
if (params.hasOwnProperty('name') && params.name !== '') {
url = url + '&name=' + params.name
}
Network.get(url,
response => {
console.log(response.data)
dispatch({
type: MyCollectionMore, data:
{
list: [...state.myCollection.list, ...response.data],
page: params.page,
hasMore: response.data.length === state.myCollection.pageSize
}
})
}
)
}
/**
* 我的作品收藏
* @param {*} caseCollectionUrl
* @param {*} caseCollectionParams
*/
export const myCaseCollectionList = params => (dispatch, getState) => {
let state = getState();
let url = API.myCaseFavorites;
Network.getNetwork(url, {pageNo: 1, pageSize: 10, name: params.name}, (response)=>{
console.log("myCaseCollectionList-response", response);
dispatch({
type: MyCaseCollectionList,
data: {
caseList: response.data.records,
pageNo: 1,
hasCaseMore: response.data.records.length == state.myCollection.pageSize
}
});
});
}
export const myCaseCollectionListMore = params => (dispatch, getState) => {
let state = getState();
let url = API.myCaseFavorites;
let pageNo = state.myCollection.pageNo;
let pageSize = state.myCollection.pageSize;
Network.getNetwork(url, {pageNo: pageNo + 1, pageSize: pageSize}, (response)=>{
console.log("MyCaseCollectionListMore-response", response);
dispatch({
type: MyCaseCollectionListMore,
data: {
caseList: [...state.myCollection.caseList, ...response.data.records],
pageNo: pageNo + 1,
hasCaseMore: response.data.records.length == pageSize
}
});
});
}
\ No newline at end of file
import { MyCollectionSearch, MyCollectionMore, MyCaseCollectionList, MyCaseCollectionListMore } from './action'
const initialState = {
page: 1,
pageSize: 10,
name: '',
list: [],
hasMore:true,
pageNo: 1,
hasCaseMore: true,
caseList: [],
};
const myCollection = (state = initialState, action) => {
switch (action.type) {
case MyCollectionSearch:
return Object.assign({}, action.data)
break
case MyCollectionMore:
return Object.assign({}, state, action.data)
break
case MyCaseCollectionList:
return Object.assign({}, state, action.data);
case MyCaseCollectionListMore:
return Object.assign({}, state, action.data);
default:
return state
}
}
export default myCollection;
import React, { Component } from 'react'; import React, { Component } from "react";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { import {
getHomeModuleList, getHomeModuleList,
...@@ -9,7 +9,7 @@ import { ...@@ -9,7 +9,7 @@ import {
getReportHome, getReportHome,
getTaskModuleState, getTaskModuleState,
getCalendarList, getCalendarList,
} from '../../redux/action/home/home'; } from "../../redux/action/home/home";
import IndexCourseModule from "./indexModule/indexCourseModule"; import IndexCourseModule from "./indexModule/indexCourseModule";
import IndexLiveModule from "./indexModule/indexLiveModule"; import IndexLiveModule from "./indexModule/indexLiveModule";
...@@ -23,20 +23,20 @@ import IndexSonSiteModule from "./indexModule/indexSonSiteModule"; ...@@ -23,20 +23,20 @@ import IndexSonSiteModule from "./indexModule/indexSonSiteModule";
import IndexRecommendModule from "./indexModule/indexRecommendModule"; import IndexRecommendModule from "./indexModule/indexRecommendModule";
import IndexTeacherModule from "./indexModule/indexTeacherModule"; import IndexTeacherModule from "./indexModule/indexTeacherModule";
import IndexFormModule from "./indexModule/indexForumModule"; import IndexFormModule from "./indexModule/indexForumModule";
import IndexPayContentModule from "./indexModule/indexPayContentModule" import IndexPayContentModule from "./indexModule/indexPayContentModule";
import { IndexNotMore } from './indexComponent'; import { IndexNotMore } from "./indexComponent";
class IndexComponent extends Component { class IndexComponent extends Component {
constructor(props) { constructor(props) {
super(props) super(props);
this.state = { this.state = {
homeModuleList: [], homeModuleList: [],
taskState: { taskState: {
display: false display: false,
}, },
taskList: [], taskList: [],
showNotMore: false showNotMore: false,
} };
} }
componentDidMount() { componentDidMount() {
...@@ -44,9 +44,9 @@ class IndexComponent extends Component { ...@@ -44,9 +44,9 @@ class IndexComponent extends Component {
this.props.getTaskModuleState((res) => { this.props.getTaskModuleState((res) => {
const { taskState } = _this.props; const { taskState } = _this.props;
_this.setState({ _this.setState({
taskState taskState,
}) });
}) });
this.props.getHomeModuleList(() => { this.props.getHomeModuleList(() => {
const { homeModuleList } = _this.props; const { homeModuleList } = _this.props;
_this.setState({ _this.setState({
...@@ -54,17 +54,23 @@ class IndexComponent extends Component { ...@@ -54,17 +54,23 @@ class IndexComponent extends Component {
}); });
_this.timeoutShowNotMore(); _this.timeoutShowNotMore();
}); });
let param = {
pageNo: 1,
pageSize: 20,
terminalName: "MOBILE",
typeName: "news",
relationId: "0",
level: '',
};
} }
timeoutShowNotMore = () => { timeoutShowNotMore = () => {
let _this = this; let _this = this;
setTimeout(() => { setTimeout(() => {
_this.setState({ _this.setState({
showNotMore: true showNotMore: true,
}); });
}, 3000); }, 3000);
} };
renderByModuleList = () => { renderByModuleList = () => {
const { homeModuleList } = this.state; const { homeModuleList } = this.state;
...@@ -72,107 +78,117 @@ class IndexComponent extends Component { ...@@ -72,107 +78,117 @@ class IndexComponent extends Component {
// 模块类型 1推荐/精选 2项目培训 3课程 4讲师 5直播 6作品库 7智能推荐 10专区 // 模块类型 1推荐/精选 2项目培训 3课程 4讲师 5直播 6作品库 7智能推荐 10专区
switch (parseInt(item.type)) { switch (parseInt(item.type)) {
case 1: //精选推荐 case 1: //精选推荐
return <IndexRecommendModule return (
<IndexRecommendModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
case 2://项目 );
return <IndexTrainModule case 2: //项目
return (
<IndexTrainModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 3: //课程 case 3: //课程
return <IndexCourseModule return (
<IndexCourseModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 4: //讲师 case 4: //讲师
return <IndexTeacherModule return (
<IndexTeacherModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 5: //直播 case 5: //直播
return <IndexLiveModule return (
key={index} <IndexLiveModule key={index} moduleId={item.id} title={item.name} />
moduleId={item.id} );
title={item.name}
/>;
case 6: //案例或者作品 case 6: //案例或者作品
return <IndexProductionModule return (
<IndexProductionModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 7: //智能推荐 case 7: //智能推荐
return <IndexSmartRecommendModule return (
<IndexSmartRecommendModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 8: //专辑 case 8: //专辑
return <IndexAlbumModule return (
key={index} <IndexAlbumModule
moduleId={item.id}
title={item.name}
/>;
case 9: //论坛
return <IndexFormModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/> />
);
case 9: //论坛
return (
<IndexFormModule key={index} moduleId={item.id} title={item.name} />
);
case 10: //专区 case 10: //专区
return <IndexSonSiteModule return (
<IndexSonSiteModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
case 11: //新闻资讯 case 11: //新闻资讯
return <IndexNewsModule return (
key={index} <IndexNewsModule key={index} moduleId={item.id} title={item.name} />
moduleId={item.id} );
title={item.name}
/>;
case 12: //精品内容 case 12: //精品内容
return <IndexPayContentModule return (
<IndexPayContentModule
key={index} key={index}
moduleId={item.id} moduleId={item.id}
title={item.name} title={item.name}
/>; />
);
default: default:
return <div key={index}></div>; return <div key={index}></div>;
} }
}); });
return result; return result;
} };
render() { render() {
console.log(this.state.homeModuleList); console.log(this.state.homeModuleList);
const { taskState, showNotMore } = this.state; const { taskState, showNotMore } = this.state;
return <div style={{ width: "100%", height: "100%", backgroundColor: "#f5f5f5", overflowY: "auto" }}> return (
{ <div
taskState.display ? style={{
<IndexTaskModule /> : "" width: "100%",
} height: "100%",
backgroundColor: "#f5f5f5",
overflowY: "auto",
}}
>
{taskState.display ? <IndexTaskModule /> : ""}
{this.renderByModuleList()} {this.renderByModuleList()}
{ </div>
showNotMore ? );
<IndexNotMore /> : ""
}
</div>;
} }
} }
function mapStateToProps(state, ownProps) { function mapStateToProps(state, ownProps) {
return { return {
homeModuleList: state.home.homeModuleList, homeModuleList: state.home.homeModuleList,
// showInfo: state.home.homeShowInfo, // showInfo: state.home.homeShowInfo,
...@@ -181,12 +197,13 @@ function mapStateToProps(state, ownProps) { ...@@ -181,12 +197,13 @@ function mapStateToProps(state, ownProps) {
// userReportHome: state.home.userReportHome, // userReportHome: state.home.userReportHome,
taskState: state.home.taskState, taskState: state.home.taskState,
taskList: state.home.taskList, taskList: state.home.taskList,
} };
} }
function mapDispatchToProps(dispatch) { function mapDispatchToProps(dispatch) {
return { return {
getHomeModuleList: (data, callback) => dispatch(getHomeModuleList(data, callback)), getHomeModuleList: (data, callback) =>
dispatch(getHomeModuleList(data, callback)),
// getHomeShowConfig: (data, callback) => dispatch(getHomeShowConfig(data, callback)), // getHomeShowConfig: (data, callback) => dispatch(getHomeShowConfig(data, callback)),
// getHomeTemplateConfig: (data, callback) => dispatch(getHomeTemplateConfig(data, callback)), // getHomeTemplateConfig: (data, callback) => dispatch(getHomeTemplateConfig(data, callback)),
...@@ -194,8 +211,9 @@ function mapDispatchToProps(dispatch) { ...@@ -194,8 +211,9 @@ function mapDispatchToProps(dispatch) {
// getVisitCount: (callback) => dispatch(getVisitCount(callback)), // getVisitCount: (callback) => dispatch(getVisitCount(callback)),
// getReportHome: (data, callback) => dispatch(getReportHome(data, callback)), // getReportHome: (data, callback) => dispatch(getReportHome(data, callback)),
getTaskModuleState: (callback) => dispatch(getTaskModuleState(callback)), getTaskModuleState: (callback) => dispatch(getTaskModuleState(callback)),
getCalendarList: (data, callback) => dispatch(getCalendarList(data, callback)), getCalendarList: (data, callback) =>
} dispatch(getCalendarList(data, callback)),
};
} }
export default connect(mapStateToProps, mapDispatchToProps)(IndexComponent); export default connect(mapStateToProps, mapDispatchToProps)(IndexComponent);
import React, { Component } from 'react'; import React, { Component } from "react";
import "./style.less"; import "./style.less";
import defaultIcon from '../../../common/iconImage/index-btn-icon.png'; import defaultIcon from "../../../common/iconImage/index-btn-icon.png";
import SimpleBar from "simplebar-react"; import SimpleBar from "simplebar-react";
import "simplebar/dist/simplebar.min.css"; import "simplebar/dist/simplebar.min.css";
class IndexBtnScroll extends Component { class IndexBtnScroll extends Component {
constructor(props) { constructor(props) {
super(props) super(props);
}
componentDidMount() {
} }
componentDidMount() {}
renderBtnByList = () => { renderBtnByList = () => {
const { list, handleClick } = this.props; const { list, handleClick } = this.props;
let listLength = list.length; let listLength = list.length;
let result = []; let result = [];
if (listLength <= 3) {
result = list.map((item, index) => {
return <IndexBtnItem
key={index}
col={3}
data={item}
paddingBottom={40}
onClick={() => handleClick(item)}
/>;
})
} else if (listLength <= 4) {
result = list.map((item, index) => {
return <IndexBtnItem
key={index}
col={4}
data={item}
paddingBottom={40}
onClick={() => handleClick(item)}
/>;
})
} else {
result = list.map((item, index) => { result = list.map((item, index) => {
return <IndexBtnItem return (
<IndexBtnItem
key={index} key={index}
col={5}
data={item} data={item}
paddingBottom={ paddingBottom={
(listLength > 5 && listLength < 10) || (listLength > 10 && index >= Math.ceil(listLength / 2)) ? (listLength > 5 && listLength < 10) ||
16 : 40 (listLength > 10 && index >= Math.ceil(listLength / 2))
? 16
: 40
} }
onClick={() => handleClick(item)} onClick={() => handleClick(item)}
/>; />
}) );
} });
return result; return result;
} };
render() { render() {
const { list } = this.props; const { list } = this.props;
let listLength = list.length; let listLength = list.length;
console.log("首页按钮数据", list); console.log("首页按钮数据", list);
if (listLength <= 5 || listLength == 10) { if (listLength <= 5 || listLength == 10) {
return <div className="index-btn-scroll-container"> return (
<div className="index-btn-scroll-container">
<div className="index-btn-scroll-item-container"> <div className="index-btn-scroll-item-container">
{this.renderBtnByList()} {this.renderBtnByList()}
</div> </div>
</div>; </div>
);
} else { } else {
let itemWidth = (document.body.clientWidth - 60) / 5; let paddingBottom =
let scrollWidth = listLength < 10 ? listLength * itemWidth : Math.ceil(listLength / 2) * itemWidth; (listLength > 5 && listLength < 10) || listLength > 10 ? 16 : 0;
let paddingBottom = (listLength > 5 && listLength < 10) || (listLength > 10) ? 16 : 0; return (
<div className="index-btn-scroll-container" style={{ paddingBottom }}>
let scrollWrapHeight = listLength > 10 ? 348 : 174; <div className="index-simple-scroll-bar-wrap">
return <div className="index-btn-scroll-container" style={{ paddingBottom }}> <div
<div className="index-simple-scroll-bar-wrap" style={{ height: scrollWrapHeight }}>
<SimpleBar
className="index-btn-scroll-item-container" className="index-btn-scroll-item-container"
id="index-simple-scroll-bar-id" id="index-simple-scroll-bar-id"
autoHide={false} autoHide={false}
style={{ height: scrollWrapHeight + 20 }}
> >
{ <div
listLength < 10 ? className="index-btn-scroll-single-wrap-container"
<div className="index-btn-scroll-single-wrap-container" style={{ width: "100%" }}
style={{ width: scrollWidth }}> >
{this.renderBtnByList()}
</div> :
<div className="index-btn-scroll-two-wrap-container"
style={{ width: scrollWidth }}>
{this.renderBtnByList()} {this.renderBtnByList()}
</div> </div>
}
</SimpleBar>
</div> </div>
</div>; </div>
</div>
);
} }
} }
} }
export default IndexBtnScroll; export default IndexBtnScroll;
const IndexBtnItem = ({ data, paddingBottom, onClick }) => {
const IndexBtnItem = ({ data, col, paddingBottom, onClick }) => {
let containerWidth = document.body.clientWidth - 60; let containerWidth = document.body.clientWidth - 60;
let itemWidth = col == 3 ? containerWidth / 3 : col == 4 ? containerWidth / 4 : containerWidth / 5; let itemWidth = "25%";
return <div className="index-btn-scroll-common-item-container" return (
<div
className="index-btn-scroll-common-item-container"
style={{ width: itemWidth, paddingBottom }} style={{ width: itemWidth, paddingBottom }}
onClick={onClick} onClick={onClick}
> >
<div className="index-btn-item-image"> <div className="index-btn-item-image">
<img src={data.imgPath || defaultIcon} alt="" /> <img src={data.imgPath || defaultIcon} alt="" />
</div> </div>
<div className="index-btn-item-text"> <div className="index-btn-item-text">{data.showName}</div>
{data.showName}
</div> </div>
</div>; );
};
}
\ No newline at end of file
.singleLineOverflow {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break: break-all;
}
.index-btn-scroll-container {
width: 100%;
padding: 16px 30px 0 30px;
background-color: #f5f5f5;
}
.index-btn-scroll-container .index-simple-scroll-bar-wrap {
width: 100%;
overflow: hidden;
}
.index-btn-scroll-container #index-simple-scroll-bar-id .simplebar-track {
left: 45%;
right: 45%;
background-color: rgba(66, 133, 244, 0.3);
height: 8px;
border-radius: 8px;
bottom: 20px;
}
.index-btn-scroll-container #index-simple-scroll-bar-id .simplebar-scrollbar {
top: 0;
}
.index-btn-scroll-container #index-simple-scroll-bar-id .simplebar-scrollbar:before {
background-color: #4285f4;
opacity: 1;
height: 8px;
border-radius: 8px;
}
.index-btn-scroll-container .index-btn-scroll-item-container {
width: 100%;
}
.index-btn-scroll-container .index-btn-scroll-item-container .index-btn-scroll-single-wrap-container {
display: flex;
flex-wrap: wrap;
padding-bottom: 20px;
}
.index-btn-scroll-container .index-btn-scroll-item-container .index-btn-scroll-common-item-container {
vertical-align: middle;
height: 152px;
padding-bottom: 40px;
}
.index-btn-scroll-container .index-btn-scroll-item-container .index-btn-scroll-common-item-container .index-btn-item-image {
width: 100%;
text-align: center;
}
.index-btn-scroll-container .index-btn-scroll-item-container .index-btn-scroll-common-item-container .index-btn-item-image img {
width: 88px;
height: 88px;
border-radius: 100%;
}
.index-btn-scroll-container .index-btn-scroll-item-container .index-btn-scroll-common-item-container .index-btn-item-text {
width: 100%;
height: 32px;
text-align: center;
line-height: 32px;
font-size: 24px;
color: #333;
margin-top: 16px;
padding: 0 10px;
}
...@@ -39,17 +39,14 @@ ...@@ -39,17 +39,14 @@
.index-btn-scroll-single-wrap-container { .index-btn-scroll-single-wrap-container {
max-height: 176px; display: flex;
padding-bottom: 20px; flex-wrap: wrap;
}
.index-btn-scroll-two-wrap-container {
max-height: 352px;
padding-bottom: 20px; padding-bottom: 20px;
} }
.index-btn-scroll-common-item-container { .index-btn-scroll-common-item-container {
display: inline-block;
vertical-align: middle; vertical-align: middle;
height: 152px; height: 152px;
padding-bottom: 40px; padding-bottom: 40px;
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
position: absolute; position: absolute;
top: 0; top: 0;
right: 30px; right: 30px;
} }
.index-module-title-exchange-btn { .index-module-title-exchange-btn {
...@@ -40,9 +39,7 @@ ...@@ -40,9 +39,7 @@
border: 2px solid #4285f4; border: 2px solid #4285f4;
border-radius: 24px; border-radius: 24px;
vertical-align: middle; vertical-align: middle;
} }
} }
.index-module-course-item-container { .index-module-course-item-container {
...@@ -69,7 +66,7 @@ ...@@ -69,7 +66,7 @@
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
padding: 0 8px; padding: 0 8px;
background: linear-gradient(138deg, #FFB73D 0%, #FF9948 100%); background: linear-gradient(138deg, #ffb73d 0%, #ff9948 100%);
box-shadow: 0px 2px 24px 0px rgba(248, 132, 21, 0.2); box-shadow: 0px 2px 24px 0px rgba(248, 132, 21, 0.2);
border-radius: 14px 0px 14px 0px; border-radius: 14px 0px 14px 0px;
font-size: 20px; font-size: 20px;
...@@ -99,7 +96,7 @@ ...@@ -99,7 +96,7 @@
span { span {
font-size: 24px; font-size: 24px;
color: #FF8400; color: #ff8400;
margin-left: 6px; margin-left: 6px;
} }
} }
...@@ -112,13 +109,11 @@ ...@@ -112,13 +109,11 @@
font-size: 24px; font-size: 24px;
color: #9b9b9b; color: #9b9b9b;
} }
} }
} }
} }
} }
.index-module-to-more-container { .index-module-to-more-container {
width: 100%; width: 100%;
height: 40px; height: 40px;
...@@ -128,7 +123,6 @@ ...@@ -128,7 +123,6 @@
line-height: 40px; line-height: 40px;
text-align: center; text-align: center;
margin: 24px 0; margin: 24px 0;
} }
.index-module-item-edge-container { .index-module-item-edge-container {
...@@ -175,9 +169,8 @@ ...@@ -175,9 +169,8 @@
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
font-size: 24px; font-size: 24px;
color: #E9650D; color: #e9650d;
font-weight: 400; font-weight: 400;
} }
.index-module-live-item-status-not-start { .index-module-live-item-status-not-start {
...@@ -322,21 +315,22 @@ ...@@ -322,21 +315,22 @@
padding: 0 12px; padding: 0 12px;
font-size: 24px; font-size: 24px;
border-radius: 10px; border-radius: 10px;
} }
.index-module-news-item-container { .index-module-news-item-container {
width: 100%; width: 100%;
padding: 24px 30px; padding: 24px 30px;
.index-module-news-item-content-container { .index-module-news-item-content-container {
width: 100%; width: 100%;
position: relative; display: flex;
padding-right: 240px; justify-content: space-between;
.index-module-news-info-container { .index-module-news-info-container {
width: 100%; width: 60%;
display: flex;
flex-direction: column;
justify-content: space-between;
.index-module-news-item-info-name { .index-module-news-item-info-name {
width: 100%; width: 100%;
...@@ -366,19 +360,12 @@ ...@@ -366,19 +360,12 @@
} }
} }
.index-module-news-item-image { .index-module-news-item-image {
position: absolute;
right: 0;
top: 0;
border-radius: 10px; border-radius: 10px;
} }
} }
} }
.index-module-train-item-one-container { .index-module-train-item-one-container {
width: 100%; width: 100%;
...@@ -413,12 +400,10 @@ ...@@ -413,12 +400,10 @@
line-height: 32px; line-height: 32px;
margin-top: 8px; margin-top: 8px;
.oneLineOverflow; .oneLineOverflow;
} }
} }
} }
.index-module-train-item-two-container { .index-module-train-item-two-container {
width: 100%; width: 100%;
display: inline-block; display: inline-block;
...@@ -464,7 +449,6 @@ ...@@ -464,7 +449,6 @@
line-height: 32px; line-height: 32px;
margin-top: 8px; margin-top: 8px;
.oneLineOverflow; .oneLineOverflow;
} }
} }
} }
...@@ -473,7 +457,7 @@ ...@@ -473,7 +457,7 @@
margin-left: 26px; margin-left: 26px;
} }
.index-module-train-item-two-container:nth-child(n>2) { .index-module-train-item-two-container:nth-child(n > 2) {
margin-top: 24px; margin-top: 24px;
} }
...@@ -548,10 +532,8 @@ ...@@ -548,10 +532,8 @@
.oneLineOverflow; .oneLineOverflow;
} }
} }
} }
} }
} }
.index-module-smartRecommend-one-container { .index-module-smartRecommend-one-container {
...@@ -569,7 +551,6 @@ ...@@ -569,7 +551,6 @@
top: 22px; top: 22px;
} }
.index-module-smartRecommend-one-text { .index-module-smartRecommend-one-text {
width: 100%; width: 100%;
height: 84px; height: 84px;
...@@ -588,7 +569,7 @@ ...@@ -588,7 +569,7 @@
z-index: 2; z-index: 2;
height: 36px; height: 36px;
line-height: 34px; line-height: 34px;
border: 2px solid rgba(151, 151, 151, .5); border: 2px solid rgba(151, 151, 151, 0.5);
padding: 0 8px; padding: 0 8px;
font-size: 24px; font-size: 24px;
color: #999; color: #999;
...@@ -670,7 +651,6 @@ ...@@ -670,7 +651,6 @@
color: #333333; color: #333333;
line-height: 56px; line-height: 56px;
.oneLineOverflow; .oneLineOverflow;
} }
.index-module-task-item-btn { .index-module-task-item-btn {
...@@ -686,15 +666,11 @@ ...@@ -686,15 +666,11 @@
text-align: center; text-align: center;
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
color: #4285F4; color: #4285f4;
} }
} }
} }
.index-module-son-site-item-one-container { .index-module-son-site-item-one-container {
width: 100%; width: 100%;
height: 160px; height: 160px;
...@@ -738,7 +714,7 @@ ...@@ -738,7 +714,7 @@
font-weight: 400; font-weight: 400;
color: #4285f4; color: #4285f4;
text-align: center; text-align: center;
background-color: rgba(66, 133, 244, .1); background-color: rgba(66, 133, 244, 0.1);
border-radius: 4px; border-radius: 4px;
margin: 24px auto 0 auto; margin: 24px auto 0 auto;
} }
...@@ -746,7 +722,6 @@ ...@@ -746,7 +722,6 @@
} }
} }
.index-module-son-site-item-two-container { .index-module-son-site-item-two-container {
width: 204px; width: 204px;
height: 264px; height: 264px;
...@@ -763,7 +738,6 @@ ...@@ -763,7 +738,6 @@
width: 112px; width: 112px;
height: 112px; height: 112px;
border-radius: 100%; border-radius: 100%;
} }
.index-module-son-site-item-two-name { .index-module-son-site-item-two-name {
...@@ -786,14 +760,13 @@ ...@@ -786,14 +760,13 @@
font-weight: 400; font-weight: 400;
color: #4285f4; color: #4285f4;
text-align: center; text-align: center;
background-color: rgba(66, 133, 244, .1); background-color: rgba(66, 133, 244, 0.1);
border-radius: 4px; border-radius: 4px;
margin: 8px auto 0 auto; margin: 8px auto 0 auto;
} }
} }
} }
.index-module-recommend-item-container { .index-module-recommend-item-container {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
...@@ -852,7 +825,6 @@ ...@@ -852,7 +825,6 @@
margin-top: 4px; margin-top: 4px;
text-align: center; text-align: center;
} }
} }
.index-module-forum-item-container { .index-module-forum-item-container {
...@@ -869,7 +841,6 @@ ...@@ -869,7 +841,6 @@
height: 128px; height: 128px;
padding-top: 48px; padding-top: 48px;
.index-module-not-more-bg { .index-module-not-more-bg {
width: 400px; width: 400px;
height: 32px; height: 32px;
...@@ -901,7 +872,6 @@ ...@@ -901,7 +872,6 @@
background-color: #f5f5f5; background-color: #f5f5f5;
} }
} }
} }
.index-module-buy-content-item-container { .index-module-buy-content-item-container {
...@@ -926,7 +896,6 @@ ...@@ -926,7 +896,6 @@
height: 128px; height: 128px;
border-radius: 10px; border-radius: 10px;
} }
} }
.index-module-buy-content-item-info-container { .index-module-buy-content-item-info-container {
...@@ -956,7 +925,7 @@ ...@@ -956,7 +925,7 @@
} }
.index-module-buy-content-item-present-price { .index-module-buy-content-item-present-price {
color: #FF8400; color: #ff8400;
margin-right: 10px; margin-right: 10px;
span { span {
...@@ -974,7 +943,6 @@ ...@@ -974,7 +943,6 @@
} }
} }
.oneLineOverflow { .oneLineOverflow {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
......
...@@ -147,8 +147,6 @@ class MyIntegral extends Component { ...@@ -147,8 +147,6 @@ class MyIntegral extends Component {
render() { render() {
const { pointTypeVisible, pointTypeList, hasMore, dataSoS, currentSelectedType } = this.state; const { pointTypeVisible, pointTypeList, hasMore, dataSoS, currentSelectedType } = this.state;
console.log(this.props.dataSource, 'ssssssssssssss------------', pointTypeVisible)
const row = (rowData, sectionID, rowID) => { const row = (rowData, sectionID, rowID) => {
// console.log('sectionID', rowData, sectionID, rowID) // console.log('sectionID', rowData, sectionID, rowID)
...@@ -235,7 +233,6 @@ class MyIntegral extends Component { ...@@ -235,7 +233,6 @@ class MyIntegral extends Component {
// </Sticky> // </Sticky>
// </StickyContainer> // </StickyContainer>
onEndReached={this.onEndReached}
page={this.props.page} page={this.props.page}
/> : <NoData text={(intl.get("NoDataYet") || "暂无数据")} />} /> : <NoData text={(intl.get("NoDataYet") || "暂无数据")} />}
</div> </div>
......

66.2 KB | W: | H:

35.1 KB | W: | H:

src/components/menume/image/menumeBg.png
src/components/menume/image/menumeBg.png
src/components/menume/image/menumeBg.png
src/components/menume/image/menumeBg.png
  • 2-up
  • Swipe
  • Onion skin
.singleLineOverflow {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break: break-all;
}
.my-menu-body {
width: 100%;
background: #f7f7f7;
}
.my-menu-body .header-info-box {
padding: 16px 30px;
background: linear-gradient(180deg, #f8f8f8 0%, #f8f8f8 32%, #ffffff 39%, #ffffff 100%);
}
.my-menu-body .header-info-box .personal-info-main {
background: url("image/menumeBg.png") no-repeat;
background-size: 100%;
box-shadow: 0px 2px 12px 2px rgba(0, 0, 0, 0.1);
border-radius: 10px;
height: 364px;
padding: 34px 30px;
position: relative;
}
.my-menu-body .header-info-box .personal-info-main .playcard-entry {
width: 128px;
height: 52px;
background: linear-gradient(138deg, #ffb73d 0%, #ff9948 100%);
box-shadow: 0px 2px 16px 0px rgba(255, 158, 71, 0.25);
border-radius: 26px;
line-height: 52px;
text-align: center;
position: absolute;
z-index: 999;
right: 30px;
top: 34px;
}
.my-menu-body .header-info-box .personal-info-main .playcard-entry .playcard-icon {
width: 30px;
height: 32px;
margin: 4px;
padding-top: 4px;
vertical-align: top !important;
}
.my-menu-body .header-info-box .personal-info-main .playcard-entry .playcard-text {
font-size: 28px;
font-weight: 500;
color: #ffffff;
margin: 4px;
position: relative;
top: -2px;
}
.my-menu-body .header-info-box .personal-info-main .personal-info {
width: 100%;
padding-left: 100px;
padding-right: 130px;
position: relative;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-img {
position: absolute;
left: 0;
top: 0;
width: 100px;
height: 100px;
border-radius: 50%;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-right {
margin-left: 16px;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-right .personal-name {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-right .personal-name .name {
font-size: 36px;
font-weight: 600;
color: #ffffff;
display: inline-block;
max-width: 80%;
overflow: hidden;
text-overflow: ellipsis;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-right .personal-name .position {
font-size: 24px;
font-weight: 400;
color: #ffffff;
margin: 14px;
}
.my-menu-body .header-info-box .personal-info-main .personal-info .personal-right .company-name {
font-size: 24px;
font-weight: 400;
color: #ffffff;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity {
display: flex;
justify-content: center;
margin-top: 40px;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity .activity-item {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity .activity-item .item-icon {
width: 40px;
height: 40px;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity .activity-item .item-name {
font-size: 24px;
font-weight: 400;
color: #ffffff;
margin: 4px;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity .activity-item .item-count {
font-size: 24px;
font-weight: 400;
color: #ffffff;
margin: 4px;
}
.my-menu-body .header-info-box .personal-info-main .personal-activity .activity-item:nth-child(1) {
border-right: 1px solid #fff;
}
.my-menu-body .header-info-box .study-record-info {
height: 240px;
border-radius: 10px ;
background: #ffffff;
box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
margin: -36px 20px 0 20px;
padding: 16px 20px 20px 20px;
position: relative;
top: -30px;
}
.my-menu-body .header-info-box .study-record-info .study-record-top .record-title {
font-size: 28px;
font-weight: 500;
color: #333;
}
.my-menu-body .header-info-box .study-record-info .study-record-top .record-date {
font-size: 24px;
font-family: HelveticaNeue;
color: #333;
float: right;
}
.my-menu-body .header-info-box .study-record-info .study-record-top .record-date .date-param {
margin: 20px;
}
.my-menu-body .header-info-box .study-record-info .study-record-top .record-date .show-icon {
display: inline-block;
width: 0;
height: 0;
border-width: 10px;
border-style: solid;
overflow: hidden;
font-size: 0;
line-height: 0;
vertical-align: top;
border-color: white;
border-right-color: transparent;
border-left-color: transparent;
border-bottom-color: transparent;
margin-top: 14px;
}
.my-menu-body .header-info-box .study-record-info .study-record-buttom {
display: flex;
flex-wrap: wrap;
}
.my-menu-body .header-info-box .study-record-info .study-record-buttom .record-item {
width: 50%;
}
.my-menu-body .header-info-box .study-record-info .study-record-buttom .record-item .record-count {
font-size: 48px;
font-weight: 500;
color: #333333;
display: inline-block;
position: relative;
top: 10px;
}
.my-menu-body .header-info-box .study-record-info .study-record-buttom .record-item .record-count .unit {
font-size: 24px;
}
.my-menu-body .header-info-box .study-record-info .study-record-buttom .record-item .record-name {
width: 52%;
height: 72px;
line-height: 72px;
font-size: 24px;
font-weight: 400;
display: inline-block;
color: #333333;
}
.my-menu-body .menuGoldMall {
padding: 20px 30px 20px 40px;
height: 140px;
background-color: #fff;
}
.my-menu-body .menuGoldMall .menuChildGoldMall {
width: 100%;
height: 100px;
line-height: 100px;
font-size: 32px;
background-image: url('image/goldBG.png');
border-radius: 10px;
}
.my-menu-body .menuGoldMall .menuChildGoldMall .item-count {
float: right;
color: #000000;
}
.my-menu-body .menuGoldMall .menuChildGoldMall .item-icon {
float: right;
}
.my-menu-body .list-box {
padding: 0 20px;
background-color: #fff;
}
.my-menu-body .list-box .list-item {
height: 120px;
line-height: 120px;
border-bottom: solid 2px #f4f4f4;
font-size: 32px;
}
.my-menu-body .list-box .list-item .item-name {
color: #333333;
margin: 20px;
}
.my-menu-body .list-box .list-item .item-count {
float: right;
color: #c0c0c0;
margin: 0 12px;
}
.my-menu-body .list-box .list-item .item-icon {
float: right;
}
.my-menu-body .list-box .list-item .item-icon .arraw-icon {
position: relative;
top: 8px;
}
.my-menu-body .list-box .list-item:last-child {
border-bottom: unset;
}
.my-menu-body .menume-quit-login {
width: 100%;
height: 116px;
background-color: #f7f7f7;
padding-top: 16px;
}
.my-menu-body .menume-quit-login .menume-quit-login-btn {
height: 84px;
width: 100%;
background-color: #fff;
line-height: 84px;
font-size: 36px;
color: #4285f4;
font-weight: 400;
text-align: center;
}
.date-pick-modal .am-modal {
position: absolute;
bottom: 0;
}
.date-pick-modal .am-modal .date-pick-modal-header {
height: 66px;
font-size: 32px;
width: 100%;
border-bottom: 2px solid #efeff4;
line-height: 66px;
padding: 0 48px;
}
.date-pick-modal .am-modal .date-pick-modal-header .date-pick-concel {
float: left;
color: #999999;
}
.date-pick-modal .am-modal .date-pick-modal-header .date-pick-ok {
float: right;
color: #4285f4;
}
.date-pick-modal .am-modal .date-pick-have-picked {
font-size: 28px;
color: #999999;
display: grid;
grid-template-columns: 40% 20% 40%;
padding: 0 28px;
margin-top: 70px;
position: relative;
height: 56px;
}
.date-pick-modal .am-modal .date-pick-have-picked .isActive {
color: #4285f4;
position: relative;
}
.date-pick-modal .am-modal .date-pick-have-picked .isActive::after {
content: '';
display: inline-block;
position: absolute;
bottom: 0;
left: 0;
right: 0;
border-bottom: 2px solid #4285f4;
}
/* /*
feature1007 chengming
个人中心重写:增加个人dashboard,去掉列表icon,重新布局;
zhouzhongyang20200603
*/ */
import React from 'react'; import React from 'react';
...@@ -22,7 +20,8 @@ import { ...@@ -22,7 +20,8 @@ import {
import IconFont from '../../common/iconfontcomponent/index'; import IconFont from '../../common/iconfontcomponent/index';
import intl from "react-intl-universal"; import intl from "react-intl-universal";
import IconfontD from '../../common/iconfontd' import IconfontD from '../../common/iconfontd'
import MyCollect from './image/MyCollect.png'
import BrowsingHistory from './image/BrowsingHistory.png'
const nameTypeList = [ const nameTypeList = [
{ code: "ks", name: intl.get("MyExam") }, { code: "ks", name: intl.get("MyExam") },
{ code: "jf", name: intl.get("MyCredit") }, { code: "jf", name: intl.get("MyCredit") },
...@@ -115,7 +114,8 @@ const mapList = { ...@@ -115,7 +114,8 @@ const mapList = {
number: 0, number: 0,
text: intl.get("menume22") || "我的分享", text: intl.get("menume22") || "我的分享",
url: '/myshare', url: '/myshare',
}, ms: { },
ms: {
iconname: 'iconfont bell-o', iconname: 'iconfont bell-o',
name: 'myshare', name: 'myshare',
color: '#4298d9', color: '#4298d9',
...@@ -491,31 +491,31 @@ class Menume extends React.Component { ...@@ -491,31 +491,31 @@ class Menume extends React.Component {
</div> </div>
</div> </div>
<div className="personal-activity" > <div className="personal-activity" >
<div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/myperiod')}> <div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/mycollection')}>
<IconFont className="item-icon" style={{ fontSize: 56 }} type="icon-mine-studytimer" /> <img src={MyCollect} alt="" className="item-icon"/>
<div className="item-info"> <div className="item-info">
<span className="item-name">{intl.get("period")}</span> <span className="item-name">{intl.get("MyCollect")}</span>
<span className="item-count">{this.numFormat(myActivityInfo.studyCourseDuration)}</span> <span className="item-count">{this.numFormat(myActivityInfo.favoriteNum)}</span>
</div> </div>
</div> </div>
<div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/mycollection')}> <div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/browsingHistory')}>
<IconFont className="item-icon" style={{ fontSize: 56 }} type="icon-mine-collects" /> <img src={BrowsingHistory} alt="" className="item-icon"/>
<div className="item-info"> <div className="item-info">
<span className="item-name">{intl.get("Collect")}</span> <span className="item-name">{intl.get("BrowsingHistory")}</span>
<span className="item-count">{this.numFormat(myActivityInfo.favoriteNum)}</span> <span className="item-count">{this.numFormat(myActivityInfo.browsingHistoryNum)}</span>
</div> </div>
</div> </div>
<div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/integral/myintegral')}> {/* <div className="activity-item" onClick={() => hashHistory.push(func.routerBefore() + '/integral/myintegral')}>
<IconFont className="item-icon" style={{ fontSize: 56 }} type="icon-mine-points" /> <IconFont className="item-icon" style={{ fontSize: 56 }} type="icon-mine-points" />
<div className="item-info"> <div className="item-info">
<span className="item-name">{intl.get("Point")}</span> <span className="item-name">{intl.get("Point")}</span>
<span className="item-count">{this.numFormat(myActivityInfo.pointNum)}</span> <span className="item-count">{this.numFormat(myActivityInfo.pointNum)}</span>
</div> </div>
</div> </div> */}
</div> </div>
</div> </div>
<div className="study-record-info"> <div className="study-record-info">
<div className="study-record-top" > {/* <div className="study-record-top" >
<span className="record-title" >{intl.get("studyLog") || "学习记录"}</span> <span className="record-title" >{intl.get("studyLog") || "学习记录"}</span>
<span className="record-date" onClick={this.toPickDate}> <span className="record-date" onClick={this.toPickDate}>
<span className="date-param">{moment(this.state.currentParam.startDate).format("YYYY-MM-DD")}</span> <span className="date-param">{moment(this.state.currentParam.startDate).format("YYYY-MM-DD")}</span>
...@@ -523,7 +523,7 @@ class Menume extends React.Component { ...@@ -523,7 +523,7 @@ class Menume extends React.Component {
<span className="date-param">{moment(this.state.currentParam.endDate).format("YYYY-MM-DD")}</span> <span className="date-param">{moment(this.state.currentParam.endDate).format("YYYY-MM-DD")}</span>
<span className="show-icon" /> <span className="show-icon" />
</span> </span>
</div> </div> */}
<div className="study-record-buttom"> <div className="study-record-buttom">
<div className="record-item"> <div className="record-item">
<div className="record-name">{intl.get("finishCourseNum") || "完成课程数"}</div> <div className="record-name">{intl.get("finishCourseNum") || "完成课程数"}</div>
......
...@@ -9,10 +9,11 @@ ...@@ -9,10 +9,11 @@
background: linear-gradient(180deg, rgba(248, 248, 248, 1) 0%, rgba(248, 248, 248, 1) 32%, rgba(255, 255, 255, 1) 39%, rgba(255, 255, 255, 1) 100%); background: linear-gradient(180deg, rgba(248, 248, 248, 1) 0%, rgba(248, 248, 248, 1) 32%, rgba(255, 255, 255, 1) 39%, rgba(255, 255, 255, 1) 100%);
.personal-info-main { .personal-info-main {
background: rgba(255, 255, 255, 1); background: url("./image/menumeBg.png") no-repeat;
background-size: 100%;
box-shadow: 0px 2px 12px 2px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 12px 2px rgba(0, 0, 0, 0.1);
border-radius: 10px; border-radius: 10px;
height: 324px; height: 364px;
padding: 34px 30px; padding: 34px 30px;
position: relative; position: relative;
...@@ -74,7 +75,7 @@ ...@@ -74,7 +75,7 @@
.name { .name {
font-size: 36px; font-size: 36px;
font-weight: 600; font-weight: 600;
color: rgba(51, 51, 51, 1); color: rgb(255, 255, 255);
display: inline-block; display: inline-block;
max-width: 80%; max-width: 80%;
overflow: hidden; overflow: hidden;
...@@ -84,7 +85,7 @@ ...@@ -84,7 +85,7 @@
.position { .position {
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
color: rgba(153, 153, 153, 1); color: rgb(255, 255, 255);
margin: 14px; margin: 14px;
} }
} }
...@@ -92,7 +93,7 @@ ...@@ -92,7 +93,7 @@
.company-name { .company-name {
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
color: rgba(51, 51, 51, 1); color: rgb(255, 255, 255);
width: 100%; width: 100%;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
...@@ -103,77 +104,63 @@ ...@@ -103,77 +104,63 @@
.personal-activity { .personal-activity {
display: flex; display: flex;
justify-content: center;
margin-top: 40px; margin-top: 40px;
.activity-item { .activity-item {
text-align: center; display: flex;
align-items: center;
justify-content: center;
flex: 1; flex: 1;
.item-icon { .item-icon {
width: 56px; width: 40px;
height: 56px; height: 40px;
} }
.item-name { .item-name {
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
color: rgba(153, 153, 153, 1); color: rgb(255, 255, 255);
margin: 4px; margin: 4px;
} }
.item-count { .item-count {
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
color: rgba(51, 51, 51, 1); color: rgb(255, 255, 255);
margin: 4px; margin: 4px;
} }
} }
.activity-item:nth-child(1){
border-right: 1px solid #fff;
}
} }
} }
.study-record-info { .study-record-info {
height: 240px; height: 240px;
// background: linear-gradient(180deg, rgba(67, 67, 67, 1) 0%, rgba(65, 56, 45, 1) 100%); border-radius:10px ;
background: linear-gradient(#434343, #41382D); background: rgb(255, 255, 255);
box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
border-radius: 0px 0px 10px 10px;
margin: -36px 20px 0 20px; margin: -36px 20px 0 20px;
padding: 16px 20px 20px 20px; padding: 16px 20px 20px 20px;
position: relative; position: relative;
top: -30px;
&::before {
content: '';
position: absolute;
display: inline-block;
width: 10px;
height: 10px;
background-color: rgba(216, 216, 216, 1);
left: -10px;
top: 0px;
}
&::after {
content: '';
position: absolute;
display: inline-block;
width: 10px;
height: 10px;
background-color: rgba(216, 216, 216, 1);
right: -10px;
top: 0px;
}
.study-record-top { .study-record-top {
.record-title { .record-title {
font-size: 28px; font-size: 28px;
font-weight: 500; font-weight: 500;
color: rgba(255, 255, 255, 1); color: #333;
} }
.record-date { .record-date {
font-size: 24px; font-size: 24px;
font-family: HelveticaNeue; font-family: HelveticaNeue;
color: rgba(205, 205, 205, 1); color: #333;
float: right; float: right;
.date-param { .date-param {
...@@ -211,7 +198,7 @@ ...@@ -211,7 +198,7 @@
.record-count { .record-count {
font-size: 48px; font-size: 48px;
font-weight: 500; font-weight: 500;
color: rgba(255, 255, 255, 0.95); color: #333333;
display: inline-block; display: inline-block;
position: relative; position: relative;
top: 10px; top: 10px;
...@@ -229,7 +216,7 @@ ...@@ -229,7 +216,7 @@
font-size: 24px; font-size: 24px;
font-weight: 400; font-weight: 400;
display: inline-block; display: inline-block;
color: rgba(255, 255, 255, 0.65); color: #333333;
} }
} }
} }
...@@ -257,11 +244,6 @@ ...@@ -257,11 +244,6 @@
.item-icon { .item-icon {
float: right; float: right;
.arraw-icon {
// position: relative;
// top: 8px;
}
} }
} }
} }
...@@ -374,10 +356,6 @@ ...@@ -374,10 +356,6 @@
} }
} }
.picked-start {}
.picked-end {}
} }
} }
} }
\ No newline at end of file
...@@ -32,13 +32,13 @@ class mehomeNav extends React.Component { ...@@ -32,13 +32,13 @@ class mehomeNav extends React.Component {
componentDidMount() { componentDidMount() {
// let store = this.props.store.getState(); // let store = this.props.store.getState();
let _this = this; // let _this = this;
this.props.noReadCount(() => { // this.props.noReadCount(() => {
_this.setState({ // _this.setState({
noreadCount: _this.props.readCount // noreadCount: _this.props.readCount
}) // })
}) // })
let appid = sessionStorage.getItem('appid'); // let appid = sessionStorage.getItem('appid');
......
.singleLineOverflow {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break: break-all;
}
.news-list-page-container {
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}
.news-list-page-container .news-list-page-scroll-container {
width: 100%;
background-color: #fff;
}
.news-list-page-container .news-list-page-scroll-container .news-banner-carsouel-container {
width: 100%;
padding: 24px 30px;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container {
width: 100%;
height: 176px;
position: sticky;
background-color: #fff;
left: 0;
top: 0;
z-index: 9;
overflow-y: hidden;
overflow-x: auto;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-classify-list-container-bg {
width: 100%;
height: 88px;
position: absolute;
left: 0;
top: 0;
background-color: #D23A29;
z-index: 1;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-classify-list-scroll-container {
width: max-content;
height: 88px;
position: relative;
z-index: 2;
padding: 0 10px;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-classify-list-scroll-container .news-classify-item-container {
max-width: 324px;
height: 88px;
line-height: 88px;
text-align: center;
margin: 0 25px;
display: inline-block;
vertical-align: middle;
font-size: 32px;
color: #fff;
font-weight: 400;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break: break-all;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-classify-list-scroll-container .news-classify-item-container span {
border-bottom: 4px solid #fff;
padding-bottom: 12px;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-third-classify-list-scroll-container {
width: max-content;
height: 60px;
position: relative;
z-index: 2;
padding: 0 10px;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-third-classify-list-scroll-container .news-third-classify-item-container {
max-width: 324px;
height: 60px;
line-height: 60px;
text-align: center;
margin: 0 25px;
display: inline-block;
vertical-align: middle;
font-size: 30px;
color: #666;
font-weight: 400;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break: break-all;
}
.news-list-page-container .news-list-page-scroll-container .news-classify-list-container .news-third-classify-list-scroll-container .news-third-classify-item-container span {
color: #4285f4;
}
.news-list-page-container .news-list-page-scroll-container .news-item-list-container {
width: 100%;
}
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
.news-classify-list-container { .news-classify-list-container {
width: 100%; width: 100%;
height: 88px; height: 176px;
position: sticky; position: sticky;
background-color: #fff; background-color: #fff;
left: 0; left: 0;
...@@ -32,8 +32,7 @@ ...@@ -32,8 +32,7 @@
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
background-color: @themeColor; background-color: #D23A29;
opacity: 0.05;
z-index: 1; z-index: 1;
} }
.news-classify-list-scroll-container{ .news-classify-list-scroll-container{
...@@ -51,6 +50,30 @@ ...@@ -51,6 +50,30 @@
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
font-size: 32px; font-size: 32px;
color:#fff;
font-weight:400;
.singleLineOverflow;
span{
border-bottom: 4px solid #fff;
padding-bottom: 12px;
}
}
}
.news-third-classify-list-scroll-container{
width: max-content;
height: 60px;
position: relative;
z-index: 2;
padding: 0 10px;
.news-third-classify-item-container{
max-width: 324px;
height: 60px;
line-height: 60px;
text-align: center;
margin: 0 25px;
display: inline-block;
vertical-align: middle;
font-size: 30px;
color:#666; color:#666;
font-weight:400; font-weight:400;
.singleLineOverflow; .singleLineOverflow;
......
...@@ -160,9 +160,9 @@ class NewsMessage extends Component { ...@@ -160,9 +160,9 @@ class NewsMessage extends Component {
this.props.getNewsMessageList(param2, () => { this.props.getNewsMessageList(param2, () => {
console.log("新闻列表接口 ok"); console.log("新闻列表接口 ok");
//若存在二级tab则增加一项 所有新闻 //若存在二级tab则增加一项 所有新闻
if (_this.props.newsMessageList.classifyNews.length > 0) { // if (_this.props.newsMessageList.classifyNews.length > 0) {
_this.props.newsMessageList.classifyNews.unshift({ id: "99", name: "所有新闻" }) // _this.props.newsMessageList.classifyNews.unshift({ id: "99", name: "所有新闻" })
} // }
_this.setState({ _this.setState({
classifyNews: _this.props.newsMessageList.classifyNews, classifyNews: _this.props.newsMessageList.classifyNews,
......
...@@ -38,11 +38,11 @@ ...@@ -38,11 +38,11 @@
width: 1rem; width: 1rem;
} }
.new-border { .new-border {
width: .1rem; width: 0.1rem;
height: .1rem; height: 0.1rem;
border-radius: 50%; border-radius: 50%;
background-color: #000000; background-color: #000000;
margin-right: .1rem; margin-right: 0.1rem;
} }
.new-li { .new-li {
list-style-type: disc; list-style-type: disc;
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
width: 100%; width: 100%;
color: #000000; color: #000000;
font-size: 0.3rem; font-size: 0.3rem;
padding: 20px; padding: 20px 30px;
} }
.footerText { .footerText {
color: #515151; color: #515151;
...@@ -155,16 +155,20 @@ ...@@ -155,16 +155,20 @@
border-radius: 0.16rem; border-radius: 0.16rem;
} }
.news-item2-content .news-item2-box .title-span { .news-item2-content .news-item2-box .title-span {
display: inline-block; display: block;
color: #505050;
font-size: 0.32rem; font-size: 0.32rem;
margin-left: 5%; margin-left: 5%;
margin-top: 5%; margin-top: 5%;
line-height: 1.5; width: 90%;
font-size: 40px;
font-family: PingFang SC, PingFang SC-400;
font-weight: 400;
color: #000;
line-height: 48px;
} }
.news-item2-content .news-item2-box .title-p { .news-item2-content .news-item2-box .title-p {
width: 100%; width: 100%;
color: #d2d2d2; color: #ABABAB;
background-position: center; background-position: center;
background-size: 100%; background-size: 100%;
border-radius: 0.16rem; border-radius: 0.16rem;
......
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
width: 100%; width: 100%;
color: #000000; color: #000000;
font-size: 0.3rem; font-size: 0.3rem;
padding: 20px; padding: 20px 30px;
} }
.footerText { .footerText {
...@@ -173,6 +173,7 @@ ...@@ -173,6 +173,7 @@
background-position: center; background-position: center;
background-size: 100%; background-size: 100%;
border-radius: 0.16rem; border-radius: 0.16rem;
.news-item2-box{ .news-item2-box{
width: 100%; width: 100%;
min-height: 1.32rem; min-height: 1.32rem;
...@@ -181,22 +182,21 @@ ...@@ -181,22 +182,21 @@
border-radius: 0.16rem; border-radius: 0.16rem;
.title-span{ .title-span{
display: block; display: block;
color: #505050;
font-size: 0.32rem; font-size: 0.32rem;
margin-left: 5%; margin-left: 5%;
margin-top: 5%; margin-top: 5%;
//bottom: 7%; //bottom: 7%;
width:90%; width:90%;
font-size: 40px; font-size: 40px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFang SC, PingFang SC-400;
font-weight: 400; font-weight: 400;
color: #4A4A4A; color: #000;
line-height: 48px; line-height: 48px;
} }
.title-p{ .title-p{
width: 100%; width: 100%;
color: #d2d2d2; color: #ABABAB;
background-position: center; background-position: center;
background-size: 100%; background-size: 100%;
border-radius: 0.16rem; border-radius: 0.16rem;
......
import * as actions from './NewsMessageResultTypes';
import NetWork from '../../util/fetchUtil';
import API from '../../util/urlconfig';
import {Toast} from 'antd-mobile';
import func from '../../util/commonFunc'
import intl, { init } from "react-intl-universal";
export const trainStepsData=(finished,params,callback)=>{
return dispatch=>{
let url = finished?API.trainStepsFinish:API.trainSteps;
NetWork.post(url, params,
response=>{
// 数据反转
if( response.data.progressVo && response.data.progressVo.courseRecentVos ) {
response.data.progressVo.courseRecentVos.reverse()
}
dispatch({
type:actions.TRAIN_STEPS_DATA_EVENT,
introductionVo:response.data.introductionVo,
contentVo:pacePer(response.data.contentVo),
progressVo:response.data.progressVo,
hasEnrolled:response.data.hasEnrolled
})
if(callback){
callback();
}
}
)
}
};
/**
* 检查资料是否可以下载
* @param needEnroll 是否需要报名
* @param hasEnroll 是否报名成功
* @param projectStartTime 项目开始时间
* @param projectEndTime 项目结束时间
* @param stutas 项目状态
* @param termialType 1、pc端;2、微信端
* @constructor
*/
export const CheckDownloadingStatus = (needEnroll, hasEnroll, projectStartTime, projectEndTime) => {
return dispatch => {
let paramsData = {
needEnroll: needEnroll,
hasEnroll: hasEnroll,
projectStartTime: projectStartTime,
projectEndTime: projectEndTime,
termialType: 2
};
NetWork.getNetwork(API.trainDataLibraryDataStatus, paramsData,
response => {
console.log("response1", response.data);
// dispatch({
// type: actions.CHECK_DOWNLOADING_STATUS,
// });
}
);
}
}
let pacePer=(obj)=> {
//添加百分比ratio
obj.plans.map(item => {
let ratio = 0;
item.activities.map(childItem => {
if (String(childItem.type) === "0") {
if (childItem.finished) {
ratio += 1;
} else {
ratio += 0.5;
}
} else {
if (childItem.finished) {
ratio += 1;
} else {
ratio += 0;
}
}
});
item['ratio'] = Number.parseFloat(ratio / item.activities.length).toFixed(2);
});
return obj;
};
export const getReviewListData=(params, isUpData,callBack)=>{
return dispatch=>{
let urlParams=API.reviewListLink;
if (params) {
let paramsArray = [];
//拼接参数
Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
if (urlParams.indexOf('?')==-1) {
urlParams += '?' + paramsArray.join('&')
} else {
urlParams += '&' + paramsArray.join('&')
}
}
NetWork.get(urlParams,
response=>{
console.log('评论');
console.log(response);
try{
if(String(response.code)==="1000"){
let reviewPageNo=Number.parseInt(response.data.current)+1;
dispatch({
type:actions.REVIEW_LIST_DATA_EVENT,
reviewListData:response.data.records,
reviewPageNo:reviewPageNo,
isUpData:isUpData,
total:response.data.total,
})
if(callBack){
callBack();
}
}
}catch(e){
console.log(e);
}
})
};
};
//评论
export const commitVerb=(params,callBack)=>{
return dispatch=>{
NetWork.post(API.reviewCommit, params, response=>{
try {
if(Number.parseFloat(response.code)===1000){
dispatch({
type:actions.REVIEW_COMMIT_SUCCESS,
status:1,
});
Toast.info(intl.get("CommentSuccess")||"评论成功");
callBack();
}
}catch (e) {
}
});
}
};
//点赞保存功能
export const laudSaveEnrollEvent=(params,callBack)=>{
return dispatch=>{
NetWork.post(API.trainReviewGood, params, response=>{
try {
if(Number.parseFloat(response.code)===1000){
dispatch({
type:actions.LAUD_SAVE_SUCCESS_EVENT,
status:1,
itemId:params.tpCommentId
});
if(callBack){
callBack();
}
}
}catch (e) {
console.log(e);
}
});
}
};
//报名
export const lessonEnrollEvent=(params,callBack)=>{
return dispatch=>{
NetWork.post(API.courseSignUp, params, response=>{
try {
if(Number.parseInt(response.code)===1000){
Toast.info(intl.get("PublishKey70")||"报名成功");
callBack && callBack();
}else{
Toast.info(intl.get("PublishKey70")||"报名成功");
}
}catch (e) {
console.log(e)
}
});
}
};
export const laudDeleEnrollEvent=(params,callBack)=>{
return dispatch=> {
NetWork.post(API.trainReviewBad, params, response => {
console.log(response);
try {
if (Number.parseFloat(response.code) === 1000) {
if(callBack){
callBack();
}
dispatch({
type: actions.LAUD_DELE_TYPE_EVENT,
status: 0,
itemId: params.tpCommentId
});
}
} catch (e) {
console.log(e);
}
});
}
};
export const reviewReplyList=(params,callBack)=>{
let contactUrl = API.trainReviewReplyLis+'?commentId='+params.commentId+'&pageNo='+params.pageNo+'&pageSize=10';
return dispatch=> {
NetWork.get(contactUrl, response => {
console.log(response,'评论列表');
try {
if (Number.parseFloat(response.code) === 1000) {
dispatch({
type: actions.REVIEW_COMMIT_LIST,
list: response.data.records,
page:{currentPage:params.pageNo,pageTotal: response.data.total, pageNo: response.data.pages, pageSize:response.data.size}
});
callBack();
}
} catch (e) {
console.log(e);
}
});
}
}
export const reviewReplyCommit=(params,callBack)=>{
return dispatch=> {
NetWork.post(API.trainReviewReplyCommit, params, response => {
console.log(response,'提交评论');
try {
if (Number.parseFloat(response.code) === 1000) {
callBack();
}
} catch (e) {
console.log(e);
}
});
}
}
//初始化数据
export const initailData = ()=>{
return dispatch=>{
dispatch({type:actions.INITAIL_TRAIN_DATA});
}
}
export const trainClickLog = (id)=>{
let url = API.trainUrl+"api/trainingProject/tpPlanActivity/view/record/add";
return dispatch =>{
NetWork.post(url,{
"id":id
},(data)=>{});
}
};
export const trainCertificateGet = (data,callback)=>{
let url = API.trainUrl+"api/trainingProject/certificate/grant";
return dispatch =>{
NetWork.post(url,data,(response)=>{
callback(response);
});
}
}
/**
* 请求精选作品详情接口,验证是否可进入
* @param {*} requestUrl
* @param {*} requestData
* @param {*} callback
*/
export function validatePickOutCaseDetail (requestUrl, requestData, callback) {
return dispatch => {
NetWork.getNetwork(requestUrl, requestData, (response)=> {
console.log("trainingStepsAction-response", response);
callback(response);
});
}
}
\ No newline at end of file
import * as actions from './NewsMessageResultTypes';
let initial={
introductionVo:null,
contentVo:{
plans:[]
},
reviewListData:[],
reviewListTotle:0,
hasEnrolled:false,
isMore:false,
reviewReplyListData:[],
reviewReplyPage:0,
progressVo:{},
};
export default (state=initial, action)=>{
switch (action.type){
case actions.TRAIN_STEPS_DATA_EVENT:
return {
...state,
introductionVo:action.introductionVo,
contentVo:Object.assign({},state.contentVo,{plans:action.contentVo.plans || []}),
hasEnrolled:action.hasEnrolled,
progressVo:action.progressVo
};
case actions.REVIEW_LIST_DATA_EVENT:
let reviewDataList=null;
if(action.isUpData){
reviewDataList=state.reviewListData.concat(action.reviewListData);
}else{
reviewDataList=action.reviewListData;
}
return {
...state,
reviewListData:reviewDataList,
reviewPageNo:action.reviewPageNo,
isUpData:action.isUpData,
isMore:JSON.stringify(action.reviewListData)!=="[]",
// isMore:action.reviewListData.length<10,
reviewListTotle:action.total,
};
case actions.LAUD_SAVE_SUCCESS_EVENT:
let successRecords=state.reviewListData;
successRecords.map(item=>{
if(String(item.id)===String(action.itemId)){
item.status=1;
}
});
return {
...state,
reviewListData:successRecords
};
case actions.LAUD_DELE_TYPE_EVENT:
let deleRecords=state.reviewListData;
deleRecords.map(item=>{
if(String(item.id)===String(action.itemId)){
item.status=0;
}
});
return {
...state,
reviewListData:deleRecords
};
case actions.REVIEW_COMMIT_LIST:
let result = [];
if(action.page.currentPage==1){
result = action.list;
}else{
result = [...state.reviewReplyListData,...action.list];
}
return {
...state,
reviewReplyListData:result,
reviewReplyPage:action.page,
reviewListTotle:action.page.pageTotal,
}
case actions.INITAIL_TRAIN_DATA:
return {
...initial
}
default:
return state;
}
}
\ No newline at end of file
//项目简介和详情
export const TRAIN_STEPS_DATA_EVENT="TRAIN_STEPS_DATA_EVENT";
//项目评论
export const REVIEW_LIST_DATA_EVENT="REVIEW_LIST_DATA_EVENT";
//保存点赞
export const LAUD_SAVE_SUCCESS_EVENT="LAUD_SAVE_SUCCESS_EVENT";
//取消点赞
export const LAUD_DELE_TYPE_EVENT="LAUD_DELE_TYPE_EVENT";
//项目评论功能
export const REVIEW_COMMIT_SUCCESS = "REVIEW_COMMIT_SUCCESS";
export const REVIEW_COMMIT_LIST = "REVIEW_COMMIT_LIST";
export const INITAIL_TRAIN_DATA = "INITAIL_TRAIN_DATA";
\ No newline at end of file
...@@ -65,7 +65,6 @@ class RecorderVideo extends Component { ...@@ -65,7 +65,6 @@ class RecorderVideo extends Component {
recorder = new Recorder(config); recorder = new Recorder(config);
recorder.onprogress = (params) => { recorder.onprogress = (params) => {
let dataArray = recorder.getRecordAnalyseData(); let dataArray = recorder.getRecordAnalyseData();
console.log('ssssssssssssssss', dataArray)
} }
} else { } else {
recorder.stop(); recorder.stop();
...@@ -88,7 +87,6 @@ class RecorderVideo extends Component { ...@@ -88,7 +87,6 @@ class RecorderVideo extends Component {
//绘制波形图 //绘制波形图
canvsPaint = () => { canvsPaint = () => {
let dataArray = recorder.getRecordAnalyseData(); let dataArray = recorder.getRecordAnalyseData();
console.log('ssssssssssssssss', dataArray)
} }
stopRecorder = () => { stopRecorder = () => {
......
...@@ -154,6 +154,8 @@ module.exports = { ...@@ -154,6 +154,8 @@ module.exports = {
"CourseDetails": "Details", "CourseDetails": "Details",
"Collected": "Collected", "Collected": "Collected",
"Collect": "Collect", "Collect": "Collect",
"MyCollect": "MyCollect",
"BrowsingHistory": "BrowsingHistory",
"CollectSucess": "Added to favorite list!", "CollectSucess": "Added to favorite list!",
"Contents": "Contents", "Contents": "Contents",
"Overview": "Overview", "Overview": "Overview",
......
...@@ -210,6 +210,7 @@ ...@@ -210,6 +210,7 @@
"RequiredTag": "(必修)", "RequiredTag": "(必修)",
"mycaselibrary51": "图片加载中", "mycaselibrary51": "图片加载中",
"mycaselibrary50": "我还没有收藏过内容", "mycaselibrary50": "我还没有收藏过内容",
"mycaselibrary55": "我还没有浏览过内容",
"OuterLectuer": "外部讲师", "OuterLectuer": "外部讲师",
"mycaselibrary54": "证书详情", "mycaselibrary54": "证书详情",
"mycaselibrary53": "下载图片", "mycaselibrary53": "下载图片",
...@@ -249,6 +250,8 @@ ...@@ -249,6 +250,8 @@
"ResetPassword": "找回密码", "ResetPassword": "找回密码",
"VerificationCode": "验证码", "VerificationCode": "验证码",
"Collect": "收藏", "Collect": "收藏",
"MyCollect": "我的收藏",
"BrowsingHistory": "浏览历史",
"Hours": "小时", "Hours": "小时",
"Review": "复习", "Review": "复习",
"video": "视频", "video": "视频",
...@@ -1543,7 +1546,7 @@ ...@@ -1543,7 +1546,7 @@
"msg.submited": "该场考试已经提交,不能继续考试", "msg.submited": "该场考试已经提交,不能继续考试",
"ContentRequired": "个必修活动", "ContentRequired": "个必修活动",
"album.biz.error": "专辑服务异常", "album.biz.error": "专辑服务异常",
"TrainingProgram2": "项目", "TrainingProgram2": "活动",
"SearchForPostsIManage": "搜索我管理的帖子", "SearchForPostsIManage": "搜索我管理的帖子",
"Name": "姓名:", "Name": "姓名:",
"withDrawRemind": "撤回提醒", "withDrawRemind": "撤回提醒",
......
...@@ -151,6 +151,8 @@ ...@@ -151,6 +151,8 @@
"CourseDetails": "课程详情", "CourseDetails": "课程详情",
"Collected": "已收藏", "Collected": "已收藏",
"Collect": "收藏", "Collect": "收藏",
"MyCollect": "我的收藏",
"BrowsingHistory": "浏览历史",
"CollectSucess": "收藏成功!", "CollectSucess": "收藏成功!",
"Contents": "目录", "Contents": "目录",
"Overview": "简介", "Overview": "简介",
...@@ -765,7 +767,7 @@ ...@@ -765,7 +767,7 @@
"noauthtip": "没有访问权限,请返回首页", "noauthtip": "没有访问权限,请返回首页",
"abumdSubcribeSuc": "订阅成功", "abumdSubcribeSuc": "订阅成功",
"abumdSubcribeNo": "已取订阅", "abumdSubcribeNo": "已取订阅",
"TrainingProgram2": "项目", "TrainingProgram2": "活动",
"CreditForumInvitation": "发表帖子", "CreditForumInvitation": "发表帖子",
"CreditForumComment": "回复帖子", "CreditForumComment": "回复帖子",
"IncompleteExamination": "未完成考试", "IncompleteExamination": "未完成考试",
...@@ -1281,6 +1283,7 @@ ...@@ -1281,6 +1283,7 @@
"mycaselibrary48": "暂无附件,确定提交审核?", "mycaselibrary48": "暂无附件,确定提交审核?",
"mycaselibrary49": "全部删除", "mycaselibrary49": "全部删除",
"mycaselibrary50": "我还没有收藏过内容", "mycaselibrary50": "我还没有收藏过内容",
"mycaselibrary55": "我还没有浏览过内容",
"mycaselibrary51": "图片加载中", "mycaselibrary51": "图片加载中",
"mycaselibrary52": "课程名称/作品名称", "mycaselibrary52": "课程名称/作品名称",
"mycaselibrary53": "下载图片", "mycaselibrary53": "下载图片",
......
...@@ -374,6 +374,8 @@ module.exports = { ...@@ -374,6 +374,8 @@ module.exports = {
"VerificationCode": "验证码", "VerificationCode": "验证码",
"September": "9月", "September": "9月",
"Collect": "收藏", "Collect": "收藏",
"MyCollect": "我的收藏",
"BrowsingHistory": "浏览历史",
"Hours": "小时", "Hours": "小时",
"Yes": "确定", "Yes": "确定",
"Forbidden": "禁言", "Forbidden": "禁言",
...@@ -763,7 +765,7 @@ module.exports = { ...@@ -763,7 +765,7 @@ module.exports = {
"msg.current.study.plan.not.start": "当前学习计划时间未到,无法开始学习。", "msg.current.study.plan.not.start": "当前学习计划时间未到,无法开始学习。",
"ContentRequired": "个必修活动", "ContentRequired": "个必修活动",
"album.biz.error": "专辑服务异常", "album.biz.error": "专辑服务异常",
"TrainingProgram2": "项目", "TrainingProgram2": "活动",
"SearchForPostsIManage": "搜索我管理的帖子", "SearchForPostsIManage": "搜索我管理的帖子",
"Name": "姓名", "Name": "姓名",
"withDrawRemind": "撤回提醒", "withDrawRemind": "撤回提醒",
...@@ -1081,6 +1083,8 @@ module.exports = { ...@@ -1081,6 +1083,8 @@ module.exports = {
"CourseDetails": "课程详情", "CourseDetails": "课程详情",
"Collected": "已收藏", "Collected": "已收藏",
"Collect": "收藏", "Collect": "收藏",
"MyCollect": "我的收藏",
"BrowsingHistory": "浏览历史",
"CollectSucess": "收藏成功!", "CollectSucess": "收藏成功!",
"Contents": "目录", "Contents": "目录",
"Overview": "简介", "Overview": "简介",
...@@ -1695,7 +1699,7 @@ module.exports = { ...@@ -1695,7 +1699,7 @@ module.exports = {
"noauthtip": "没有访问权限,请返回首页", "noauthtip": "没有访问权限,请返回首页",
"abumdSubcribeSuc": "订阅成功", "abumdSubcribeSuc": "订阅成功",
"abumdSubcribeNo": "已取订阅", "abumdSubcribeNo": "已取订阅",
"TrainingProgram2": "项目", "TrainingProgram2": "活动",
"CreditForumInvitation": "发表帖子", "CreditForumInvitation": "发表帖子",
"CreditForumComment": "回复帖子", "CreditForumComment": "回复帖子",
"IncompleteExamination": "未完成考试", "IncompleteExamination": "未完成考试",
...@@ -2211,6 +2215,7 @@ module.exports = { ...@@ -2211,6 +2215,7 @@ module.exports = {
"mycaselibrary48": "暂无附件,确定提交审核?", "mycaselibrary48": "暂无附件,确定提交审核?",
"mycaselibrary49": "全部删除", "mycaselibrary49": "全部删除",
"mycaselibrary50": "我还没有收藏过内容", "mycaselibrary50": "我还没有收藏过内容",
"mycaselibrary55": "我还没有浏览过内容",
"mycaselibrary51": "图片加载中", "mycaselibrary51": "图片加载中",
"mycaselibrary52": "课程名称/作品名称", "mycaselibrary52": "课程名称/作品名称",
"mycaselibrary53": "下载图片", "mycaselibrary53": "下载图片",
......
...@@ -220,9 +220,14 @@ const CreLesVideo = LazyLoad(() => ...@@ -220,9 +220,14 @@ const CreLesVideo = LazyLoad(() =>
const CreLesMedia = LazyLoad(() => const CreLesMedia = LazyLoad(() =>
import('./components/myLesson/creLesMedia') import('./components/myLesson/creLesMedia')
); );
//我的收藏
const MyCollection = LazyLoad(() => const MyCollection = LazyLoad(() =>
import('./components/myCollection/index') import('./components/myCollection/index')
); );
//浏览历史
const BrowsingHistory = LazyLoad(() =>
import('./components/browsingHistory/index')
);
//我的学时 //我的学时
const MyPeriod = LazyLoad(() => import('./components/myPeriod/index')); const MyPeriod = LazyLoad(() => import('./components/myPeriod/index'));
...@@ -473,7 +478,7 @@ window.dayingcode = "现在是15:02"; ...@@ -473,7 +478,7 @@ window.dayingcode = "现在是15:02";
window.onhashchange = (e) => { window.onhashchange = (e) => {
// console.log("router", e); // console.log("router", e);
autoGetWechatPermission.sameHashNeedReload(e); // autoGetWechatPermission.sameHashNeedReload(e);
autoGetWechatPermission.checkVisible(); autoGetWechatPermission.checkVisible();
autoGetWechatPermission.showShareFunction(); autoGetWechatPermission.showShareFunction();
autoGetWechatPermission.hideShareFunctionInMarketChapter(); autoGetWechatPermission.hideShareFunctionInMarketChapter();
...@@ -588,6 +593,10 @@ class AppRouter extends React.Component { ...@@ -588,6 +593,10 @@ class AppRouter extends React.Component {
<Route path="/*/*/mycollection" component={Market}> <Route path="/*/*/mycollection" component={Market}>
<IndexRoute component={MyCollection} /> <IndexRoute component={MyCollection} />
</Route> </Route>
{/*浏览历史*/}
<Route path="/*/*/browsingHistory" component={Market}>
<IndexRoute component={BrowsingHistory} />
</Route>
{/*我的学时*/} {/*我的学时*/}
<Route path="/*/*/myperiod" component={MyPeriod} /> <Route path="/*/*/myperiod" component={MyPeriod} />
......
...@@ -9,6 +9,7 @@ export const HOMEMODULELIST = "HOMEMODULELIST"; ...@@ -9,6 +9,7 @@ export const HOMEMODULELIST = "HOMEMODULELIST";
export const TASK_MODULE_STATE = "TASK_MODULE_STATE"; export const TASK_MODULE_STATE = "TASK_MODULE_STATE";
export const MY_CALENDAR_LIST = "MY_CALENDAR_LIST"; export const MY_CALENDAR_LIST = "MY_CALENDAR_LIST";
export function isIndexFirstEnter(callback) { export function isIndexFirstEnter(callback) {
let url = api.baseUrl+"/system/api/firstLogin/judgeIsFirstLogin?terminalType=h5"; let url = api.baseUrl+"/system/api/firstLogin/judgeIsFirstLogin?terminalType=h5";
return dispatch => { return dispatch => {
......
...@@ -30,7 +30,8 @@ import MenuTrainReducer from '../../components/menutrain/MenuTrainReducer'; ...@@ -30,7 +30,8 @@ import MenuTrainReducer from '../../components/menutrain/MenuTrainReducer';
import TrainSearchResultReducer from '../../components/menutrain/TrainSearch/TrainSearchResult/TrainSearchResultReducer' import TrainSearchResultReducer from '../../components/menutrain/TrainSearch/TrainSearchResult/TrainSearchResultReducer'
//培训详情页面 //培训详情页面
import TrainingStepsReducer from '../../components/Training/TrainingSteps/TrainingStepsReducer'; import TrainingStepsReducer from '../../components/Training/TrainingSteps/TrainingStepsReducer';
//新闻详情评论
import NewsMessageResultReducer from '../../components/newsMessage/NewsMessageResultReducer';
//我的考试 //我的考试
import MyExamReducer from '../../components/exam/MyExamReducer'; import MyExamReducer from '../../components/exam/MyExamReducer';
//考题页面列表 //考题页面列表
...@@ -107,6 +108,7 @@ const app = combineReducers({ ...@@ -107,6 +108,7 @@ const app = combineReducers({
mysur, mysur,
MenuTrainReducer, MenuTrainReducer,
TrainingStepsReducer, TrainingStepsReducer,
NewsMessageResultReducer,
MyExamReducer, MyExamReducer,
myCourse, myCourse,
courseplay, courseplay,
......
...@@ -621,28 +621,28 @@ var wechatPermission = { ...@@ -621,28 +621,28 @@ var wechatPermission = {
} }
} }
}, },
sameHashNeedReload(hashChangeObject) { // sameHashNeedReload(hashChangeObject) {
const oldUrl = hashChangeObject.oldURL; // const oldUrl = hashChangeObject.oldURL;
const newUrl = hashChangeObject.newURL; // const newUrl = hashChangeObject.newURL;
if(!window.virtualCurrencyUnit){ // if(!window.virtualCurrencyUnit){
Network.get(url.baseUrl+"/mall/student/token/config/rule",(res)=>{ // Network.get(url.baseUrl+"/mall/student/token/config/rule",(res)=>{
window.virtualCurrencyUnit = res.data.tokenName; // window.virtualCurrencyUnit = res.data.tokenName;
}); // });
} // }
if(location.hash.includes("/nocontentauth?msg")){ // if(location.hash.includes("/nocontentauth?msg")){
location.reload(); // location.reload();
return; // return;
} // }
if(location.hash.includes("login?noAutoLogin=true")){ // if(location.hash.includes("login?noAutoLogin=true")){
location.reload(); // location.reload();
return; // return;
} // }
if (oldUrl.split("?")[0] == newUrl.split("?")[0] && (oldUrl.includes("/MarketingDetail?") || oldUrl.includes("/media?") || oldUrl.includes("NewsMessageResult"))) { // if (oldUrl.split("?")[0] == newUrl.split("?")[0] && (oldUrl.includes("/MarketingDetail?") || oldUrl.includes("/media?") || oldUrl.includes("NewsMessageResult"))) {
location.reload(); // location.reload();
} // }
}, // },
sendDeviceInfo(operation) { sendDeviceInfo(operation) {
let sendUrl = url.baseUrl + "/heart_input"; let sendUrl = url.baseUrl + "/heart_input";
let accountId = sessionStorage.getItem("accountId") let accountId = sessionStorage.getItem("accountId")
......
...@@ -23,7 +23,6 @@ var languageObject = { ...@@ -23,7 +23,6 @@ var languageObject = {
// alert(!window.location.hash.includes("login")) // alert(!window.location.hash.includes("login"))
// alert(sessionStorage.getItem("accountId")) // alert(sessionStorage.getItem("accountId"))
// console.log('cccccccccccccxxxxxxxxxxxxxx', sessionStorage) // console.log('cccccccccccccxxxxxxxxxxxxxx', sessionStorage)
console.log('sssssssssssssqqqqqqqqqqqqqq', window.location.hash)
if ((!window.location.href.includes("login") || !window.location.hash.includes("login")) && sessionStorage.getItem("accountId")) { //如果不在login页面,做此操作 , 而且用户已经登录 if ((!window.location.href.includes("login") || !window.location.hash.includes("login")) && sessionStorage.getItem("accountId")) { //如果不在login页面,做此操作 , 而且用户已经登录
// alert('if--if') // alert('if--if')
// console.log("alert('if--if')") // console.log("alert('if--if')")
...@@ -58,9 +57,9 @@ var languageObject = { ...@@ -58,9 +57,9 @@ var languageObject = {
}) })
Network.get(API.baseUrl + "/mall/student/token/config/rule", (res) => { // Network.get(API.baseUrl + "/mall/student/token/config/rule", (res) => {
window.virtualCurrencyUnit = res.data.tokenName; // window.virtualCurrencyUnit = res.data.tokenName;
}); // });
} catch (error) { } catch (error) {
intl.init({ intl.init({
......
...@@ -408,7 +408,10 @@ const fnNavigate = (item, jumpType) => { ...@@ -408,7 +408,10 @@ const fnNavigate = (item, jumpType) => {
clearTimeout(clearTime)//bug-12616-cwj clearTimeout(clearTime)//bug-12616-cwj
clearTime= setTimeout(() => {//bug-12616-cwj clearTime= setTimeout(() => {//bug-12616-cwj
hashHistory.push({ hashHistory.push({
pathname: routerBefore + url pathname: routerBefore + url,
query:{
id:relationId
}
}); });
}, 10); }, 10);
......
...@@ -374,6 +374,8 @@ export default { ...@@ -374,6 +374,8 @@ export default {
"VerificationCode": "验证码", "VerificationCode": "验证码",
"September": "9月", "September": "9月",
"Collect": "收藏", "Collect": "收藏",
"MyCollect": "我的收藏",
"BrowsingHistory": "浏览历史",
"Hours": "小时", "Hours": "小时",
"Yes": "确定", "Yes": "确定",
"Forbidden": "禁言", "Forbidden": "禁言",
...@@ -763,7 +765,7 @@ export default { ...@@ -763,7 +765,7 @@ export default {
"msg.current.study.plan.not.start": "当前学习计划时间未到,无法开始学习。", "msg.current.study.plan.not.start": "当前学习计划时间未到,无法开始学习。",
"ContentRequired": "个必修活动", "ContentRequired": "个必修活动",
"album.biz.error": "专辑服务异常", "album.biz.error": "专辑服务异常",
"TrainingProgram2": "项目", "TrainingProgram2": "活动",
"SearchForPostsIManage": "搜索我管理的帖子", "SearchForPostsIManage": "搜索我管理的帖子",
"Name": "姓名", "Name": "姓名",
"withDrawRemind": "撤回提醒", "withDrawRemind": "撤回提醒",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment