/** * * 输出图片 * @param Request $request */ function output(Request $request) { //对传递过来的key 和密码进行检验 $un_key = $request->get("k"); $un_s = $request->get("s"); //进行检测,检查是不是正确 //kv生成流程,创建用户,创建kv,一个用户可以对应多个app,每个app有对应的kv //*模拟创建用户 // $user_id=User::addUser("coder".rand(10,99),"233".rand(100,999)."@qq.com","123456"); //*模拟创建app // $kv=Passport::addAppPassport($user_id); //对传递过来的数据进行验证 $find = Passport::checkPassport($un_key, $un_s); //错误处理,如果是错误的账户密码,返回什么情况 if ($find === false) { //返回错误的json $fail_json = ['type' => 0]; header('Access-Control-Allow-Origin:*'); return response()->json($fail_json); } //随机生成本地cooike保存的字符串进行匹配 $cookie_str = md5(substr(md5(microtime()), 2, 10)); //模拟接收kv $url = 'http://tback.localhost:8080/'; //模拟根据返回相关图片 //随机产生原图路径 $pathToFile = "./asset/pics/" . rand(1, 8) . ".jpg"; //随机产生被裁剪的横坐标和纵坐标 $rand_x = rand(10, 200); $rand_y = rand(10, 150); //根据时间随机生成按钮路径 $crop_img = './pic/afterCrop' . time() . '.jpg'; $ic = new ImageCrop($pathToFile, $crop_img); $ic->Cut(40, 30, $rand_x, $rand_y); $ic->SaveImage(); $ic->destory(); //合成可以提示用户的水印 $save_path = "./pic"; $noic_file = 'wa' . time() . '.jpg'; $notice = new ImageCom(); $water_icon = './asset/pics/water.jpg'; //背景路径 $wa = $notice->img_water_mark($pathToFile, $water_icon, $save_path, $noic_file, 6, 100, $rand_x, $rand_y); //一次请求.返回全部的数据 $result = ['type' => 1, 'r' => $url . $pathToFile, 'w' => $url . $crop_img, 'a' => $url . $wa, 'x' => $rand_x, 'y' => $rand_y, 'c' => $cookie_str]; //添加记录 Record::AddRecord(time(), 0, $find, $pathToFile, $crop_img, $wa, $rand_x, $rand_y, $cookie_str); //能进行跨域调用 header('Access-Control-Allow-Origin:*'); return response()->json($result); }