diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 7b2c4ff1a..eec6e8ead 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -461,9 +461,8 @@ module Mobile else cs = CoursesService.new - cs.set_user_course_role params - - present :status, 0 + status = cs.modify_user_course_role params + present :status, status end end diff --git a/app/api/mobile/apis/projects.rb b/app/api/mobile/apis/projects.rb index fa8e0dcb2..f0bb2cc3c 100644 --- a/app/api/mobile/apis/projects.rb +++ b/app/api/mobile/apis/projects.rb @@ -134,8 +134,11 @@ module Mobile if !(my_member && my_member.roles[0] && my_member.roles[0].id == 3 ) || project.user_id == params[:user_id] || !(params[:role_id] == 3 || params[:role_id] == 4 || params[:role_id] == 5) present :status, -1 else + ps = ProjectsService.new - present :status, 0 + status = ps.modify_user_project_role params + + present :status, status end end @@ -147,6 +150,10 @@ module Mobile post 'create' do authenticate! + ps = ProjectsService.new + + status = ps.createNewProject params,current_user + present :status, 0 @@ -158,12 +165,15 @@ module Mobile requires :token, type: String requires :invite_code, type: String, desc: '邀请码' end - post 'create' do + post "join" do authenticate! + # ps = ProjectsService.new + # status = ps.join_project({role: "5", openid: params[:openid], invite_code: params[:invite_code]}, current_user) + # + # present :status, status - - present :status, 0 + {status:-1, message: '该功能暂未开放,敬请期待!' } end end diff --git a/app/api/mobile/entities/project.rb b/app/api/mobile/entities/project.rb index 4c2c5b04a..3e1899caa 100644 --- a/app/api/mobile/entities/project.rb +++ b/app/api/mobile/entities/project.rb @@ -4,6 +4,8 @@ module Mobile expose :name expose :id expose :user_id + # expose :invite_code + # expose :qrcode expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options| current_user = options[:user] diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index d8c174bc3..71bc093c3 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -238,6 +238,7 @@ class ProjectsController < ApplicationController #end @project.members << m @project.project_infos << project_info + send_wechat_create_project_notice User.current,@project #end respond_to do |format| format.html { diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb index dab752afb..d02a7d859 100644 --- a/app/controllers/school_controller.rb +++ b/app/controllers/school_controller.rb @@ -203,6 +203,7 @@ class SchoolController < ApplicationController end end + render :json =>status end end diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb index c12590400..b791a0508 100644 --- a/app/controllers/wechats_controller.rb +++ b/app/controllers/wechats_controller.rb @@ -8,10 +8,12 @@ class WechatsController < ActionController::Base # default text responder when no other match on :text do |request, content| #邀请码 - if join_request(request) + if join_class_request(request) sendBindClass(request, {invite_code: content}) + # elsif join_project_request(request) + # sendBindProject(request, {invite_code: content}) else - request.reply.text '您的意见已收到,感谢您的反馈!' + request.reply.text "您的意见已收到,非常感谢~ \n更多问题可以通过以下方式联系我们:\n官方QQ群:173184401\n我们会认真聆听您的意见和建议。" end end @@ -147,7 +149,13 @@ class WechatsController < ActionController::Base end on :click, with: 'JOIN_PROJECT' do |request, key| - request.reply.text "此功能正在开发中,很快就会上线,谢谢!" + request.reply.text "该功能暂未开放,敬请期待!" + # uw = user_binded?(request[:FromUserName]) + # unless uw + # sendBind(request) + # else + # request.reply.text "请直接回复6位项目邀请码\n(不区分大小写):" + # end end on :click, with: 'JOIN_CLASS' do |request, key| @@ -159,12 +167,18 @@ class WechatsController < ActionController::Base end end - def join_request(request) + def join_class_request(request) openid = request[:FromUserName] wl = WechatLog.where("openid = '#{openid}' and request_raw like '%\"Event\":\"click\"%'").order('id desc').first wl && JSON(wl.request_raw)["EventKey"] == 'JOIN_CLASS' end + def join_project_request(request) + openid = request[:FromUserName] + wl = WechatLog.where("openid = '#{openid}' and request_raw like '%\"Event\":\"click\"%'").order('id desc').first + wl && JSON(wl.request_raw)["EventKey"] == 'JOIN_PROJECT' + end + def sendBindClass(request, params) begin uw = user_binded?(request[:FromUserName]) @@ -180,6 +194,21 @@ class WechatsController < ActionController::Base end end + def sendBindProject(request, params) + begin + uw = user_binded?(request[:FromUserName]) + if !uw + return sendBind(request) + else + return join_project(params, uw.user, request) + end + rescue => e + logger.error e.inspect + logger.error e.backtrace.join("\n") + return request.reply.text e + end + end + def default_msg(request) uw = user_binded?(request[:FromUserName]) if uw && uw.user @@ -234,6 +263,36 @@ class WechatsController < ActionController::Base end + def join_project(params, user, request) + project = nil + project = Project.where(qrcode: params[:ticket]).first if params[:ticket] + project = Project.where(invite_code: params[:invite_code]).first if params[:invite_code] + raise "项目不存在,请确认您的邀请码是否输入正确,谢谢!" unless project + + #取出用户角色类型 + role = 5 + + ps = ProjectsService.new + status = ps.join_project({invite_code: project.invite_code}, user) + if status[:state] != 0 + raise ProjectService::JoinProjectError.message(status) + end + + creator = User.find(project.user_id) + + news = (1..1).each_with_object([]) { |n, memo| memo << { title: '恭喜您成功加入项目,开始研发吧!', + content: "项目名称:#{project.name}\n发起人:#{creator.name}\n进入项目,和小伙伴轻松的研发吧!"} } + return request.reply.news(news) do |article, n, index| # article is return object + url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{ROOT_URL+'/wechat/user_activities#/project?id='+project.id.to_s}&response_type=code&scope=snsapi_base&state=myproject#wechat_redirect" + pic_url = "#{ROOT_URL}/images/wechat/class.jpg" + article.item title: "#{n[:title]}", + description: n[:content], + pic_url: pic_url, + url: url + end + + end + ### controller method module Controllers def get_bind @@ -304,6 +363,8 @@ class WechatsController < ActionController::Base else if params[:state] == 'myclass' @course_id = params[:id]; + elsif params[:state] == 'myproject' + @project_id = params[:id]; end session[:wechat_openid] = open_id diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 323a45a50..811d73f55 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -956,21 +956,48 @@ class CoursesService # student_works[index + 1 .. index + n] # end + #修改班级成员角色 + def modify_user_course_role params + status = -1 - def set_user_course_role params - if params[role_id] == 7 + c = Course.find("#{params[:id]}") + member = c.member_principals.includes(:roles, :principal).where("user_id=?",params[:user_id]).first + if member + role = Role.find(params[:role_id]) - elsif params[role_id] == 9 + member.member_roles[0].role_id = params[:role_id] - elsif params[role_id] == 10 + # 这里的判断只能通过角色名,可以弄成常量 + if params[:role_id] == 10 + StudentsForCourse.create(:student_id => params[:user_id], :course_id =>params[:id]) + else + joined = StudentsForCourse.where('student_id = ? and course_id = ?', params[:user_id],params[:id]) + joined.each do |join| + join.delete + end + member.course_group_id = 0 + end + if role.allowed_to?(:is_manager) + courseInfo = CourseInfos.new(:user_id => params[:user_id], :course_id => params[:id]) + courseInfo.save + else + user_admin = CourseInfos.where("user_id = ? and course_id = ?", params[:user_id], params[:id]) + if user_admin.size > 0 + user_admin.each do |user| + user.destroy + end + end + end + Role.givable.all[3..5] + + if member.member_roles[0].save + status = 0 + end end - - - - + status end end diff --git a/app/services/projects_service.rb b/app/services/projects_service.rb index 8384efc18..a7dc2366b 100644 --- a/app/services/projects_service.rb +++ b/app/services/projects_service.rb @@ -3,30 +3,7 @@ class ProjectsService include ApplicationHelper - # include CoursesHelper - def judge_can_setting(sy,user) - sy[:can_setting] = sy[:user_id] == user.id ? true : false - - sy[:can_setting] = false if sy[:id].nil? - - sy.courses.each do |c| - c[:can_setting] = false - - member = c.members.where("user_id=#{user.id} and course_id=#{c.id}")[0] - roleName = member.roles[0].name if member - - if roleName && (roleName == "TeachingAsistant" || roleName == "Teacher" ) - c[:can_setting] = true - end - - if c.tea_id == user.id - c[:can_setting] = true - end - end - - sy - end #获取指定用户的项目列表 def user_projects(user) projects = user.projects.not_deleted.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updated_at ").order("updated_at desc") @@ -36,103 +13,130 @@ class ProjectsService #显示项目 def show_project(params,current_user) project = Project.find(params[:id]) - # course.generate_invite_code - # course.generate_qrcode + # project.generate_invite_code + # project.generate_qrcode - # unless (course.is_public == 1 || current_user.member_of_course?(course) || current_user.admin?) - # raise '403' - # end - # {:course => course,:work_unit => work_unit, :img_url => url_to_avatar(course),:current_user_is_member => current_user.nil? ? false : current_user.member_of_course?(course),:current_user_is_teacher => current_user.nil? ? false : is_course_teacher(current_user,course),:course_student_num => course ? course.student.count.to_s : 0} project end - def after_create_course(course, user) - #unless User.current.admin? - r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first - m = Member.new(:user => user, :roles => [r]) - m.project_id = -1 - course_info = CourseInfos.new(:user_id => user.id, :course_id => course.id) - #user_grades = UserGrade.create(:user_id => User.current.id, :course_id => @course.id) - course.members << m - course.course_infos << course_info - end - - def send_wechat_create_class_notice user,course - count = ShieldWechatMessage.where("container_type='User' and container_id=#{user.id} and shield_type='Course' and shield_id=#{course.id}").count + def send_wechat_create_project_notice user,project + count = ShieldWechatMessage.where("container_type='User' and container_id=#{user.id} and shield_type='Project' and shield_id=#{project.id}").count if count == 0 ws = WechatService.new - title = "恭喜您创建班级成功。" - ws.create_class_notice user.id, "create_course_notice", course.id,title, course.name, user.show_name, 0, "点击查看班级详情。" + title = "恭喜您创建项目成功。" + ws.create_project_notice user.id, "create_project_notice", project.id,title, project.name, format_time(project.created_on),"点击查看项目详情。" end end - #创建大纲 - # params {title: '大纲名称', [{course}, {course}]} - def create(user, title, courses = []) - sy = Syllabus.new(title: title, user_id: user.id) - ActiveRecord::Base.transaction() do - sy.save! - courses.each do |course| - if ::Course === course - course.syllabus_id = sy.id - course.save! - send_wechat_create_class_notice user,course - elsif Hash === course - c = ::Course.new(course) - c.tea_id = user.id - c.syllabus_id = sy.id - c.update_default_value - c.is_public = 0 - c.save! - after_create_course(c, user) - send_wechat_create_class_notice user,c - end - end - - end - sy[:can_setting] = true - sy - end - - #修改课程大纲的名称、班级名称、新增班级 - def edit(user, option) - courses = [] + def createNewProject params,user status = -1 - syllabus_id = option[:id] + issue_custom_fields = IssueCustomField.sorted.all + trackers = Tracker.sorted.all + project = Project.new - sy = Syllabus.where("id=?",option[:id]).first + project[:name] = params[:name] + project[:description] = '' + project[:is_public] = '1' #公开 + project[:project_type] = 0 + project[:project_new_type] = 1 + project[:identifier] = Project.next_identifier if Setting.sequential_project_identifiers? - if sy && sy.user_id == user.id - syllabus_title = option[:title] + project.organization_id = params[:organization_id] + project.user_id = user.id - sy.title = syllabus_title - sy.save! - #修改班级名称 - modify_courses = option[:modify_courses] - modify_courses.each do |c| - course = Course.where("id=?",c.id).first + # if validate_parent_id && @project.save + if project.save + r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first + m = Member.new(:user => user, :roles => [r]) + # project's score + if ProjectScore.where("project_id=?", project.id).first.nil? + ProjectScore.create(:project_id => project.id, :score => false) + end + # end + project_info = ProjectInfo.new(:user_id => user.id, :project_id => project.id) + user_grades = UserGrade.create(:user_id => user.id, :project_id => project.id) + project_status = ProjectStatus.create(:project_id => project.id, :watchers_count => 0, :changesets_count => 0, :project_type => project.project_type,:grade => 0) + project.members << m + project.project_infos << project_info + status = 0 - if course && course.tea_id == user.id - course.name = c.name - !course.save + send_wechat_create_project_notice user,project + end + status + end + + #修改项目成员角色 + def modify_user_project_role params + status = -1 + + project = Project.find("#{params[:id]}") + + member = project.member_principals.includes(:roles, :principal).where("user_id=?",params[:user_id]).first + + if member + member.member_roles[0].role_id = params[:role_id] + + + role = Role.find(params[:role_id]) + if role.allowed_to?(:is_manager) + projectInfo = ProjectInfo.new(:user_id => member.user_id, :project_id => project.id) + projectInfo.save + else + user_admin = ProjectInfo.where("user_id = ? and project_id = ?", member.user_id, project.id) + if user_admin.size > 0 + user_admin.each do |user| + user.destroy + end end end - #新增班级 - add_courses = option[:add_courses] - add_courses.each do |c| - course = Course.new() - course.name = c - course.tea_id = user.id - course.syllabus_id = sy.id - course.update_default_value - course.is_public = 0 - course.save! - after_create_course(course, user) - send_wechat_create_class_notice user,course + if member.member_roles[0].save + status = 0 end - status = 0 + end + status + end + + class JoinProjectError < Errors + define_error [ + 0, '加入成功', + 1, '您的邀请码不正确', + 2, '您还未登录', + 3, '您已经是该项目的管理人员', + 4, '您已经是该项目的开发人员', + 5, '您已经是该项目的报告人员', + 6, '该项目不存在或已被删除啦', + '未知错误,请稍后再试' + ] + end + + def join_project params,current_user + status = -1 + project = project.find_by_invite_code(params[:invite_code]) if params[:invite_code] + + if project + if project[:is_delete] == 1 + status = 6 + else + if current_user.member_of?(project) #如果已经是成员 + member = project.member_principals.includes(:roles, :principal).where("user_id=?",current_user.id).first + status = member.member_roles[0].role_id + else + if params[:invite_code].present? + members = [] + members << Member.new(:role_ids => [5], :user_id => current_user.id) + project.members << members + projectInfo = ProjectInfo.new(:user_id => current_user.id, :project_id => project.id) + projectInfo.save + status = 0 + else + status = 4 + end + end + end + else + status = 4 end status end diff --git a/app/services/wechat_service.rb b/app/services/wechat_service.rb index 7ac4e99d3..5f52aea49 100644 --- a/app/services/wechat_service.rb +++ b/app/services/wechat_service.rb @@ -323,4 +323,41 @@ class WechatService end end + def create_project_notice(user_id, type, id, first, key1, key2,remark="") + uw = UserWechat.where(user_id: user_id).first + unless uw.nil? + data = { + touser:uw.openid, + template_id:Wechat.config.create_project_notice, + url:"#{Setting.protocol}://#{Setting.host_name}/wechat/user_activities#/project?id="+id.to_s, + topcolor:"#FF0000", + data:{ + first: { + value:first, + color:"#707070" + }, + keyword1:{ + value:key1, + color:"#707070" + }, + keyword2:{ + value:key2, + color:"#707070" + }, + remark:{ + value:remark, + color:"#707070" + } + } + } + #data = three_keys_template uw.openid,Wechat.config.create_class_notice, type, id, first, key1, key2, key3, remark + begin + req = Wechat.api.template_message_send Wechat::Message.to(uw.openid).template(data) + rescue Exception => e + Rails.logger.error "[wechat_create_project_notice] ===> #{e}" + end + Rails.logger.info "send over. #{req}" + end + end + end \ No newline at end of file diff --git a/app/views/wechats/user_activities.html.erb b/app/views/wechats/user_activities.html.erb index d21449648..f5cfb8250 100644 --- a/app/views/wechats/user_activities.html.erb +++ b/app/views/wechats/user_activities.html.erb @@ -18,6 +18,8 @@ window.g_redirect_path = '<%= @path %>'; <% if @course_id %> window.g_courseid = <%= @course_id %>; + <% elsif @project_id %> + window.g_projectid = <%= @project_id %>; <% end %> diff --git a/config/menu.yml.production b/config/menu.yml.production index 1128f9961..fb9ef41a3 100644 --- a/config/menu.yml.production +++ b/config/menu.yml.production @@ -2,18 +2,22 @@ button: - type: "view" name: "我的动态" - url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=http://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=activities#wechat_redirect" + url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=https://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=activities#wechat_redirect" - - name: "我的课程" + name: "我的群组" sub_button: - type: "view" - name: "课程" - url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=http://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=class_list#wechat_redirect" + name: "我的课程" + url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=https://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=class_list#wechat_redirect" + - + type: "click" + name: "我的项目" + url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=https://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=project_list#wechat_redirect" - type: "view" - name: "资源" - url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=http://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=myresource#wechat_redirect" + name: "我的宝库" + url: "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8e1ab05163a28e37&redirect_uri=https://www.trustie.net/wechat/user_activities&response_type=code&scope=snsapi_base&state=myresource#wechat_redirect" - name: "更多" @@ -24,9 +28,13 @@ button: key: "JOIN_CLASS" - type: "click" - name: "反馈" - key: "FEEDBACK" + name: "加入项目" + key: "JOIN_PROJECT" - type: "view" name: "历史推文" url: "http://mp.weixin.qq.com/mp/getmasssendmsg?__biz=MzIwOTM2NDkxMA==#wechat_webview_type=1&wechat_redirect" + - + type: "click" + name: "联系我们" + key: "FEEDBACK" diff --git a/config/wechat.yml.template b/config/wechat.yml.template index b8bf670a1..d9f1b3e97 100644 --- a/config/wechat.yml.template +++ b/config/wechat.yml.template @@ -29,6 +29,7 @@ default: &default homework_message_notice: "tCf7teCVqc2vl2LZ_hppIdWmpg8yLcrI8XifxYePjps" class_notice: "MQ_mFupbXP-9jWbeHT3C5xqNBvPo8EIlNv4ULakSpJA" create_class_notice: "2GtJJGzzNlNy2i0UrsjEDlvfSVIUXQfSo47stpcQAVw" + create_project_notice: "R2ZaQKJfDJgujPcHWPzadKHIRkIyj2CjX2o_qIuRqig" #test # encoding_aes_key: "QyocNOkRmrT5HzBpCG54EVPUQjk86nJapXNVDQm6Yy6" @@ -40,6 +41,7 @@ default: &default # homework_message_notice: "Kom0TsYYKsNKCS6luweYVRo9z-mH0wRPr24b1clGCPQ" # class_notice: "8LVu33l6bP-56SDomVgHn-yJc57YpCwwJ81rAJgRONk" # create_class_notice: "9CDIvHIKiGwPEQWRw_-wieec1o50tMXQPPZIfECKu0I" +# create_project_notice: "R2ZaQKJfDJgujPcHWPzadKHIRkIyj2CjX2o_qIuRqig" production: <<: *default diff --git a/public/assets/wechat/class.html b/public/assets/wechat/class.html index f18235ddc..5b9b71b0d 100644 --- a/public/assets/wechat/class.html +++ b/public/assets/wechat/class.html @@ -31,9 +31,10 @@
授课老师
- {{teacher.name}}{{teacher.role_name|identify}} - 管理员 - + {{teacher.name}} + + 管理员 + 教辅
我的同学
diff --git a/public/assets/wechat/myresource.html b/public/assets/wechat/myresource.html index 90fb13892..e58b1c80c 100644 --- a/public/assets/wechat/myresource.html +++ b/public/assets/wechat/myresource.html @@ -32,15 +32,15 @@

