You've already forked qlg.tsgz.moe
addons
app_download_files
extend
hyhproject
admin
app
common
home
home2
mobile2
wechat2
behavior
common
conf
controller
Areas.php
Base.php
Brands.php
Carts.php
Cashconfigs.php
Cashdraws.php
Error.php
Favorites.php
Goods.php
Goodsappraises.php
Goodscats.php
Goodsconsult.php
Index.php
Invoices.php
Logmoneys.php
Messages.php
News.php
Ordercomplains.php
Orderrefunds.php
Orders.php
Shops.php
Switchs.php
Unionpays.php
Useraddress.php
Users.php
Userscores.php
Wallets.php
Weixin.php
Weixinpays.php
model
validate
view
.htaccess
command.php
mobile
oss
static
thinkphp
upload
vendor
wxtmp
.gitignore
.htaccess
.user.ini
404.html
H5B854518.wgt
admin.php
app_download.html
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
qlg.tar.gz
reg.lock
robots.txt
373 lines
11 KiB
PHP
Executable File
373 lines
11 KiB
PHP
Executable File
<?php
|
|
namespace wstmart\wechat\controller;
|
|
use wstmart\wechat\model\Users as M;
|
|
use wstmart\wechat\model\Messages;
|
|
use wstmart\common\model\LogSms;
|
|
use wstmart\common\model\Users as MUsers;
|
|
/**
|
|
* ============================================================================
|
|
* 用户控制器
|
|
*/
|
|
class Users extends Base{
|
|
// 前置方法执行列表
|
|
protected $beforeActionList = [
|
|
'checkAuth' => ['except'=>'checklogin,login,register,getverify,getphoneverifycode,checkuserphone']// 访问这些except下的方法不需要执行前置操作
|
|
];
|
|
/**
|
|
* 会员登录页
|
|
*/
|
|
public function login(){
|
|
//如果已经登录了则直接跳去用户中心
|
|
$USER = session('WST_USER');
|
|
if(!empty($USER) && $USER['userId']!=''){
|
|
$this->redirect("users/index");
|
|
}
|
|
$userinfo = session('WST_WX_USERINFO');
|
|
$this->assign('info',$userinfo);
|
|
return $this->fetch('login');
|
|
}
|
|
/**
|
|
* 会员登录
|
|
*/
|
|
public function checkLogin(){
|
|
$m = new M();
|
|
$rs = $m->checkLogin(1);
|
|
$rs['url'] = session('WST_WX_WlADDRESS');
|
|
return $rs;
|
|
}
|
|
/**
|
|
* 会员注册
|
|
*/
|
|
public function register(){
|
|
$m = new M();
|
|
$rs = $m->regist(1);
|
|
$rs['url'] = session('WST_WX_WlADDRESS');
|
|
return $rs;
|
|
}
|
|
|
|
/**
|
|
* 手机号码是否存在
|
|
*/
|
|
public function checkUserPhone(){
|
|
$userPhone = input("post.userPhone");
|
|
$m = new M();
|
|
$rs = $m->checkUserPhone($userPhone,(int)session('WST_USER.userId'));
|
|
if($rs["status"]!=1){
|
|
return WSTReturn("手机号已注册",-1);
|
|
}else{
|
|
return WSTReturn("",1);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取验证码
|
|
*/
|
|
public function getPhoneVerifyCode(){
|
|
$userPhone = input("post.userPhone");
|
|
$rs = array();
|
|
if(!WSTIsPhone($userPhone)){
|
|
return WSTReturn("手机号格式不正确!");
|
|
exit();
|
|
}
|
|
$m = new M();
|
|
$rs = $m->checkUserPhone($userPhone,(int)session('WST_USER.userId'));
|
|
if($rs["status"]!=1){
|
|
return WSTReturn("手机号已存在!");
|
|
exit();
|
|
}
|
|
$phoneVerify = rand(100000,999999);
|
|
$tpl = WSTMsgTemplates('PHONE_USER_REGISTER_VERFIY');
|
|
if($tpl['tplContent']!='' && $tpl['status']=='1'){
|
|
$params = ['tpl'=>$tpl,'params'=>['MALL_NAME'=>WSTConf("CONF.mallName"),'VERFIY_CODE'=>$phoneVerify,'VERFIY_TIME'=>10]];
|
|
$m = new LogSms();
|
|
$rv = $m->sendSMS(0,$userPhone,$params,'getPhoneVerifyCode',$phoneVerify);
|
|
}
|
|
if($rv['status']==1){
|
|
session('VerifyCode_userPhone',$phoneVerify);
|
|
session('VerifyCode_userPhone_Time',time());
|
|
}
|
|
return $rv;
|
|
}
|
|
/**
|
|
* 会员中心
|
|
*/
|
|
public function index(){
|
|
$userId = session('WST_USER.userId');
|
|
$m = new M();
|
|
$user = $m->getById($userId);
|
|
if($user['userName']=='')$user['userName']=$user['loginName'];
|
|
$this->assign('user', $user);
|
|
//商城未读消息的数量 及 各订单状态数量
|
|
$data = model('index')->getSysMsg('msg','order','follow','history');
|
|
$this->assign('data',$data);
|
|
if(WSTConf('CONF.wxenabled')==1){
|
|
$we = WSTWechat();
|
|
$datawx = $we->getJsSignature('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
|
|
$this->assign("datawx", $datawx);
|
|
}
|
|
return $this->fetch('users/index');
|
|
}
|
|
|
|
/**
|
|
* 个人信息
|
|
*/
|
|
public function edit(){
|
|
$userId = session('WST_USER.userId');
|
|
$m = new M();
|
|
$user = $m->getById($userId);
|
|
$this->assign('user', $user);
|
|
return $this->fetch('users/edit');
|
|
}
|
|
/**
|
|
* 编辑个人信息
|
|
*/
|
|
public function editUserInfo(){
|
|
$m = new M();
|
|
return $m->edit();
|
|
}
|
|
/**
|
|
* 账户安全
|
|
*/
|
|
public function security(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$payPwd = $user['payPwd'];
|
|
$userPhone = $user['userPhone'];
|
|
$loginPwd = $user['loginPwd'];
|
|
$user['loginPwd'] = empty($loginPwd)?0:1;
|
|
$user['payPwd'] = empty($payPwd)?0:1;
|
|
$user['userPhone'] = empty($userPhone)?0:1;
|
|
$this->assign('user', $user);
|
|
session('Edit_userPhone_Time', null);
|
|
return $this->fetch('users/security/index');
|
|
}
|
|
/**
|
|
* 修改登录密码
|
|
*/
|
|
public function editLoginPass(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$loginPwd = $user['loginPwd'];
|
|
$user['loginPwd'] = empty($loginPwd)?0:1;
|
|
$this->assign('user', $user);
|
|
return $this->fetch('users/security/user_login_pass');
|
|
}
|
|
public function editloginPwd(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
return $m->editPass($userId);
|
|
}
|
|
/**
|
|
* 修改支付密码
|
|
*/
|
|
public function editPayPass(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$payPwd = $user['payPwd'];
|
|
$user['payPwd'] = empty($payPwd)?0:1;
|
|
$this->assign('user', $user);
|
|
return $this->fetch('users/security/user_pay_pass');
|
|
}
|
|
public function editpayPwd(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
return $m->editPayPass($userId);
|
|
}
|
|
/**
|
|
* 忘记支付密码
|
|
*/
|
|
public function backPayPass(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$userPhone = $user['userPhone'];
|
|
$user['userPhone'] = WSTStrReplace($user['userPhone'],'*',3);
|
|
$user['phoneType'] = empty($userPhone)?0:1;
|
|
$backType = (int)session('Type_backPaypwd');
|
|
$timeVerify = session('Verify_backPaypwd_Time');
|
|
$user['backType'] = ($backType==1 && time()<floatval($timeVerify)+10*60)?1:0;
|
|
$this->assign('user', $user);
|
|
return $this->fetch('users/security/user_back_paypwd');
|
|
}
|
|
/**
|
|
* 忘记支付密码:发送短信
|
|
*/
|
|
public function backpayCode(){
|
|
$m = new MUsers();
|
|
$data = $m->getById(session('WST_USER.userId'));
|
|
$userPhone = $data['userPhone'];
|
|
$phoneVerify = rand(100000,999999);
|
|
$rv = ['status'=>-1,'msg'=>'短信发送失败'];
|
|
$tpl = WSTMsgTemplates('PHONE_FOTGET_PAY');
|
|
if($tpl['tplContent']!='' && $tpl['status']=='1'){
|
|
$params = ['tpl'=>$tpl,'params'=>['LOGIN_NAME'=>$data['loginName'],'VERFIY_CODE'=>$phoneVerify,'VERFIY_TIME'=>10]];
|
|
$m = new LogSms();
|
|
$rv = $m->sendSMS(0,$userPhone,$params,'getPhoneVerifyt',$phoneVerify);
|
|
}
|
|
if($rv['status']==1){
|
|
$USER = [];
|
|
$USER['userPhone'] = $userPhone;
|
|
$USER['phoneVerify'] = $phoneVerify;
|
|
session('Verify_backPaypwd_info',$USER);
|
|
session('Verify_backPaypwd_Time',time());
|
|
return WSTReturn('短信发送成功!',1);
|
|
}
|
|
return $rv;
|
|
}
|
|
/**
|
|
* 忘记支付密码:验证短信
|
|
*/
|
|
public function verifybackPay(){
|
|
$phoneVerify = input("post.phoneCode");
|
|
$timeVerify = session('Verify_backPaypwd_Time');
|
|
if(!session('Verify_backPaypwd_info.phoneVerify') || time()>floatval($timeVerify)+10*60){
|
|
return WSTReturn("校验码已失效,请重新发送!");
|
|
exit();
|
|
}
|
|
if($phoneVerify==session('Verify_backPaypwd_info.phoneVerify')){
|
|
session('Type_backPaypwd',1);
|
|
return WSTReturn("验证成功",1);
|
|
}
|
|
return WSTReturn("校验码不一致,请重新输入!");
|
|
}
|
|
/**
|
|
* 忘记支付密码:重置密码
|
|
*/
|
|
public function resetbackPay(){
|
|
$m = new M();
|
|
return $m->resetbackPay();
|
|
}
|
|
/**
|
|
* 修改手机
|
|
*/
|
|
public function editPhone(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$userPhone = $user['userPhone'];
|
|
$user['userPhone'] = WSTStrReplace($user['userPhone'],'*',3);
|
|
$user['phoneType'] = empty($userPhone)?0:1;
|
|
$this->assign('user', $user);
|
|
session('Edit_userPhone_Time', null);
|
|
return $this->fetch('users/security/user_phone');
|
|
}
|
|
/**
|
|
* 绑定手机:发送短信验证码
|
|
*/
|
|
public function sendCodeTie(){
|
|
$userPhone = input("post.userPhone");
|
|
if(!WSTIsPhone($userPhone)){
|
|
return WSTReturn("手机号格式不正确!");
|
|
exit();
|
|
}
|
|
$rs = array();
|
|
$m = new MUsers();
|
|
$rs = WSTCheckLoginKey($userPhone,(int)session('WST_USER.userId'));
|
|
if($rs["status"]!=1){
|
|
return WSTReturn("手机号已存在!");
|
|
exit();
|
|
}
|
|
$data = $m->getById(session('WST_USER.userId'));
|
|
$phoneVerify = rand(100000,999999);
|
|
$rv = ['status'=>-1,'msg'=>'短信发送失败'];
|
|
$tpl = WSTMsgTemplates('PHONE_BIND');
|
|
if($tpl['tplContent']!='' && $tpl['status']=='1'){
|
|
$params = ['tpl'=>$tpl,'params'=>['LOGIN_NAME'=>$data['loginName'],'VERFIY_CODE'=>$phoneVerify,'VERFIY_TIME'=>10]];
|
|
$m = new LogSms();
|
|
$rv = $m->sendSMS(0,$userPhone,$params,'sendCodeTie',$phoneVerify);
|
|
}
|
|
if($rv['status']==1){
|
|
$USER = [];
|
|
$USER['userPhone'] = $userPhone;
|
|
$USER['phoneVerify'] = $phoneVerify;
|
|
session('Verify_info',$USER);
|
|
session('Verify_userPhone_Time',time());
|
|
return WSTReturn('短信发送成功!',1);
|
|
}
|
|
return $rv;
|
|
}
|
|
/**
|
|
* 绑定手机
|
|
*/
|
|
public function phoneEdit(){
|
|
$phoneVerify = input("post.phoneCode");
|
|
$timeVerify = session('Verify_userPhone_Time');
|
|
if(!session('Verify_info.phoneVerify') || time()>floatval($timeVerify)+10*60){
|
|
return WSTReturn("校验码已失效,请重新发送!");
|
|
exit();
|
|
}
|
|
if($phoneVerify==session('Verify_info.phoneVerify')){
|
|
$m = new M();
|
|
$rs = $m->editPhone((int)session('WST_USER.userId'),session('Verify_info.userPhone'));
|
|
return $rs;
|
|
}
|
|
return WSTReturn("校验码不一致,请重新输入!");
|
|
}
|
|
/**
|
|
* 修改手机:发送短信验证码
|
|
*/
|
|
public function sendCodeEdit(){
|
|
$m = new MUsers();
|
|
$data = $m->getById(session('WST_USER.userId'));
|
|
$userPhone = $data['userPhone'];
|
|
$phoneVerify = rand(100000,999999);
|
|
$rv = ['status'=>-1,'msg'=>'短信发送失败'];
|
|
$tpl = WSTMsgTemplates('PHONE_EDIT');
|
|
if($tpl['tplContent']!='' && $tpl['status']=='1'){
|
|
$params = ['tpl'=>$tpl,'params'=>['LOGIN_NAME'=>$data['loginName'],'VERFIY_CODE'=>$phoneVerify,'VERFIY_TIME'=>10]];
|
|
$m = new LogSms();
|
|
$rv = $m->sendSMS(0,$userPhone,$params,'getPhoneVerifyt',$phoneVerify);
|
|
}
|
|
if($rv['status']==1){
|
|
$USER = [];
|
|
$USER['userPhone'] = $userPhone;
|
|
$USER['phoneVerify'] = $phoneVerify;
|
|
session('Verify_info2',$USER);
|
|
session('Verify_userPhone_Time2',time());
|
|
return WSTReturn('短信发送成功!',1);
|
|
}
|
|
return $rv;
|
|
}
|
|
/**
|
|
* 修改手机
|
|
*/
|
|
public function phoneEdito(){
|
|
$phoneVerify = input("post.phoneCode");
|
|
$timeVerify = session('Verify_userPhone_Time2');
|
|
if(!session('Verify_info2.phoneVerify') || time()>floatval($timeVerify)+10*60){
|
|
return WSTReturn("校验码已失效,请重新发送!");
|
|
exit();
|
|
}
|
|
if($phoneVerify==session('Verify_info2.phoneVerify')){
|
|
session('Edit_userPhone_Time',time());
|
|
return WSTReturn("验证成功",1);
|
|
//return $rs;
|
|
}
|
|
return WSTReturn("校验码不一致,请重新输入!");
|
|
}
|
|
public function editPhoneo(){
|
|
$m = new M();
|
|
$userId = (int)session('WST_USER.userId');
|
|
$user = $m->getById($userId);
|
|
$userPhone = $user['userPhone'];
|
|
$user['userPhone'] = WSTStrReplace($user['userPhone'],'*',3);
|
|
$timeVerify = session('Edit_userPhone_Time');
|
|
if(time()>floatval($timeVerify)+15*60){
|
|
$user['phoneType'] = 1;
|
|
}else{
|
|
$user['phoneType'] = 0;
|
|
}
|
|
$this->assign('user', $user);
|
|
return $this->fetch('users/security/user_phone');
|
|
}
|
|
public function userSet(){
|
|
return $this->fetch('users/userset/list');
|
|
}
|
|
public function aboutUs(){
|
|
return $this->fetch('users/userset/about');
|
|
}
|
|
}
|