| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?phpnamespace App\Http\Controllers\Api;use App\Service\Weixin\WeixinService;use App\Service\Weixin\WxEmployeeService;use Illuminate\Http\Request;class WeixinController extends BaseController{    //开发者密码:    /**     * 用于微信token验证,全部通用,前提token都为qingyao     * @param Request $request     * @return void     */    public function weixin(Request $request)    {        file_put_contents('1.txt',json_encode($request->all()));//        die('adsds');//        $data = json_decode('{"signature":"fe04bfbb92a1c073e9f0829d3c4e48e1b40403aa","echostr":"5841396639871246203","timestamp":"1695188315","nonce":"1459788183"}',true);        $data = $request->all();        $signature = $data["signature"];        $timestamp = $data["timestamp"];        $nonce = $data["nonce"];        $token = 'qingyao';        $tmpArr = array($token, $timestamp, $nonce);        sort($tmpArr, SORT_STRING);        $tmpStr = implode( $tmpArr );        $tmpStr = sha1( $tmpStr );//        var_dump($tmpStr);//        var_dump($signature);die;        if( $tmpStr == $signature ){            echo $data['echostr'];die;        }else{            die('fail');        }    }    public function setWebHook(Request $request){        $service = new WeixinService();        list($status,$msg) = $service->setWebHook($request->all());        return $this->json_return($status,$msg,'');    }    /**     * 重定向获取unionid     * @param Request $request     * @return void     */    public function getUnionid(Request $request){        $service = new WeixinService();        $res = $service->getUnionid($request->all());    }    /**     * 获取openid     * @param Request $request     * @return void     */    public function getOpenid(Request $request){        $service = new WeixinService();        list($status,$data) = $service->getOpenid($request->all());        if ($status) {            return $this->json_return(200, '', $data);        } else {            return $this->json_return(201, $data);        }    }    public function setUser(Request $request)    {        $service = new WxEmployeeService();        list($status, $data) = $service->setUser($request->all());        if ($status) {            return $this->json_return(200, '', $data);        } else {            return $this->json_return(201, $data);        }    }    public function login(Request $request)    {        $service = new WxEmployeeService();        list($status, $data) = $service->login($request->all(),$request->header('ciphertext'));        if ($status) {            return $this->json_return(200, '', $data);        } else {            return $this->json_return(201, $data);        }    }}
 |