暂无作业,
请登录Trustie网站,在PC浏览器中创建作业。

-
-
{{r.exercise_name}}发送
-
-
-
-
更多
-
-

暂无测验,
- 请登录Trustie网站,在PC浏览器中创建测验。

-
+ + + + + + + + + + diff --git a/public/assets/wechat/project_invite_code.html b/public/assets/wechat/project_invite_code.html new file mode 100644 index 000000000..a17b8fe85 --- /dev/null +++ b/public/assets/wechat/project_invite_code.html @@ -0,0 +1,16 @@ +
+
+
+ +
+
邀请码:{{project.invite_code}}
+
+
+
+ +

+

+
+
\ No newline at end of file diff --git a/public/javascripts/wechat/controllers/myresource.js b/public/javascripts/wechat/controllers/myresource.js index 4ad5c66a7..b5489c065 100644 --- a/public/javascripts/wechat/controllers/myresource.js +++ b/public/javascripts/wechat/controllers/myresource.js @@ -1,6 +1,7 @@ app.controller('MyResourceController', ['$scope', '$http', 'auth', 'config', '$location', 'rms', function($scope, $http, auth, config, $location,rms){ var vm = $scope; - vm.menus = ['课件', '作业', '测验']; +// vm.menus = ['课件', '作业', '测验']; + vm.menus = ['课件', '作业']; vm.resources = []; vm.homeworks = []; diff --git a/public/javascripts/wechat/controllers/project.js b/public/javascripts/wechat/controllers/project.js index 6c97c9efc..3acf0bb6f 100644 --- a/public/javascripts/wechat/controllers/project.js +++ b/public/javascripts/wechat/controllers/project.js @@ -22,6 +22,14 @@ app.controller('ProjectController', ['$scope', 'config','$http','$timeout', 'aut vm.alertService = alertService.create(); + //跳入邀请界面 + vm.invite = function(){ + vm.alertService.showMessage('提示', "该功能暂未开放,敬请期待!"); + + +// $location.path("/project_invite_code").search({id: projectid}); + }; + //获取项目动态 vm.getActivities = function(page){ $http({ diff --git a/public/javascripts/wechat/controllers/project_invite_code.js b/public/javascripts/wechat/controllers/project_invite_code.js new file mode 100644 index 000000000..eb3032650 --- /dev/null +++ b/public/javascripts/wechat/controllers/project_invite_code.js @@ -0,0 +1,34 @@ +/** + * Created by guange on 16/6/22. + */ + + +app.controller('ProjectInviteCodeController', ['$scope','$http', '$routeParams','config','auth', function($scope, $http, $routeParams, config, auth){ + var vm = $scope; + + vm.project = {}; + var projectid = $routeParams.id; + $http.get(config.apiUrl+ 'projects/'+projectid+"?token="+auth.token()).then( + function(response){ + console.log(response.data); + vm.project = response.data.data; + } + ); + + vm.share = function(){ + window.WeixinJSBridge.invoke('sendAppMessage',{ + 'appid': 'wxf694495398c7d470', // 公众号appID + 'type': 'link', // 非必填,music,vido或link,默认为link。 + 'data_url': '', // 非必填,连接地址,如音乐的mp3数据地址,供内置播放器使用 + 'img_url': 'http://pnewsapp.tc.qq.com/newsapp_bt/0/9963967/640', // 缩略图地址 + 'img_height':370, // 缩略图高度 + 'img_width':550, // 缩略图宽度 + 'link':'http://view.inews.qq.com/a/WXN2013101101385701', // 链接地址 + 'desc':'desc', // 描述 + 'title':'title' // 标题 + },function(res){ + //alert(res.err_msg); + }); + } + +}]); diff --git a/public/javascripts/wechat/controllers/send_class_list.js b/public/javascripts/wechat/controllers/send_class_list.js index eee462ee3..bc81cfc08 100644 --- a/public/javascripts/wechat/controllers/send_class_list.js +++ b/public/javascripts/wechat/controllers/send_class_list.js @@ -49,14 +49,20 @@ app.controller('SendClassListController', ['$scope', '$http','$routeParams', 'co var tip = ""; if (vm.myresource_sendIndex == 1){ tip = "课件已发送到目标班级。"; + vm.alertService.showMessage('发送成功', tip, function () { + rms.save('page',0); + rms.save("resources",[]); + rms.save("has_more",false); + window.history.back(); + }); } else if(vm.myresource_sendIndex == 2){ tip = "题目已发送到目标班级的作业列表,但需要您访问Trustie网站设置发布和截止时间,以激活相应作业,谢谢。"; + vm.alertService.showMessage('发送成功', tip, function () { + window.history.back(); + }); } - vm.alertService.showMessage('发送成功', tip, function () { - window.history.back(); - }); } else { vm.alertService.showMessage('发送出错', response.data.message); } diff --git a/public/javascripts/wechat/others/routes.js b/public/javascripts/wechat/others/routes.js index a2b57d7e9..8596ee706 100644 --- a/public/javascripts/wechat/others/routes.js +++ b/public/javascripts/wechat/others/routes.js @@ -42,6 +42,7 @@ app.config(['$routeProvider',"$httpProvider", "$locationProvider",'config', func .when('/project', makeRoute('project.html', 'ProjectController')) .when('/edit_project_member', makeRoute('edit_project_member.html', 'EditProjectMemberController')) .when('/new_project', makeRoute('new_project.html', 'NewProjectController')) + .when('/project_invite_code', {templateUrl: rootPath + 'project_invite_code.html', controller: 'ProjectInviteCodeController'}) .otherwise({ redirectTo: '/activites' });