微信功能

yuanke_cache
daiao 9 years ago
parent 45e33cc456
commit 4d3f4c358a

@ -1,56 +1,56 @@
<!DOCTYPE html> <!DOCTYPE html>
<html ng-app="wechat"> <html ng-app="wechat">
<head> <head>
<base href="/"> <base href="/">
<title>仅供本地调试使用</title> <title>仅供本地调试使用</title>
<meta charset='utf-8' /> <meta charset='utf-8' />
<meta name="keywords" content="" /> <meta name="keywords" content="" />
<meta name="description" content="" /> <meta name="description" content="" />
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta content='True' name='HandheldFriendly' /> <meta content='True' name='HandheldFriendly' />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" /> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<link type="text/css" rel="stylesheet" href="/stylesheets/weui/weui.min.css" /> <link type="text/css" rel="stylesheet" href="/stylesheets/weui/weui.min.css" />
<link type="text/css" rel="stylesheet" href="/stylesheets/weui/weixin.css" /> <link type="text/css" rel="stylesheet" href="/stylesheets/weui/weixin.css" />
</head> </head>
<body> <body>
<div ng-view> <div ng-view>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
window.g_openid = 'oCnvgvz8R7QheXE-R9Kkr39j8Ndg'; window.g_openid = 'oCnvgvz8R7QheXE-R9Kkr39j8Ndg';
window.g_debug = true; //调试标志,如果在本地请置为true window.g_debug = true; //调试标志,如果在本地请置为true
window.apiUrl = 'http://localhost:3000/api/v1/'; window.apiUrl = 'http://localhost:3000/api/v1/';
</script> </script>
<script src="/javascripts/wechat/build/angular.all.min.js"></script> <script src="/javascripts/wechat/build/angular.all.min.js"></script>
<!--<script src="/javascripts/wechat/build/app.min.js"></script>--> <!--<script src="/javascripts/wechat/build/app.min.js"></script>-->
<script src="/javascripts/wechat/app.js"></script> <script src="/javascripts/wechat/app.js"></script>
<script src="/javascripts/wechat/others/factory.js"></script> <script src="/javascripts/wechat/others/factory.js"></script>
<script src="/javascripts/wechat/others/filter.js"></script> <script src="/javascripts/wechat/others/filter.js"></script>
<script src="/javascripts/wechat/directives/alert.js"></script> <script src="/javascripts/wechat/directives/alert.js"></script>
<script src="/javascripts/wechat/directives/form_validate.js"></script> <script src="/javascripts/wechat/directives/form_validate.js"></script>
<script src="/javascripts/wechat/directives/input_auto.js"></script> <script src="/javascripts/wechat/directives/input_auto.js"></script>
<script src="/javascripts/wechat/directives/loading_spinner.js"></script> <script src="/javascripts/wechat/directives/loading_spinner.js"></script>
<script src="/javascripts/wechat/directives/ellipsis.js"></script> <script src="/javascripts/wechat/directives/ellipsis.js"></script>
<script src="/javascripts/wechat/controllers/reg.js"></script> <script src="/javascripts/wechat/controllers/reg.js"></script>
<script src="/javascripts/wechat/controllers/login.js"></script> <script src="/javascripts/wechat/controllers/login.js"></script>
<script src="/javascripts/wechat/controllers/activity.js"></script> <script src="/javascripts/wechat/controllers/activity.js"></script>
<script src="/javascripts/wechat/controllers/add_class.js"></script> <script src="/javascripts/wechat/controllers/add_class.js"></script>
<script src="/javascripts/wechat/controllers/blog.js"></script> <script src="/javascripts/wechat/controllers/blog.js"></script>
<script src="/javascripts/wechat/controllers/course_notice.js"></script> <script src="/javascripts/wechat/controllers/course_notice.js"></script>
<script src="/javascripts/wechat/controllers/discussion.js"></script> <script src="/javascripts/wechat/controllers/discussion.js"></script>
<script src="/javascripts/wechat/controllers/homework.js"></script> <script src="/javascripts/wechat/controllers/homework.js"></script>
<script src="/javascripts/wechat/controllers/issue.js"></script> <script src="/javascripts/wechat/controllers/issue.js"></script>
<script src="/javascripts/wechat/controllers/journals.js"></script> <script src="/javascripts/wechat/controllers/journals.js"></script>
<script src="/javascripts/wechat/others/routes.js"></script> <script src="/javascripts/wechat/others/routes.js"></script>
</body> </body>
</html> </html>

