156 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			156 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace app\manystore\controller\general;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use app\manystore\model\Manystore;
							 | 
						||
| 
								 | 
							
								use app\manystore\model\ManystoreShop;
							 | 
						||
| 
								 | 
							
								use app\common\controller\ManystoreBase;
							 | 
						||
| 
								 | 
							
								use fast\Random;
							 | 
						||
| 
								 | 
							
								use think\Exception;
							 | 
						||
| 
								 | 
							
								use think\Session;
							 | 
						||
| 
								 | 
							
								use think\Url;
							 | 
						||
| 
								 | 
							
								use think\Validate;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 商家信息配置
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @icon fa fa-user
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class Profile extends ManystoreBase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    protected $noNeedLogin = ["miniqrcode"];
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 查看
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function index()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $shopModel = new ManystoreShop();
							 | 
						||
| 
								 | 
							
								        $shop_info = $shopModel->where(array('id'=>SHOP_ID))->find();
							 | 
						||
| 
								 | 
							
								        $this->view->assign('statusList',[0=>'待审核',1=>'审核通过',2=>'审核拒绝']);
							 | 
						||
| 
								 | 
							
								        $this->view->assign('typeList',$shop_info->getTypeList());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->view->assign('shop_info',$shop_info);
							 | 
						||
| 
								 | 
							
								        $this->view->assign('check_full',(new \app\common\model\dyqc\ManystoreShop)->checkFull(SHOP_ID));
							 | 
						||
| 
								 | 
							
								        $this->view->assign('check_full_msg',(new \app\common\model\dyqc\ManystoreShop)->checkFullMsg(SHOP_ID));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								         $this->getCity();
							 | 
						||
| 
								 | 
							
								        $this->view->assign('miniqrcode_link',Url::build("/manystore/general/profile/miniqrcode", ["ids" => SHOP_ID]));
							 | 
						||
| 
								 | 
							
								        return $this->view->fetch();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 更新个人信息
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function update()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        if ($this->request->isPost()) {
							 | 
						||
| 
								 | 
							
								            $this->token();
							 | 
						||
| 
								 | 
							
								            $params = $this->request->post("row/a");
							 | 
						||
| 
								 | 
							
								            $params = array_filter(array_intersect_key(
							 | 
						||
| 
								 | 
							
								                $params,
							 | 
						||
| 
								 | 
							
								                array_flip(array('email', 'nickname', 'password', 'avatar'))
							 | 
						||
| 
								 | 
							
								            ));
							 | 
						||
| 
								 | 
							
								            unset($v);
							 | 
						||
| 
								 | 
							
								            if (!Validate::is($params['email'], "email")) {
							 | 
						||
| 
								 | 
							
								                $this->error(__("Please input correct email"));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								//            if (!Validate::is($params['nickname'], "/^[\x{4e00}-\x{9fa5}a-zA-Z0-9_-]+$/u")) {
							 | 
						||
| 
								 | 
							
								//                $this->error(__("Please input correct nickname"));
							 | 
						||
| 
								 | 
							
								//            }
							 | 
						||
| 
								 | 
							
								            if (isset($params['password'])) {
							 | 
						||
| 
								 | 
							
								                if (!Validate::is($params['password'], "/^[\S]{6,16}$/")) {
							 | 
						||
| 
								 | 
							
								                    $this->error(__("Please input correct password"));
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                $params['salt'] = Random::alnum();
							 | 
						||
| 
								 | 
							
								                $params['password'] = md5(md5($params['password']) . $params['salt']);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $exist = Manystore::where('email', $params['email'])->where('id', '<>', $this->auth->id)->find();
							 | 
						||
| 
								 | 
							
								            if ($exist) {
							 | 
						||
| 
								 | 
							
								                $this->error(__("Email already exists"));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            if ($params) {
							 | 
						||
| 
								 | 
							
								                $manystore = Manystore::get($this->auth->id);
							 | 
						||
| 
								 | 
							
								                $manystore->save($params);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                Session::set("manystore", $manystore->toArray());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                $this->success();
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $this->error();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function shop_update(){
							 | 
						||
| 
								 | 
							
								        if ($this->request->isPost()) {
							 | 
						||
| 
								 | 
							
								            $this->token();
							 | 
						||
| 
								 | 
							
								            $shop = $this->request->post("shop/a");
							 | 
						||
| 
								 | 
							
								            if($shop["address_city"] && !$shop["district"])$this->error("请选择所在城市");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $shopModel = new ManystoreShop();
							 | 
						||
| 
								 | 
							
								            $shopModel->save($shop,array('id'=>SHOP_ID));
							 | 
						||
| 
								 | 
							
								            //调用事件
							 | 
						||
| 
								 | 
							
								            $data = ['shop' => $shopModel];
							 | 
						||
| 
								 | 
							
								            \think\Hook::listen('shop_update_after', $data);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $this->success();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $this->error();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 微信小程序码
							 | 
						||
| 
								 | 
							
								     * @return string
							 | 
						||
| 
								 | 
							
								     * @throws \think\Exception
							 | 
						||
| 
								 | 
							
								     * @throws \think\db\exception\BindParamException
							 | 
						||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						||
| 
								 | 
							
								     * @throws \think\exception\PDOException
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function miniqrcode($ids = ''){
							 | 
						||
| 
								 | 
							
								        $param = $this->request->param();
							 | 
						||
| 
								 | 
							
								        try{
							 | 
						||
| 
								 | 
							
								            if(isset($param['ids']))$ids = $param['ids'];
							 | 
						||
| 
								 | 
							
								            //设置模拟资格
							 | 
						||
| 
								 | 
							
								            $url =  \app\common\model\dyqc\ManystoreShop::getMiniQrcodeLink($ids);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }catch (\Exception $e){
							 | 
						||
| 
								 | 
							
								            $this->error($e->getMessage());
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $url["response"];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 查看微信小程序码
							 | 
						||
| 
								 | 
							
								     * @return string
							 | 
						||
| 
								 | 
							
								     * @throws \think\Exception
							 | 
						||
| 
								 | 
							
								     * @throws \think\db\exception\BindParamException
							 | 
						||
| 
								 | 
							
								     * @throws \think\exception\DbException
							 | 
						||
| 
								 | 
							
								     * @throws \think\exception\PDOException
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function lookminiqrcode($ids = ''){
							 | 
						||
| 
								 | 
							
								        $param = $this->request->param();
							 | 
						||
| 
								 | 
							
								        if($this->request->isPost()){
							 | 
						||
| 
								 | 
							
								            try{
							 | 
						||
| 
								 | 
							
								                if(isset($param['ids']))$ids = $param['ids'];
							 | 
						||
| 
								 | 
							
								                //设置模拟资格
							 | 
						||
| 
								 | 
							
								                $url =  \app\common\model\dyqc\ManystoreShop::getMiniQrcodeLink($ids);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            }catch (\Exception $e){
							 | 
						||
| 
								 | 
							
								                $this->error($e->getMessage());
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $this->success("生成小程序码成功",null,$url);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $row = $this->model->get($ids);
							 | 
						||
| 
								 | 
							
								        $this->view->assign('vo', $row);
							 | 
						||
| 
								 | 
							
								        return $this->view->fetch();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |