chore: 添加缺失的静态资源文件
添加多个前端界面所需的图片、字体、音频等静态资源文件,包括: - 管理员后台的图标、背景图、组件图片 - 移动端页面的商品图片、用户中心图片、活动图标 - 第三方库的示例图片和字体文件 - 浏览器兼容性配置文件 - 图标字体文件(eot、ttf、woff、woff2格式) 这些资源是前端界面正常显示所必需的,之前可能因版本控制忽略或遗漏而缺失。
This commit is contained in:
82
vendor/fastknife/ajcaptcha/test/BlockPuzzleController.php
vendored
Normal file
82
vendor/fastknife/ajcaptcha/test/BlockPuzzleController.php
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
use \Fastknife\Service\BlockPuzzleCaptchaService;
|
||||
|
||||
class BlockPuzzleController
|
||||
{
|
||||
public function get(){
|
||||
$config = require '../src/config.php';
|
||||
$service = new BlockPuzzleCaptchaService($config);
|
||||
$data = $service->get();
|
||||
echo json_encode([
|
||||
'error' => false,
|
||||
'repCode' => '0000',
|
||||
'repData' => $data,
|
||||
'repMsg' => null,
|
||||
'success' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 一次验证
|
||||
*/
|
||||
public function check()
|
||||
{
|
||||
$config = require '../src/config.php';
|
||||
$service = new BlockPuzzleCaptchaService($config);
|
||||
$data = $_REQUEST;
|
||||
$msg = null;
|
||||
$error = false;
|
||||
$repCode = '0000';
|
||||
try {
|
||||
$service->check($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
$msg = $e->getMessage();
|
||||
$error = true;
|
||||
$repCode = '6111';
|
||||
}
|
||||
echo json_encode([
|
||||
'error' => $error,
|
||||
'repCode' => $repCode,
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => ! $error,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次验证
|
||||
*/
|
||||
public function verification()
|
||||
{
|
||||
$config = require '../src/config.php';
|
||||
$service = new BlockPuzzleCaptchaService($config);
|
||||
$data = $_REQUEST;
|
||||
$msg = null;
|
||||
$error = false;
|
||||
$repCode = '0000';
|
||||
|
||||
try {
|
||||
if(isset($data['captchaVerification'])){
|
||||
$service->verificationByEncryptCode($data['captchaVerification']);
|
||||
}else if (isset($data['token']) && isset($data['pointJson'])){
|
||||
$service->verification($data['token'], $data['pointJson']);
|
||||
} else {
|
||||
throw new \Exception('参数错误!');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$msg = $e->getMessage();
|
||||
$error = true;
|
||||
$repCode = '6111';
|
||||
}
|
||||
echo json_encode([
|
||||
'error' => $error,
|
||||
'repCode' => $repCode,
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => ! $error,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
90
vendor/fastknife/ajcaptcha/test/ClickWordController.php
vendored
Normal file
90
vendor/fastknife/ajcaptcha/test/ClickWordController.php
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use Fastknife\Utils\RandomUtils;
|
||||
use Fastknife\Service\ClickWordCaptchaService;
|
||||
|
||||
class ClickWordController
|
||||
{
|
||||
public function get()
|
||||
{
|
||||
$config = require '../src/config.php';
|
||||
$service = new ClickWordCaptchaService($config);
|
||||
$data = $service->get();
|
||||
echo json_encode([
|
||||
'error' => false,
|
||||
'repCode' => '0000',
|
||||
'repData' => $data,
|
||||
'repMsg' => null,
|
||||
'success' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 一次验证
|
||||
*/
|
||||
public function check()
|
||||
{
|
||||
$config = require '../src/config.php';
|
||||
$service = new ClickWordCaptchaService($config);
|
||||
$data = $_REQUEST;
|
||||
$msg = null;
|
||||
$error = false;
|
||||
$repCode = '0000';
|
||||
try {
|
||||
$service->check($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
$msg = $e->getMessage();
|
||||
$error = true;
|
||||
$repCode = '6111';
|
||||
}
|
||||
echo json_encode([
|
||||
'error' => $error,
|
||||
'repCode' => $repCode,
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => ! $error,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次验证
|
||||
*/
|
||||
public function verification()
|
||||
{
|
||||
$config = require '../src/config.php';
|
||||
$service = new ClickWordCaptchaService($config);
|
||||
$data = $_REQUEST;
|
||||
$msg = null;
|
||||
$error = false;
|
||||
$repCode = '0000';
|
||||
try {
|
||||
if(isset($data['captchaVerification'])){
|
||||
$service->verificationByEncryptCode($data['captchaVerification']);
|
||||
}else if (isset($data['token']) && isset($data['pointJson'])){
|
||||
$service->verification($data['token'], $data['pointJson']);
|
||||
} else {
|
||||
throw new \Exception('参数错误!');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$msg = $e->getMessage();
|
||||
$error = true;
|
||||
$repCode = '6111';
|
||||
}
|
||||
echo json_encode([
|
||||
'error' => $error,
|
||||
'repCode' => $repCode,
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => ! $error,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
16
vendor/fastknife/ajcaptcha/test/autoload.php
vendored
Normal file
16
vendor/fastknife/ajcaptcha/test/autoload.php
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
(function () {
|
||||
foreach ([
|
||||
'vendor/autoload.php',
|
||||
'../vendor/autoload.php',
|
||||
'../../vendor/autoload.php',
|
||||
'../../../vendor/autoload.php',
|
||||
'../../../../vendor/autoload.php'
|
||||
] as $file) {
|
||||
if (is_file($file)) {
|
||||
/** @noinspection PhpIncludeInspection */
|
||||
include $file;
|
||||
}
|
||||
}
|
||||
})();
|
||||
18
vendor/fastknife/ajcaptcha/test/check.php
vendored
Normal file
18
vendor/fastknife/ajcaptcha/test/check.php
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'autoload.php';
|
||||
|
||||
$captchaType = @$_REQUEST['captchaType'];
|
||||
|
||||
if (!in_array($captchaType, ['clickWord', 'blockPuzzle'])) {
|
||||
throw new Exception('缺少参数:captchaType');
|
||||
}
|
||||
|
||||
$controllerName = ucfirst($captchaType) . 'Controller';
|
||||
|
||||
require $controllerName . '.php';
|
||||
|
||||
$controller = new $controllerName;
|
||||
|
||||
$controller->check();
|
||||
18
vendor/fastknife/ajcaptcha/test/get.php
vendored
Normal file
18
vendor/fastknife/ajcaptcha/test/get.php
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'autoload.php';
|
||||
|
||||
|
||||
$captchaType = @$_REQUEST['captchaType'];
|
||||
if (!in_array($captchaType, ['clickWord', 'blockPuzzle'])) {
|
||||
throw new Exception('缺少参数:captchaType');
|
||||
}
|
||||
|
||||
$controllerName = ucfirst($captchaType) . 'Controller';
|
||||
|
||||
require $controllerName . '.php';
|
||||
|
||||
$controller = new $controllerName;
|
||||
|
||||
$controller->get();
|
||||
106
vendor/fastknife/ajcaptcha/test/laravel/IndexController.php
vendored
Normal file
106
vendor/fastknife/ajcaptcha/test/laravel/IndexController.php
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Fastknife\Exception\ParamException;
|
||||
use Fastknife\Service\BlockPuzzleCaptchaService;
|
||||
use Fastknife\Service\ClickWordCaptchaService;
|
||||
use Fastknife\Service\Service;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
|
||||
class IndexController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
try {
|
||||
$service = $this->getCaptchaService();
|
||||
$data = $service->get();
|
||||
} catch (\Exception $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
return $this->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 一次验证
|
||||
* @return array
|
||||
*/
|
||||
public function check()
|
||||
{
|
||||
try {
|
||||
$data = $this->validate();
|
||||
$service = $this->getCaptchaService();
|
||||
$service->check($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
return $this->success([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次验证
|
||||
* @return array
|
||||
*/
|
||||
public function verification()
|
||||
{
|
||||
try {
|
||||
$data = $this->validate();
|
||||
$service = $this->getCaptchaService();
|
||||
$service->verification($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
return $this->error($e->getMessage());
|
||||
}
|
||||
return $this->success([]);
|
||||
}
|
||||
|
||||
protected function getCaptchaService()
|
||||
{
|
||||
$captchaType = request()->post('captchaType', null);
|
||||
$config = config('captcha');
|
||||
switch ($captchaType) {
|
||||
case "clickWord":
|
||||
$service = new ClickWordCaptchaService($config);
|
||||
break;
|
||||
case "blockPuzzle":
|
||||
$service = new BlockPuzzleCaptchaService($config);
|
||||
break;
|
||||
default:
|
||||
throw new ParamException('captchaType参数不正确!');
|
||||
}
|
||||
return $service;
|
||||
}
|
||||
|
||||
protected function validate()
|
||||
{
|
||||
return Request::instance()->validate([
|
||||
'token' => 'bail|required',
|
||||
'pointJson' => 'required',
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
protected function success($data)
|
||||
{
|
||||
return [
|
||||
'error' => false,
|
||||
'repCode' => '0000',
|
||||
'repData' => $data,
|
||||
'repMsg' => null,
|
||||
'success' => true,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
protected function error($msg)
|
||||
{
|
||||
return [
|
||||
'error' => true,
|
||||
'repCode' => '6111',
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => false,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
33
vendor/fastknife/ajcaptcha/test/laravel/captcha.php
vendored
Normal file
33
vendor/fastknife/ajcaptcha/test/laravel/captcha.php
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* 请将该文件放置于config目录
|
||||
*/
|
||||
return [
|
||||
'font_file' => '', //自定义字体包路径, 不填使用默认值
|
||||
//文字验证码
|
||||
'click_world' => [
|
||||
'backgrounds' => []
|
||||
],
|
||||
//滑动验证码
|
||||
'block_puzzle' => [
|
||||
'backgrounds' => [], //背景图片路径, 不填使用默认值
|
||||
'templates' => [], //模板图
|
||||
'offset' => 10, //容错偏移量
|
||||
],
|
||||
//水印
|
||||
'watermark' => [
|
||||
'fontsize' => 12,
|
||||
'color' => '#ffffff',
|
||||
'text' => '我的水印'
|
||||
],
|
||||
'cache' => [
|
||||
'constructor' => [\Illuminate\Support\Facades\Cache::class, 'store'],
|
||||
'method' => [
|
||||
'get' => 'get', //获取
|
||||
'set' => 'set', //设置
|
||||
'delete' => 'delete',//删除
|
||||
'has' => 'has' //key是否存在
|
||||
]
|
||||
]
|
||||
];
|
||||
3
vendor/fastknife/ajcaptcha/test/readme.md
vendored
Normal file
3
vendor/fastknife/ajcaptcha/test/readme.md
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
#### 这个是一个demo测试目录。
|
||||
* 当前目录下的php文件是不基于任何框架的demo
|
||||
* thinkphp 目录是基于thinkphp框架的demo
|
||||
22
vendor/fastknife/ajcaptcha/test/testAes.php
vendored
Normal file
22
vendor/fastknife/ajcaptcha/test/testAes.php
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
require "autoload.php";
|
||||
use \Fastknife\Utils\AesUtils;
|
||||
$key = "oc7ygju8xf03ov4ttd5ito7qnuapyp6s";
|
||||
$point = [
|
||||
['x' => 135, 'y' => 58],
|
||||
['x' => 82, 'y' => 72],
|
||||
['x' => 56, 'y' => 112]
|
||||
];
|
||||
$point = json_encode($point);
|
||||
//[{"x":135,"y":58},{"x":82,"y":72},{"x":56,"y":112}]
|
||||
//var_dump();
|
||||
//print_r(AesUtils::encrypt($point,$key));
|
||||
//php w2GGF3+0q0K0AdTysBEKynRo9hXBbXBPUZU1GPWJKlM4SwtrbmV17CFcTq/T53Kvlk0FWSbFzfCC1NuAA6wsmw==
|
||||
//js FOl3kz52f4xptJ/Zf7MoZYQmYa7C1pjQaWP8QqhcX8FH43SvpCBPhaSqqMbE8D55ufhgjBVor01UZRH3uE6DNw==
|
||||
|
||||
|
||||
|
||||
|
||||
//js +5s4V1MeDYk1jpvfwJACJA==
|
||||
//php C01B0oArq8aMhlMmSdRbDA==
|
||||
21
vendor/fastknife/ajcaptcha/test/testCache.php
vendored
Normal file
21
vendor/fastknife/ajcaptcha/test/testCache.php
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
use Fastknife\Domain\Logic\Cache;
|
||||
|
||||
include '../src/Domain/Logic/Cache.php';
|
||||
include '../src/Utils/CacheUtils.php';
|
||||
|
||||
$config = include '../src/config.php';
|
||||
|
||||
$cacheEntity = new Cache($config['cache']);
|
||||
|
||||
var_dump($cacheEntity->get('haha'));
|
||||
|
||||
$cacheEntity->set('haha', 1, 60);
|
||||
|
||||
var_dump($cacheEntity->has('haha'));
|
||||
|
||||
var_dump($cacheEntity->get('haha'));
|
||||
|
||||
$cacheEntity->delete('haha');
|
||||
|
||||
var_dump($cacheEntity->get('haha'));
|
||||
28
vendor/fastknife/ajcaptcha/test/testImage.php
vendored
Normal file
28
vendor/fastknife/ajcaptcha/test/testImage.php
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use Fastknife\Domain\Factory;
|
||||
|
||||
require 'autoload.php';
|
||||
|
||||
$config = require '../src/config.php';
|
||||
|
||||
|
||||
function showBlock()
|
||||
{
|
||||
global $config;
|
||||
$factory = new Factory($config);
|
||||
$blockImage = $factory->makeBlockImage();
|
||||
$blockImage->run();
|
||||
$blockImage->echo();
|
||||
}
|
||||
|
||||
function showWord()
|
||||
{
|
||||
global $config;
|
||||
$factory = new Factory($config);
|
||||
$blockImage = $factory->makeWordImage();
|
||||
$blockImage->run();
|
||||
$blockImage->echo();
|
||||
}
|
||||
|
||||
showWord();
|
||||
116
vendor/fastknife/ajcaptcha/test/thinkphp/Index.php
vendored
Normal file
116
vendor/fastknife/ajcaptcha/test/thinkphp/Index.php
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
namespace app\controller;
|
||||
|
||||
use Fastknife\Exception\ParamException;
|
||||
use Fastknife\Service\ClickWordCaptchaService;
|
||||
use Fastknife\Service\BlockPuzzleCaptchaService;
|
||||
use Fastknife\Service\Service;
|
||||
use think\exception\HttpResponseException;
|
||||
use think\facade\Validate;
|
||||
use think\Response;
|
||||
|
||||
/**
|
||||
* 该文件位于controller目录下
|
||||
* Class Index
|
||||
* @package app\controller
|
||||
*/
|
||||
class Index
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
try {
|
||||
$service = $this->getCaptchaService();
|
||||
$data = $service->get();
|
||||
} catch (\Exception $e) {
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
$this->success($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 一次验证
|
||||
*/
|
||||
public function check()
|
||||
{
|
||||
$data = request()->post();
|
||||
try {
|
||||
$this->validate($data);
|
||||
$service = $this->getCaptchaService();
|
||||
$service->check($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
$this->success([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次验证
|
||||
*/
|
||||
public function verification()
|
||||
{
|
||||
$data = request()->post();
|
||||
try {
|
||||
$this->validate($data);
|
||||
$service = $this->getCaptchaService();
|
||||
$service->verification($data['token'], $data['pointJson']);
|
||||
} catch (\Exception $e) {
|
||||
$this->error($e->getMessage());
|
||||
}
|
||||
$this->success([]);
|
||||
}
|
||||
|
||||
protected function getCaptchaService()
|
||||
{
|
||||
$captchaType = request()->post('captchaType', null);
|
||||
$config = config('captcha');
|
||||
switch ($captchaType) {
|
||||
case "clickWord":
|
||||
$service = new ClickWordCaptchaService($config);
|
||||
break;
|
||||
case "blockPuzzle":
|
||||
$service = new BlockPuzzleCaptchaService($config);
|
||||
break;
|
||||
default:
|
||||
throw new ParamException('captchaType参数不正确!');
|
||||
}
|
||||
return $service;
|
||||
}
|
||||
|
||||
protected function validate($data)
|
||||
{
|
||||
$rules = [
|
||||
'token' => ['require'],
|
||||
'pointJson' => ['require']
|
||||
];
|
||||
$validate = Validate::rule($rules)->failException(true);
|
||||
$validate->check($data);
|
||||
}
|
||||
|
||||
protected function success($data)
|
||||
{
|
||||
$response = [
|
||||
'error' => false,
|
||||
'repCode' => '0000',
|
||||
'repData' => $data,
|
||||
'repMsg' => null,
|
||||
'success' => true,
|
||||
];
|
||||
throw new HttpResponseException(Response::create($response, 'json'));
|
||||
}
|
||||
|
||||
|
||||
protected function error($msg)
|
||||
{
|
||||
$response = [
|
||||
'error' => true,
|
||||
'repCode' => '6111',
|
||||
'repData' => null,
|
||||
'repMsg' => $msg,
|
||||
'success' => false,
|
||||
];
|
||||
throw new HttpResponseException(Response::create($response, 'json'));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
27
vendor/fastknife/ajcaptcha/test/thinkphp/captcha.php
vendored
Normal file
27
vendor/fastknife/ajcaptcha/test/thinkphp/captcha.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* 请将该文件放置于config目录
|
||||
*/
|
||||
return [
|
||||
'font_file' => '', //自定义字体包路径, 不填使用默认值
|
||||
//文字验证码
|
||||
'click_world' => [
|
||||
'backgrounds' => []
|
||||
],
|
||||
//滑动验证码
|
||||
'block_puzzle' => [
|
||||
'backgrounds' => [], //背景图片路径, 不填使用默认值
|
||||
'templates' => [], //模板图
|
||||
'offset' => 10, //容错偏移量
|
||||
],
|
||||
//水印
|
||||
'watermark' => [
|
||||
'fontsize' => 12,
|
||||
'color' => '#ffffff',
|
||||
'text' => '我的水印'
|
||||
],
|
||||
'cache' => [
|
||||
'constructor' => [\think\facade\Cache::class, 'instance']
|
||||
]
|
||||
];
|
||||
19
vendor/fastknife/ajcaptcha/test/verification.php
vendored
Normal file
19
vendor/fastknife/ajcaptcha/test/verification.php
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require 'autoload.php';
|
||||
|
||||
$captchaType = @$_REQUEST['captchaType'];
|
||||
|
||||
if (!in_array($captchaType, ['clickWord', 'blockPuzzle'])) {
|
||||
throw new Exception('缺少参数:captchaType');
|
||||
}
|
||||
|
||||
$controllerName = ucfirst($captchaType) . 'Controller';
|
||||
|
||||
require $controllerName . '.php';
|
||||
|
||||
$controller = new $controllerName;
|
||||
|
||||
$controller->verification();
|
||||
Reference in New Issue
Block a user