@ -1,14 +1,14 @@
<div class="post-container"> <div class="post-container">
<div loading-spinner></div> <div loading-spinner></div>
<div class="blue-title">新建课程</div> <div class="blue-title">新建课程</div>
<form novalidate name="classForm"> <form novalidate name="classForm">
<div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">课程名称</span><input class="new-class-input ml25" ng-model="syllabus.title" required placeholder="如:软件工程" /></div> <div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">课程名称</span><input class="new-class-input ml25" ng-model="syllabus.title" required placeholder="如:软件工程" /></div>
<div class="course-list-row f13 c-grey3 mt10" ng-repeat="course in syllabus.courses"><span class="fl ml15 c-grey3">班级名称</span><input required class="new-class-input ml25" ng-model="course.name" placeholder="如软件工程计算机学院A班" /><a ng-click="deleteClass($index)" ng-show="!$first" class="fr mr10 c-grey6 delete-class-link">删除</a></div> <div class="course-list-row f13 c-grey3 mt10" ng-repeat="course in syllabus.courses"><span class="fl ml15 c-grey3">班级名称</span><input required class="new-class-input ml25" ng-model="course.name" placeholder="如软件工程计算机学院A班" /><a ng-click="deleteClass($index)" ng-show="!$first" class="fr mr10 c-grey6 delete-class-link">删除</a></div>
<div class="tac"><a ng-click="addClass()" class="link-blue2 f13 mt15 inline-block add-class-link">+新增班级</a></div> <div class="tac"><a ng-click="addClass()" class="link-blue2 f13 mt15 inline-block add-class-link">+新增班级</a></div>
<a ng-click="newClass(classForm, syllabus)" ng-class="['finish-btn', {'btn-disabled':!classForm.$valid} ]" >完成</a> <a ng-click="newClass(classForm, syllabus)" ng-class="['finish-btn', {'btn-disabled':!classForm.$valid} ]" >完成</a>
</form> </form>
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert> <my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
</div> </div>

@ -1,28 +1,28 @@
<div class="post-container"> <div class="post-container">
<div loading-spinner></div> <div loading-spinner></div>
<div class="blue-title">新建项目</div> <div class="blue-title">新建项目</div>
<form novalidate name="classForm"> <form novalidate name="classForm">
<div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">项目名称</span><input class="new-class-input ml25" ng-model="project.name" required placeholder="如:团队协作方法与机制研究" /></div> <div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">项目名称</span><input class="new-class-input ml25" ng-model="project.name" required placeholder="如:团队协作方法与机制研究" /></div>
<a ng-click="newProject(classForm, project)" ng-class="['finish-btn', {'btn-disabled':!classForm.$valid} ]" >完成</a> <a ng-click="newProject(classForm, project)" ng-class="['finish-btn', {'btn-disabled':!classForm.$valid} ]" >完成</a>
<div class="f12 c-grey6" style="width:143px; margin:0 auto;"> <div class="f12 c-grey6" style="width:143px; margin:0 auto;">
<span class="f13 fb c-grey3">项目功能特性(微信版)</span> <span class="f13 fb c-grey3">项目功能特性(微信版)</span>
<ul class="project-intro mb15 mt5"> <ul class="project-intro mb15 mt5">
<li>创建项目、加入项目</li> <li>创建项目、加入项目</li>
<li>邀请成员、修改角色</li> <li>邀请成员、修改角色</li>
<li>浏览、回复项目动态</li> <li>浏览、回复项目动态</li>
<li>点赞、分享项目动态</li> <li>点赞、分享项目动态</li>
</ul> </ul>
</div> </div>
<div class="f12 c-grey6" style="width:156px; margin:0 auto;"> <div class="f12 c-grey6" style="width:156px; margin:0 auto;">
<span class="f13 fb c-grey3">更多项目特性(浏览器版)</span> <span class="f13 fb c-grey3">更多项目特性(浏览器版)</span>
<ul class="project-intro mt5"> <ul class="project-intro mt5">
<li>发布任务、问题跟踪</li> <li>发布任务、问题跟踪</li>
<li>代码托管、质量分析</li> <li>代码托管、质量分析</li>
<li>资源分享、交流研讨</li> <li>资源分享、交流研讨</li>
</ul> </ul>
</div> </div>
</form> </form>
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert> <my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
</div> </div>

@ -1,18 +1,18 @@
/** /**
* Created by guange on 16/6/22. * Created by guange on 16/6/22.
*/ */
app.controller('InviteCodeController', ['$scope','$http', '$routeParams','config','auth', function($scope, $http, $routeParams, config, auth){ app.controller('InviteCodeController', ['$scope','$http', '$routeParams','config','auth', function($scope, $http, $routeParams, config, auth){
var vm = $scope; var vm = $scope;
vm.course = {}; vm.course = {};
var courseid = $routeParams.id; var courseid = $routeParams.id;
$http.get(config.apiUrl+ 'courses/'+courseid+"?token="+auth.token()).then( $http.get(config.apiUrl+ 'courses/'+courseid+"?token="+auth.token()).then(
function(response){ function(response){
console.log(response.data); console.log(response.data);
vm.course = response.data.data; vm.course = response.data.data;
} }
); );
}]); }]);

