VFP開發(fā)公眾號領(lǐng)取優(yōu)惠券,用戶注冊后跳轉(zhuǎn)各種目標(biāo)頁,一套標(biāo)準(zhǔn)流程送給您原創(chuàng) 加菲貓的VFP 加菲貓的VFP 2022-01-12 09:17 最近在給福建某知名超市設(shè)計成優(yōu)惠券系統(tǒng)中,遇到了這樣一個需求。超市系統(tǒng)中會員注冊是依據(jù)手機(jī)號注冊的,那公眾號中發(fā)放優(yōu)惠券系統(tǒng)就需要實現(xiàn)微信ID和手機(jī)號的綁定,然后再跳轉(zhuǎn)到優(yōu)惠券領(lǐng)取頁面。 這里還有一個流程,原來登錄是跳轉(zhuǎn)到會員中心的,現(xiàn)在是要求直接跳轉(zhuǎn)到領(lǐng)取優(yōu)惠券頁面。 流程如下: 流程要實現(xiàn)這個流程在祺佑三層框架(貓框)中也很簡單。 會員中心入口網(wǎng)址 ctl_user.fsp?proc=usercenterhtml Procedure usercenterhtml Local cOpenid,lcCode,url,cTitle *cOpenid=This.ReGetOpenId() &&如果要調(diào)用OPENID 的地方,就要執(zhí)行這個獲取openid cWorkhtml=getwwwRootPath("")+"tmpl\usercenter.html" cReghtml=getwwwRootPath("")+"tmpl\reg.html" cOpenid=HttpQueryParams("openid") If Empty(cOpenid) This.ReGetOpenId() Else *寫入cookie httpSetcookie("openid",cOpenid,Datetime()+2*3600) This.openid=cOpenid Endif *--驗證用戶openid數(shù)據(jù)表是否存在,如若存在即是已綁定 If !Empty(This.openid) oDBSQLhelper=Newobject("MSSQLHelper","MSSQLHelper.prg") TEXT TO lcSQLCmd NOSHOW TEXTMERGE SELECT COUNT(*) FROM wxuser_ck WHERE wxid=?this.openid ENDTEXT nRow=oDBSQLhelper.GetSingle(lcSQLCmd) If Isnull(nRow) And !Empty(oDBSQLhelper.errmsg) Error oDBSQLhelper.errmsg Endif Do Case Case nRow==0 &&沒有記錄,跳轉(zhuǎn)到登錄面 Private lcmyurl lcmyurl="ctl_user.fsp?proc=usercenterhtml&appuser=bluesky" cHtml=FWS_MergeFile(cReghtml) &&需要注冊 Case nRow==1 cHtml=Filetostr(cWorkhtml) &&已注冊,用戶中心頁 Otherwise Error "用戶重復(fù)注冊" Endcase Endif
Return cHtml Endproc
這里面有一句值得關(guān)注lcmyurl,存放了登錄完成之后的跳轉(zhuǎn)URL 登錄頁HTML代碼 <form id="form"> <div class="weui_cells weui_cells_form"> <div class="weui_cell weui_vcode"> <div class="weui_cell_hd"><label class="weui_label"><i class="icon icon-90 f20 query-color"></i> 手機(jī)號</label></div> <div class="weui_cell_bd weui_cell_primary"> <input id="txtphone" class="weui_input" type="tel" required pattern="[0-9]{11}" maxlength="11"placeholder="請輸入手機(jī)號" tips="請輸入手機(jī)號" notMatchTips="請輸入正確的手機(jī)號"> </div> <div class="weui_cell_ft"> <i class="weui_icon_warn"></i> <a id="btnyzm" href="javascript:;" class="weui-vcode-btn query-color">獲取驗證碼</a> </div> </div> <div class="weui_cell"> <div class="weui_cell_hd"><label class="weui_label"><i class="icon icon-71 f20 query-color"></i> 驗證碼</label></div> <div class="weui_cell_bd weui_cell_primary"> <input id="txtyzm" class="weui_input" type="number" required placeholder="請輸入驗證碼" emptyTips="請輸入驗證碼"> </div> <div class="weui_cell_ft"> <i class="weui_icon_warn"></i> </div> </div> </div> <div class="weui_btn_area"> <a id="formSubmitBtn" href="javascript:" class="weui_btn query-bg-color">注 冊</a> </div>
</form>
登錄按鈕綁定click事件 $("#formSubmitBtn").on("click",function(){ var cphone=$("#txtphone").val(); var yzm=$("#txtyzm").val(); $.post("ctl_user.fsp?proc=userbind&appuser=bluesky",{ phone:cphone, code:yzm },function(data){ console.log(data); var odata=JSON.parse(data); if(odata.errno!=0){ $.alert(odata.errmsg); return; } $.alert("綁定成功,開始跳轉(zhuǎn)"); setTimeout(function(){ window.location.href="<%=u(lcmyurl)%>" },3000)
})
})
這樣就可以實現(xiàn)任意的URL,先跳轉(zhuǎn)登錄頁,再跳轉(zhuǎn)目標(biāo)頁的功能了。 我發(fā)現(xiàn)有些狐友的編程水平有高有低,很多沒有經(jīng)過系統(tǒng)學(xué)習(xí),還需要打打基礎(chǔ),這里有本書,可以練習(xí)一下。 現(xiàn)在在貓框的加持下,只用DBF,也可以開發(fā)各種管理應(yīng)用,無論網(wǎng)頁、手機(jī)、還是公眾號、還是小程序。 每日一練做到了,你才能學(xué)會一個真正的技能。
|