Jelajahi Sumber

邮箱邀请

zhangjinkun@topnet.net.cn 9 tahun lalu
induk
melakukan
c0fee54041

+ 33 - 8
core/src/qfw/member/credit/creditdetail.go

@@ -4,25 +4,29 @@
 package credit
 
 import (
+	"fmt"
 	"github.com/dchest/captcha"
 	"github.com/go-xweb/xweb"
 	. "gopkg.in/mgo.v2/bson"
+	cu "qfw/coreutil"
 	"qfw/util"
 	cd "qfw/util/credit"
 	"qfw/util/mongodb"
 	"qfw/util/redis"
+	"regexp"
 	"strings"
 	"time"
 )
 
 type credit struct {
 	*xweb.Action
-	myCredit     xweb.Mapper `xweb:"/member/credit/myCredit"`     //我的积分
-	creditRule   xweb.Mapper `xweb:"/member/credit/creditRule"`   //积分规则
-	inCreditAjx  xweb.Mapper `xweb:"/member/credit/inCreditAjx"`  //ajx调用
-	sessionQdAjx xweb.Mapper `xweb:"/member/credit/sessionQdAjx"` //查看签到
-	bookInfo     xweb.Mapper `xweb:"/member/credit/bookinfo"`     //查看连续签到信息
-	creditList   xweb.Mapper `xweb:"/member/credit/creditList"`   //查询积分明细
+	myCredit       xweb.Mapper `xweb:"/member/credit/myCredit"`       //我的积分
+	creditRule     xweb.Mapper `xweb:"/member/credit/creditRule"`     //积分规则
+	inCreditAjx    xweb.Mapper `xweb:"/member/credit/inCreditAjx"`    //ajx调用
+	sessionQdAjx   xweb.Mapper `xweb:"/member/credit/sessionQdAjx"`   //查看签到
+	bookInfo       xweb.Mapper `xweb:"/member/credit/bookinfo"`       //查看连续签到信息
+	creditList     xweb.Mapper `xweb:"/member/credit/creditList"`     //查询积分明细
+	yaoqingByEmail xweb.Mapper `xweb:"/member/credit/yaoqingByEmail"` //邮箱邀请用户
 }
 
 func (c *credit) MyCredit() error {
@@ -183,7 +187,8 @@ func (c *credit) CreditRule() error {
 	return c.Render("/member/credit/creditrule.html")
 }
 
-func (c *credit) YqByemail() error {
+//邮箱邀请用户
+func (c *credit) YaoqingByEmail() error {
 	userId := util.ObjToString(c.GetSession("userId"))
 	result := make(M)
 	var msg string
@@ -192,7 +197,21 @@ func (c *credit) YqByemail() error {
 		if c.GetSession("CheckCodeId") == nil || !captcha.VerifyString(c.GetSession("CheckCodeId").(string), c.GetString("checkCodeId")) {
 			msg = "验证码错误!请重新输入验证码!"
 		} else {
-
+			s_email := c.GetString("s_email")
+			if isEmail(s_email) {
+				nickName := c.GetSession("nickName").(string)
+				//获取二维码随机数
+				wxnum := 0
+				cu.SendMail("invitebyemail", s_email, nickName+":邀请你加入企明星", nickName, fmt.Sprint(wxnum))
+				//邀请记录
+				yqmap := map[string]interface{}{}
+				yqmap["s_uid"] = userId
+				yqmap["s_toemail"] = s_email
+				yqmap["i_wxnum"] = wxnum
+				yqmap["l_date"] = time.Now().Unix()
+				mongodb.Save("invite_log", yqmap)
+				flag = true
+			}
 		}
 	} else {
 		msg = "请登录之后在操作"
@@ -202,3 +221,9 @@ func (c *credit) YqByemail() error {
 	c.ServeJson(result)
 	return nil
 }
+
+//邮箱格式验证
+func isEmail(value string) bool {
+	var emailPattern = regexp.MustCompile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$")
+	return emailPattern.MatchString(value)
+}

+ 2 - 1
core/src/template.json

@@ -1,5 +1,6 @@
 {
     "registe": "您的企明星验证码是%s,请不要将该验证码告诉他人。",
     "findpwd": "您申请找回企明星帐号密码,请点击以下链接以重置密码%s,30分钟后该链接失效,请不要回复该邮件!",
-	"inviteemployee": "%s邀请你加入:<font style='color: #dd4814;'>%s</font><br><br>点击下面的链接,加入:<br>%s,该链接将于%s失效。<br><br><font style='color: #aea79f'>如果无法打开链接,请复制上面的链接粘贴到浏览器的地址栏。</font><br><br>企明星,想了解更多信息,请访问http://www.qimingxing.info。"
+	"inviteemployee": "%s邀请你加入:<font style='color: #dd4814;'>%s</font><br><br>点击下面的链接,加入:<br>%s,该链接将于%s失效。<br><br><font style='color: #aea79f'>如果无法打开链接,请复制上面的链接粘贴到浏览器的地址栏。</font><br><br>企明星,想了解更多信息,请访问http://www.qimingxing.info。",
+	"invitebyemail":"你好:<br>你的朋友%s邀请你加入:<a href='http://www.qimingxing.info' style='color:#0066CC'>企明星</a><br>微信扫码加入:<img align='top'  style='width:150px;height:146px;padding:5px;border:1px' src='http://www.qimingxing.info/xxx/%s'/>"
 }

+ 39 - 4
core/src/web/templates/member/credit/mycredit.html

@@ -319,11 +319,11 @@
 				<span class="modal-title" id="yaoqingModalLabel">邀请</span>
 			</div>
 			<div class="modal-body">
-				<form class="validForm form-horizontal" role="form" method="post">
+				<form class="validForm form-horizontal" role="form" id="yaoqingemail" method="post">
 				<div class="form-group">
 					<span id="col-sm-3" class="col-sm-3 control-label" for="name"><span>*</span>邀请人邮箱 </span>
 					<div class="col-sm-6">
-						<input type="text" name="s_email" class="form-control" maxlength="50"  datatype="*"z  nullmsg="请输入邮箱地址" errormsg="请输入邮箱地址" >
+						<input type="text" name="s_email" id="s_email" class="form-control" maxlength="50"  datatype="e"  nullmsg="请输入邮箱地址" errormsg="请输入邮箱地址" >
 					</div>
 					<div class="col-sm-3">
 					   <span class="Validform_checktip checkCodeIdValid Validform_error"></span>
@@ -355,8 +355,9 @@
 {{include "/common/bottom.html"}}
 
 <script type="text/javascript">
+var validForm=bindValidForm({});
 $(function(){
-	bindValidForm({})
+	
 	$("#c_0,#c_1").click(function(){
 		var _v=$(this).attr("value")
 		checkContent("list_"+_v)
@@ -411,11 +412,45 @@ function toUrl(url){
 	window.location.href=url
 }
 function yaoqing(){
-	alert();
+	if($("#s_email").val()==""){
+		$("#s_email").focus();
+		return;
+	}
+	if($("#chedkcode").val()==""){
+		$("#chedkcode").focus();
+		return;
+	}
+	var formParam = $("#yaoqingemail").serialize();
+	$.ajax({    
+		type: 'post',        
+		url: '/member/credit/yaoqingByEmail',    
+		data: formParam,    
+		cache: false,    
+		dataType: 'json', 
+		success:function(r){
+			if(r&&r.flag){		
+				alert("发送成功!");
+				$("#s_email").val("");
+				$("#chedkcode").val("");
+				reLoadCaptcha("yaoqing_captcha");
+				validForm.resetForm();
+				$("#yaoqingModal").modal('hide');
+			}
+			if(r&&!r.flag){		
+				alert(r.msg);
+				reLoadCaptcha("yaoqing_captcha");
+			}
+			
+		}
+	});
 }
 function reLoadCaptcha(id){
 	document.getElementById(id).src='/tool/captcha?rnd='+Math.random()
 }
+
+$('#yaoqingModal').on('hidden.bs.modal', function () {
+	validForm.resetForm();
+})
 </script>
 </body>
 </html>