@ -1,25 +1,25 @@
/** /**
* Created by Tim on 7/22/16. * Created by Tim on 7/22/16.
*/ */
app.directive('ellipsisShow',["$timeout",function(timer){ app.directive('ellipsisShow',["$timeout",function(timer){
return{ return{
restrict: 'A', restrict: 'A',
scope: {}, scope: {},
link: function(scope, element){ link: function(scope, element){
timer(function() { timer(function() {
var textSplit = element.text().split(" "); var textSplit = element.text().split(" ");
var newContent = []; var newContent = [];
element.text(""); element.text("");
for (var i = 0; i < textSplit.length; i++) { for (var i = 0; i < textSplit.length; i++) {
newContent = newContent + " " + textSplit[i]; newContent = newContent + " " + textSplit[i];
element.text(newContent); element.text(newContent);
if(element[0].scrollHeight >= 100){ if(element[0].scrollHeight >= 100){
newContent = newContent + " " + textSplit[i+1] + " " + textSplit[i+2] + " " + textSplit[i+3] + " " + textSplit[i+4] + "..."; newContent = newContent + " " + textSplit[i+1] + " " + textSplit[i+2] + " " + textSplit[i+3] + " " + textSplit[i+4] + "...";
element.text(newContent); element.text(newContent);
break; break;
} }
} }
}); });
} }
} }
}]); }]);

@ -1,245 +1,245 @@
@charset "utf-8"; @charset "utf-8";
/* CSS Document */ /* CSS Document */
/*基本样式*/ /*基本样式*/
body,table,input,textarea,select,button { font-family: "微软雅黑","宋体","Helvetica Neue", Helvetica, Arial, sans-serif;} body,table,input,textarea,select,button { font-family: "微软雅黑","宋体","Helvetica Neue", Helvetica, Arial, sans-serif;}
body, ul, h1,h2,h3,h4,h5,p,pre,input {padding:0px; margin:0px;} body, ul, h1,h2,h3,h4,h5,p,pre,input {padding:0px; margin:0px;}
body{background-color: #efeff4;} body{background-color: #efeff4;}
ul li {list-style:none;} ul li {list-style:none;}
img {max-width:100%;} img {max-width:100%;}
blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin: 5px 0.4em 5px 1.4em; border-radius: 4px; font-family: "Microsoft YaHei"; background-size: 100% 100%;} blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin: 5px 0.4em 5px 1.4em; border-radius: 4px; font-family: "Microsoft YaHei"; background-size: 100% 100%;}
.text-control {word-break:normal; word-wrap:break-word;} .text-control {word-break:normal; word-wrap:break-word;}
.f12 {font-size:12px;} .f12 {font-size:12px;}
.f13 {font-size:13px;} .f13 {font-size:13px;}
.f14 {font-size:14px;} .f14 {font-size:14px;}
.f15 {font-size:15px;} .f15 {font-size:15px;}
.f16 {font-size:16px;} .f16 {font-size:16px;}
.fb {font-weight:bold;} .fb {font-weight:bold;}
.mt2 {margin-top:2px;} .mt2 {margin-top:2px;}
.mt3 {margin-top:3px;} .mt3 {margin-top:3px;}
.mt4 {margin-top:4px;} .mt4 {margin-top:4px;}
.mt5 {margin-top:5px;} .mt5 {margin-top:5px;}
.mt10 {margin-top:10px;} .mt10 {margin-top:10px;}
.mt11 {margin-top:11px;} .mt11 {margin-top:11px;}
.mt12 {margin-top:12px;} .mt12 {margin-top:12px;}
.mt15 {margin-top:15px;} .mt15 {margin-top:15px;}
.mt30 {margin-top:30px;} .mt30 {margin-top:30px;}
.mt70 {margin-top:70px;} .mt70 {margin-top:70px;}
.mb5 {margin-bottom:5px;} .mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;} .mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;} .mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;} .mb20 {margin-bottom:20px;}
.mb50 {margin-bottom:50px;} .mb50 {margin-bottom:50px;}
.ml5 {margin-left:5px;} .ml5 {margin-left:5px;}
.ml10 {margin-left:10px;} .ml10 {margin-left:10px;}
.ml40 {margin-left:40px;} .ml40 {margin-left:40px;}
.mr5 {margin-right:5px;} .mr5 {margin-right:5px;}
.mr10 {margin-right:10px;} .mr10 {margin-right:10px;}
.ml15 {margin-left:15px;} .ml15 {margin-left:15px;}
.ml35 {margin-left:35px;} .ml35 {margin-left:35px;}
.mr15 {margin-right:15px;} .mr15 {margin-right:15px;}
.mr20 {margin-right:20px;} .mr20 {margin-right:20px;}
.ml25 {margin-left:25px;} .ml25 {margin-left:25px;}
.mr25 {margin-right:25px;} .mr25 {margin-right:25px;}
.ml55 {margin-left:55px;} .ml55 {margin-left:55px;}
.mr55 {margin-right:55px;} .mr55 {margin-right:55px;}
.c-red {color:#e81a1a;} .c-red {color:#e81a1a;}
.c-blue {color:#269ac9;} .c-blue {color:#269ac9;}
.c-grey {color:#9a9a9a !important;} .c-grey {color:#9a9a9a !important;}
.c-grey2 {color:#707070;} .c-grey2 {color:#707070;}
.c-grey3 {color:#555555;} .c-grey3 {color:#555555;}
.c-grey4 {color:#888888;} .c-grey4 {color:#888888;}
.c-grey5 {color:#aaaaaa;} .c-grey5 {color:#aaaaaa;}
.c-grey6 {color:#777777;} .c-grey6 {color:#777777;}
.c-blue {color:#3b94d6;} .c-blue {color:#3b94d6;}
.c-white {color:#ffffff;} .c-white {color:#ffffff;}
.c-black {color:#333} .c-black {color:#333}
a {color:#707070;} a {color:#707070;}
a.c-grey {color:#707070;} a.c-grey {color:#707070;}
a.c-grey2 {color:#9a9a9a;} a.c-grey2 {color:#9a9a9a;}
a.c-grey3 {color:#353535;} a.c-grey3 {color:#353535;}
a.c-green {color:#0bb20c;} a.c-green {color:#0bb20c;}
a:link,a:visited{text-decoration:none;} a:link,a:visited{text-decoration:none;}
a:hover,a:active{cursor:pointer;} a:hover,a:active{cursor:pointer;}
a.link-blue {color:#269ac9;} a.link-blue {color:#269ac9;}
a.link-blue2 {color:#3b94d6;} a.link-blue2 {color:#3b94d6;}
a.underline {text-decoration:underline;} a.underline {text-decoration:underline;}
.border-radius {border-radius:5px;} .border-radius {border-radius:5px;}
.w36 {width:36px;} .w36 {width:36px;}
.max-width-60 {max-width:60px;} .max-width-60 {max-width:60px;}
.max-width-130 {max-width:130px;} .max-width-130 {max-width:130px;}
.hidden {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;} .hidden {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.inline-block {display:inline-block;} .inline-block {display:inline-block;}
.dis {display:block;} .dis {display:block;}
.undis {display:none;} .undis {display:none;}
.text-nowrap {white-space:nowrap;} .text-nowrap {white-space:nowrap;}
.v-top {vertical-align:top;} .v-top {vertical-align:top;}
.tac {text-align:center;} .tac {text-align:center;}
.block-center {margin-left:auto; margin-right:auto; display:block;} .block-center {margin-left:auto; margin-right:auto; display:block;}
/*背景色*/ /*背景色*/
.bg-grey {background-color:#c1c1c1 !important;} .bg-grey {background-color:#c1c1c1 !important;}
.bg-blue {background-color:#3b94d6;} .bg-blue {background-color:#3b94d6;}
/*按钮样式*/ /*按钮样式*/
.btn1 {width:100%; height:40px; line-height:40px; vertical-align:middle; text-align:center; color:#fff; display:block; border-radius:5px;} .btn1 {width:100%; height:40px; line-height:40px; vertical-align:middle; text-align:center; color:#fff; display:block; border-radius:5px;}
.bg-blue:not(.btn-disabled):active {background-color:#2780c2;} .bg-blue:not(.btn-disabled):active {background-color:#2780c2;}
.btn-disabled {background-color:#ccc !important;} .btn-disabled {background-color:#ccc !important;}
.btn2 {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; margin:18px auto 20px auto; border-radius:50px; display:block;} .btn2 {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; margin:18px auto 20px auto; border-radius:50px; display:block;}
.btn3 {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; border-radius:50px; display:block;} .btn3 {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; border-radius:50px; display:block;}
.fixed-bottom-btn {position:fixed; bottom:5px; left:50%; transform:translate(-50%,0);} .fixed-bottom-btn {position:fixed; bottom:5px; left:50%; transform:translate(-50%,0);}
/*tab*/ /*tab*/
.tab-wrap {position:relative; width:100%; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;} .tab-wrap {position:relative; width:100%; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;}
.tab-wrap a {position:relative; display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1;} .tab-wrap a {position:relative; display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1;}
.tab-wrap a:first-child:after {display:none;} .tab-wrap a:first-child:after {display:none;}
.tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;} .tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;}
.weixin-tab {text-align:center; border-bottom:1px solid #ccc;} .weixin-tab {text-align:center; border-bottom:1px solid #ccc;}
/*bottom-tab*/ /*bottom-tab*/
.bottom-tab-wrap {position:fixed; width:100%; bottom:0; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;} .bottom-tab-wrap {position:fixed; width:100%; bottom:0; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;}
.bottom-tab-wrap a {display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1; position:relative;} .bottom-tab-wrap a {display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1; position:relative;}
.bottom-tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;} .bottom-tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;}
/*动态样式*/ /*动态样式*/
.post-container {width:100%;} .post-container {width:100%;}
.post-wrapper {width:100%; background-color:#ffffff; margin:10px auto;} .post-wrapper {width:100%; background-color:#ffffff; margin:10px auto;}
.post-main {padding:10px 15px; color:#9a9a9a;} .post-main {padding:10px 15px; color:#9a9a9a;}
.post-avatar {width:30px; height:30px;} .post-avatar {width:30px; height:30px;}
.post-title {font-size:13px; text-align:left;} .post-title {font-size:13px; text-align:left;}
.post-detail-info {font-size:13px; text-align:left; color:#9a9a9a;} .post-detail-info {font-size:13px; text-align:left; color:#9a9a9a;}
.fl {float:left;} .fl {float:left;}
.fr {float:right;} .fr {float:right;}
.cl {clear:both; overflow:hidden;} .cl {clear:both; overflow:hidden;}
.post-content {width:100%; font-size:14px; line-height:20px; height:100px; overflow:hidden; word-break:normal; word-wrap:break-word; text-align:justify;} .post-content {width:100%; font-size:14px; line-height:20px; height:100px; overflow:hidden; word-break:normal; word-wrap:break-word; text-align:justify;}
.post-all-content a {color:#136ec2;} .post-all-content a {color:#136ec2;}
.post-interactive {width:100%; height:35px; line-height:35px; vertical-align:middle; border-top:1px solid #e6e6e6; background-color:#f8f9fb;} .post-interactive {width:100%; height:35px; line-height:35px; vertical-align:middle; border-top:1px solid #e6e6e6; background-color:#f8f9fb;}
.post-interactive-column, .post-interactive-column,
.post-interactive-reply, .post-interactive-reply,
.post-interactive-praise {width:50%; text-align:center; float:left; font-size:13px;} .post-interactive-praise {width:50%; text-align:center; float:left; font-size:13px;}
.more-wrap {width:100%;} .more-wrap {width:100%;}
.more-events {width:100%; font-size:13px; text-align:center; margin:0 auto; padding: 5px 0; border-top:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; border-radius:3px; background-color:#f8f9fb; } .more-events {width:100%; font-size:13px; text-align:center; margin:0 auto; padding: 5px 0; border-top:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; border-radius:3px; background-color:#f8f9fb; }
.border-bottom {border-bottom:1px solid #e6e6e6;} .border-bottom {border-bottom:1px solid #e6e6e6;}
.post-reply-wrap {width:100%;} .post-reply-wrap {width:100%;}
.post-reply-wrap:first-child {border-top:1px solid #ccc;} .post-reply-wrap:first-child {border-top:1px solid #ccc;}
.post-input-wrap {width:100%; position:fixed; bottom:0; background-color:#fff;} .post-input-wrap {width:100%; position:fixed; bottom:0; background-color:#fff;}
.post-input-wrap2 {width:100%;} .post-input-wrap2 {width:100%;}
.post-reply-row {margin:10px 15px; color:#9a9a9a; background-color:#fff; border-bottom:1px solid #f0f0f0;} .post-reply-row {margin:10px 15px; color:#9a9a9a; background-color:#fff; border-bottom:1px solid #f0f0f0;}
.post-reply-avatar {width:45px; height:30px; text-align:center; margin-right:10px;} .post-reply-avatar {width:45px; height:30px; text-align:center; margin-right:10px;}
.post-reply-user {font-size:13px; text-align:left; margin-bottom:10px;} .post-reply-user {font-size:13px; text-align:left; margin-bottom:10px;}
.post-reply-content {font-size:13px; word-break:break-all; word-wrap:break-word; overflow:hidden; text-align:justify;} .post-reply-content {font-size:13px; word-break:break-all; word-wrap:break-word; overflow:hidden; text-align:justify;}
.post-reply-content img {max-width:100%;} .post-reply-content img {max-width:100%;}
.post-reply-content a {color:#136ec2;} .post-reply-content a {color:#136ec2;}
.post-reply-date, .post-reply-trigger {font-size:13px;} .post-reply-date, .post-reply-trigger {font-size:13px;}
.post-input-container {position:relative; padding-right:70px;} .post-input-container {position:relative; padding-right:70px;}
.copy-input-container {position:relative; padding-right:70px;} .copy-input-container {position:relative; padding-right:70px;}
.copy-input {width:100%; height:18px; line-height:18px; padding:5px; vertical-align: middle; font-size:12px; border-radius:3px; position:absolute; left:-999em;} .copy-input {width:100%; height:18px; line-height:18px; padding:5px; vertical-align: middle; font-size:12px; border-radius:3px; position:absolute; left:-999em;}
.post-reply-input {width:100%; height:18px; max-height:54px; line-height:18px; vertical-align: middle; font-size:13px; border:1px solid #e6e6e6; outline:none; padding:5px; margin:0; border-radius:3px; overflow-y:auto; resize:none; background-color:#f0eff4;} .post-reply-input {width:100%; height:18px; max-height:54px; line-height:18px; vertical-align: middle; font-size:13px; border:1px solid #e6e6e6; outline:none; padding:5px; margin:0; border-radius:3px; overflow-y:auto; resize:none; background-color:#f0eff4;}
.post-reply-submit {position:absolute; font-size:13px; height:30px; line-height:30px; vertical-align:middle; padding:0 8px; color:#fff; background-color:#269ac9; outline:none; border:none; top:0; right:0;} .post-reply-submit {position:absolute; font-size:13px; height:30px; line-height:30px; vertical-align:middle; padding:0 8px; color:#fff; background-color:#269ac9; outline:none; border:none; top:0; right:0;}
.reply-icon {background:url(/images/wechat/icon_list.gif) -150px -155px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;} .reply-icon {background:url(/images/wechat/icon_list.gif) -150px -155px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;}
.praise-icon {background:url(/images/wechat/icon_list.gif) -36px -88px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;} .praise-icon {background:url(/images/wechat/icon_list.gif) -36px -88px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;}
.praised-icon {background:url(/images/wechat/icon_list.gif) -152px -86px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;} .praised-icon {background:url(/images/wechat/icon_list.gif) -152px -86px no-repeat; width:20px; height:20px; display:inline-block; vertical-align:middle;}
.num-block {display:inline-block; vertical-align:top;} .num-block {display:inline-block; vertical-align:top;}
.post-op-banner {height:20px; line-height:20px; vertical-align:middle;} .post-op-banner {height:20px; line-height:20px; vertical-align:middle;}
/*20160628动态新样式*/ /*20160628动态新样式*/
.post-dynamic-author {width:50%; height:30px; line-height:30px; font-size:14px; color:#5b5b5b; vertical-align:middle;} .post-dynamic-author {width:50%; height:30px; line-height:30px; font-size:14px; color:#5b5b5b; vertical-align:middle;}
.post-dynamic-time {height:30px; line-height:30px; vertical-align:middle;} .post-dynamic-time {height:30px; line-height:30px; vertical-align:middle;}
.post-dynamic-title {font-size:15px;} .post-dynamic-title {font-size:15px;}
.post-dynamic-from {width:50%; font-size:13px;} .post-dynamic-from {width:50%; font-size:13px;}
.post-box-shadow {box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);} .post-box-shadow {box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5);}
.post-reply-author {width:50%; height:20px; line-height:20px; font-size:12px; color:#5d5d5d; vertical-align:middle;} .post-reply-author {width:50%; height:20px; line-height:20px; font-size:12px; color:#5d5d5d; vertical-align:middle;}
.post-reply-time {height:20px; line-height:20px; vertical-align:middle;} .post-reply-time {height:20px; line-height:20px; vertical-align:middle;}
/* loading 弹框*/ /* loading 弹框*/
.loading-bg {position:fixed; width:100%; height:100%; left:0; top:0; z-index:99; background:rgba(206, 206, 206, 0.3); overflow:hidden;} .loading-bg {position:fixed; width:100%; height:100%; left:0; top:0; z-index:99; background:rgba(206, 206, 206, 0.3); overflow:hidden;}
.loading-box {position:absolute; top:50%; background:rgba(240,240,240, 0.5); width:160px; height:72px; left:50%; margin-top:-36px; margin-left:-80px; text-align:center;} .loading-box {position:absolute; top:50%; background:rgba(240,240,240, 0.5); width:160px; height:72px; left:50%; margin-top:-36px; margin-left:-80px; text-align:center;}
.loading-box img {margin-top: 3px; text-align: center;} .loading-box img {margin-top: 3px; text-align: center;}
.loading-box span {display: block; font-size:12px;} .loading-box span {display: block; font-size:12px;}
/*帖子锁定样式*/ /*帖子锁定样式*/
.locked_btn_cir {background: url("/images/wechat/locked.png") 0 0 no-repeat; cursor: default;} .locked_btn_cir {background: url("/images/wechat/locked.png") 0 0 no-repeat; cursor: default;}
/*20150612加入班级样式*/ /*20150612加入班级样式*/
.add-class-box {position:fixed; width:80%; max-width:300px; min-width:240px; font-size:15px; color:#444; background-color:#fff; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); border-radius:5px; top:50%; left:50%; transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%);} .add-class-box {position:fixed; width:80%; max-width:300px; min-width:240px; font-size:15px; color:#444; background-color:#fff; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); border-radius:5px; top:50%; left:50%; transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%);}
.add-class-tip {padding-top:1.2em; padding-bottom:.5em; font-weight:400;} .add-class-tip {padding-top:1.2em; padding-bottom:.5em; font-weight:400;}
.class-number-input {width:80%; max-width:240px; height:28px; border:1px solid #ccc; padding-left:5px; margin:0 auto; display:block;} .class-number-input {width:80%; max-width:240px; height:28px; border:1px solid #ccc; padding-left:5px; margin:0 auto; display:block;}
.cancel-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;} .cancel-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;}
.submit-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;} .submit-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;}
.slice {width:2%; text-align:center; border-top:1px solid #ccc;} .slice {width:2%; text-align:center; border-top:1px solid #ccc;}
.slice-line {width:1px; height:37px; margin:auto; background:#ccc;} .slice-line {width:1px; height:37px; margin:auto; background:#ccc;}
/*20160613邀请码样式*/ /*20160613邀请码样式*/
.qr-code-wrap {width:100%; padding:40px 0; background-color:#3b94d6;} .qr-code-wrap {width:100%; padding:40px 0; background-color:#3b94d6;}
.qr-code-box {width:225px; background-color:#fff; border-radius:3px; margin:0 auto;} .qr-code-box {width:225px; background-color:#fff; border-radius:3px; margin:0 auto;}
.share-class-name {font-size:18px; color:#3b3b3b; text-align:center; padding:12px; border-bottom:1px solid #cccccc;} .share-class-name {font-size:18px; color:#3b3b3b; text-align:center; padding:12px; border-bottom:1px solid #cccccc;}
.qr-img-wrap {width:100%; border-bottom:1px dashed #ccc;} .qr-img-wrap {width:100%; border-bottom:1px dashed #ccc;}
.qr-code-img {margin:36px auto; display:block;} .qr-code-img {margin:36px auto; display:block;}
.invitation-code-wrap {text-align:center; font-size:18px; color:#3b3b3b; padding:16px;} .invitation-code-wrap {text-align:center; font-size:18px; color:#3b3b3b; padding:16px;}
.share-code-wrap {width:100%; background-color:#efeff4;} .share-code-wrap {width:100%; background-color:#efeff4;}
.share-code-btn, .finish-btn {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; background-color:#ff7239; margin:18px auto 20px auto; border-radius:50px; display:block;} .share-code-btn, .finish-btn {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; background-color:#ff7239; margin:18px auto 20px auto; border-radius:50px; display:block;}
.share-code-instruction {max-width:228px; font-size:12px; color:#666; line-height:20px; margin:0 auto;} .share-code-instruction {max-width:228px; font-size:12px; color:#666; line-height:20px; margin:0 auto;}
/*20160613班级详情*/ /*20160613班级详情*/
.class-detail-name, .blue-title {width:100%; height:45px; line-height:45px; vertical-align:middle; background-color:#3b94d6; color:#fff; font-size:18px; text-align:center;} .class-detail-name, .blue-title {width:100%; height:45px; line-height:45px; vertical-align:middle; background-color:#3b94d6; color:#fff; font-size:18px; text-align:center;}
.blue-title-sub {position:absolute; right:10px;} .blue-title-sub {position:absolute; right:10px;}
.slice2 {width:2%; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;} .slice2 {width:2%; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;}
.slice3 {width:1%; height:38px; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;} .slice3 {width:1%; height:38px; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;}
.slice-line2 {width:1px; height:38px; margin:auto; background:#ccc;} .slice-line2 {width:1px; height:38px; margin:auto; background:#ccc;}
.class-detail-tab {width:23%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;} .class-detail-tab {width:23%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;}
.class-detail-tab2 {width:32%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;} .class-detail-tab2 {width:32%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;}
.class-detail-tab3 {width:48%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;} .class-detail-tab3 {width:48%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;}
.class-tab-active {border-bottom:3px solid #3b94d6;} .class-tab-active {border-bottom:3px solid #3b94d6;}
.tab-active-arrow {border-width:4px; position:absolute; top:41px; left:50%; transform:translate(-50%,0); border-color:#3b94d6 transparent transparent transparent; border-style:solid dashed dashed dashed;} .tab-active-arrow {border-width:4px; position:absolute; top:41px; left:50%; transform:translate(-50%,0); border-color:#3b94d6 transparent transparent transparent; border-style:solid dashed dashed dashed;}
.class-search-wrap {padding:8px 12px; position:relative;} .class-search-wrap {padding:8px 12px; position:relative;}
.class-search-inner {padding:0 30px; background-color:#fff;} .class-search-inner {padding:0 30px; background-color:#fff;}
.class-search-icon {position:absolute; top:16px; left:16px;} .class-search-icon {position:absolute; top:16px; left:16px;}
.class-detail-search {width:100%; height:33px; color:#999; background-color:#fff; border:none; outline:none;} .class-detail-search {width:100%; height:33px; color:#999; background-color:#fff; border:none; outline:none;}
.border-top {border-top:1px solid #ccc;} .border-top {border-top:1px solid #ccc;}
.class-detail-row {width:100%; line-height:18px; padding:10px 0; border-bottom:1px solid #ccc; background-color:#fff;} .class-detail-row {width:100%; line-height:18px; padding:10px 0; border-bottom:1px solid #ccc; background-color:#fff;}
.class-member-row {width:100%; line-height:18px; padding:5px 0; border-bottom:1px solid #ccc; background-color:#fff; position:relative;} .class-member-row {width:100%; line-height:18px; padding:5px 0; border-bottom:1px solid #ccc; background-color:#fff; position:relative;}
.class-test-tip {text-align:center; font-size:13px; color:#444; padding-top:40px;} .class-test-tip {text-align:center; font-size:13px; color:#444; padding-top:40px;}
.img-circle {border-radius:50% !important;} .img-circle {border-radius:50% !important;}
.member-banner {height:24px; line-height:24px; text-align:center; vertical-align:middle; background-color:#dfdfdf;} .member-banner {height:24px; line-height:24px; text-align:center; vertical-align:middle; background-color:#dfdfdf;}
.resource-width {width:76%;} .resource-width {width:76%;}
.courseware-from-width {max-width:57%;} .courseware-from-width {max-width:57%;}
.other-from-width {max-width:80%;} .other-from-width {max-width:80%;}
.course-name-width {width:68%;} .course-name-width {width:68%;}
/*20160614班级列表*/ /*20160614班级列表*/
.course-diff-row {width:100%; height:28px; line-height:28px; vertical-align:middle; background-color:#fff; border-bottom:1px solid #ccc;} .course-diff-row {width:100%; height:28px; line-height:28px; vertical-align:middle; background-color:#fff; border-bottom:1px solid #ccc;}
.course-list-row {width:100%; height:38px; line-height:38px; vertical-align:middle; border-top:1px solid #ccc; border-bottom:1px solid #ccc; background-color:#fff;} .course-list-row {width:100%; height:38px; line-height:38px; vertical-align:middle; border-top:1px solid #ccc; border-bottom:1px solid #ccc; background-color:#fff;}
.class-list {width:100%; border-bottom:1px solid #ccc;} .class-list {width:100%; border-bottom:1px solid #ccc;}
.class-list li {height:40px; line-height:40px; vertical-align:middle; margin:0 25px; border-left:1px solid #ccc; border-bottom:1px solid #ccc; position:relative;} .class-list li {height:40px; line-height:40px; vertical-align:middle; margin:0 25px; border-left:1px solid #ccc; border-bottom:1px solid #ccc; position:relative;}
.class-list-name {max-width:75%; display:inline-block;} .class-list-name {max-width:75%; display:inline-block;}
.class-list-dot {position:absolute; top:13px; left:-8px;} .class-list-dot {position:absolute; top:13px; left:-8px;}
.border-bottom-none {border-bottom:none !important;} .border-bottom-none {border-bottom:none !important;}
.border-top-none {border-top:none !important;} .border-top-none {border-top:none !important;}
.students-amount {height:14px; line-height:14px; vertical-align:middle; padding:2px 5px; background-color:#e6e6e6; border-radius:10px;} .students-amount {height:14px; line-height:14px; vertical-align:middle; padding:2px 5px; background-color:#e6e6e6; border-radius:10px;}
.new-class-btn {font-size:15px; color:#fff; background-color:#3b94d6; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;} .new-class-btn {font-size:15px; color:#fff; background-color:#3b94d6; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;}
.join-class-btn {font-size:15px; color:#444; background-color:#ccc; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;} .join-class-btn {font-size:15px; color:#444; background-color:#ccc; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;}
.new-class-input {width:60%; color:#555; height:16px; line-height:16px; vertical-align:middle; border:none; outline:none; padding:8px 0;} .new-class-input {width:60%; color:#555; height:16px; line-height:16px; vertical-align:middle; border:none; outline:none; padding:8px 0;}
.class-list-setting {position:absolute; top:11px; right:10px;} .class-list-setting {position:absolute; top:11px; right:10px;}
.class-setting-wrap {width:38px; height:38px; position:absolute; top:0; right:0;} .class-setting-wrap {width:38px; height:38px; position:absolute; top:0; right:0;}
/*20160616登录注册*/ /*20160616登录注册*/
.login-wrap {padding:0 10px;} .login-wrap {padding:0 10px;}
.input-box-wrap {padding-right:17px;} .input-box-wrap {padding-right:17px;}
.input-box { -webkit-appearance: none; font-size: 15px;width:100%; height:18px; padding: 10px 0px 10px 5px; line-height:18px; border:1px solid #ccc; border-radius:5px;} .input-box { -webkit-appearance: none; font-size: 15px;width:100%; height:18px; padding: 10px 0px 10px 5px; line-height:18px; border:1px solid #ccc; border-radius:5px;}
.login-op-wrap {height:30px; line-height:30px; vertical-align:middle;} .login-op-wrap {height:30px; line-height:30px; vertical-align:middle;}
.login-box{display:inline-block; width:14px; height:14px; line-height:14px; text-align:center; vertical-align:middle; border:1px solid #ccc; background:#fff; border-radius:3px; color:#fff; cursor:pointer;} .login-box{display:inline-block; width:14px; height:14px; line-height:14px; text-align:center; vertical-align:middle; border:1px solid #ccc; background:#fff; border-radius:3px; color:#fff; cursor:pointer;}
.login-box.checked{background:#63c360; border:1px solid #63c360;} .login-box.checked{background:#63c360; border:1px solid #63c360;}
.login-box.checked:after{content:url(/images/wechat/checked.png);} .login-box.checked:after{content:url(/images/wechat/checked.png);}
.forget-psw-wrap {width:60px; margin:0 auto;} .forget-psw-wrap {width:60px; margin:0 auto;}
.forget-psw {position:fixed; bottom:10px;} .forget-psw {position:fixed; bottom:10px;}
/*二级回复*/ /*二级回复*/
.mult-reply-container{ border:solid 1px #f3ddb3; background:#fffef4; padding:4px;color:#999;} .mult-reply-container{ border:solid 1px #f3ddb3; background:#fffef4; padding:4px;color:#999;}
.mult-reply-content{ color:#555; font-size:13px;} .mult-reply-content{ color:#555; font-size:13px;}
.mult-reply-hide{ text-align:center; display:block; font-size:14px; color:#aaa; border-bottom:1px solid #F3DDB3; padding:8px 0;} .mult-reply-hide{ text-align:center; display:block; font-size:14px; color:#aaa; border-bottom:1px solid #F3DDB3; padding:8px 0;}
.mult-reply-arrow{ color:#aaa; margin-right:10px; font-size:14px; font-weight:bold;} .mult-reply-arrow{ color:#aaa; margin-right:10px; font-size:14px; font-weight:bold;}
/*20160729项目说明*/ /*20160729项目说明*/
.project-intro {line-height:2;} .project-intro {line-height:2;}
.project-intro li {list-style:disc; margin-left:20px;} .project-intro li {list-style:disc; margin-left:20px;}
Loading…
Cancel
Save