Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad228a550b | ||
|
|
affb5a3827 | ||
|
|
a449674739 |
@@ -211,6 +211,9 @@ class Auth extends Base
|
||||
case 'qqid':
|
||||
return ['1','https://id.qq.com/index.html' ,'我的QQ中心'];
|
||||
break;
|
||||
case 'vip':
|
||||
return ['18','https://club.vip.qq.com/onlinestatus/set' ,'QQ会员'];
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
break;
|
||||
|
||||
+10
-7
@@ -189,18 +189,21 @@ class QQTool{
|
||||
|
||||
public function set_online_status($model, $desc, $imei){
|
||||
$pt4_token = getSubstr($this->cookie, 'pt4_token=', ';');
|
||||
$referer = 'https://club.vip.qq.com/onlinestatus/set?_wv=67109895&_wvx=10&_proxy=1&src=2';
|
||||
$ua = 'Mozilla/5.0 (Linux; Android 12; IN2010 Build/RKQ1.211119.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 V1_AND_SQ_8.8.68_2538_YYB_D A_8086800 QQ/8.8.88 NetType/4G';
|
||||
$data = json_encode(['13031'=>['req'=>['sModel'=>$model, 'iAppType'=>3, 'sIMei'=>$imei, 'sVer'=>'8.8.88', 'sManu'=>'', 'lUin'=>intval($this->uin), 'bShowInfo'=>true, 'sDesc'=>$desc, 'sModelShow'=> $model]]]);
|
||||
$url = 'https://proxy.vac.qq.com/cgi-bin/srfentry.fcgi?ts='.time().'000&g_tk='.$this->gtk.'&data='.rawurlencode($data).'&pt4_token='.urlencode($pt4_token);
|
||||
$data = get_curl($url, 0, 'https://proxy.vac.qq.com/', $this->cookie, 0, $ua);
|
||||
$param = ['servicesName'=>'VIP.CustomOnlineStatusServer.CustomOnlineStatusObj', 'cmd'=>'SetCustomOnlineStatus', 'args'=>[['sModel'=>$model, 'iAppType'=>3, 'sIMei'=>$imei, 'sVer'=>'8.8.88', 'sManu'=>'', 'lUin'=>intval($this->uin), 'bShowInfo'=>true, 'sDesc'=>$desc, 'sModelShow'=> $model]]];
|
||||
$url = 'https://club.vip.qq.com/srf-cgi-node?srfname=VIP.CustomOnlineStatusServer.CustomOnlineStatusObj.SetCustomOnlineStatus&ts='.time().'000&daid=18&g_tk='.$this->gtk.'&pt4_token='.urlencode($pt4_token);
|
||||
$data = get_curl($url, json_encode($param), $referer, $this->cookie, 0, $ua, 0, ['Content-Type: application/json']);
|
||||
$arr = json_decode($data, true);
|
||||
if(!$arr){
|
||||
throw new Exception('修改在线状态失败');
|
||||
}elseif(isset($arr['ecode']) && $arr['ecode']==0){
|
||||
if(isset($arr['13031']['ret']) && $arr['13031']['ret']==0){
|
||||
throw new Exception('修改在线状态失败,返回数据解析失败');
|
||||
}elseif(isset($arr['ret']) && $arr['ret']==0){
|
||||
if(isset($arr['data']['rsp']['iRet']) && $arr['data']['rsp']['iRet']==0){
|
||||
return true;
|
||||
}elseif(isset($arr['data']['rsp']['sMsg'])){
|
||||
throw new Exception('修改在线状态失败,'.$arr['data']['rsp']['sMsg']);
|
||||
}else{
|
||||
throw new Exception('修改在线状态失败,'.$arr['13031']['msg']);
|
||||
throw new Exception('修改在线状态失败,'.$data);
|
||||
}
|
||||
}else{
|
||||
throw new Exception('修改在线状态失败,'.$data);
|
||||
|
||||
@@ -18,7 +18,7 @@ class ViewOutput
|
||||
{
|
||||
View::assign('islogin', $request->islogin);
|
||||
View::assign('user', $request->user);
|
||||
View::assign('cdn_cdnjs', config_get('cdn_cdnjs', '//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/'));
|
||||
View::assign('cdn_cdnjs', config_get('cdn_cdnjs', 'https://s4.zstatic.net/ajax/libs/'));
|
||||
View::assign('cdn_npm', config_get('cdn_npm', 'https://unpkg.com/'));
|
||||
View::config(['view_path' => template_path_get()]);
|
||||
return $next($request)->header([
|
||||
|
||||
+1
-1
@@ -33,5 +33,5 @@ return [
|
||||
404 => \think\facade\App::getRootPath() . 'public/404.html',
|
||||
],
|
||||
'version' => '1.9',
|
||||
'ver' => 1090
|
||||
'ver' => 1091
|
||||
];
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ INSERT INTO `toolbox_config` (`key`, `value`) VALUES
|
||||
('captcha_id', ''),
|
||||
('captcha_key', ''),
|
||||
('ip_type', '0'),
|
||||
('cdn_cdnjs', '//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/'),
|
||||
('cdn_cdnjs', 'https://s4.zstatic.net/ajax/libs/'),
|
||||
('cdn_npm', 'https://unpkg.com/'),
|
||||
('description', '这是一个非常Nice的在线工具箱'),
|
||||
('foot_code', ''),
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
|
||||
class baidu implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://wenku.baidu.com/user/api/editorimg';
|
||||
$referer = 'https://wenku.baidu.com/';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'file' => $file,
|
||||
];
|
||||
$cookie = 'BDUSS=3plTHA0aHpRNGI3MmIxTkpmNVpWTTYtLXpVWjlaRjdRQzFsNmxQNlNufkRiWGhvSVFBQUFBJCQAAAAAAAAAAAEAAAB5WXC40tfDzsTPs8cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPgUGjD4FBoS';
|
||||
$data = get_curl($url,$param,$referer, $cookie);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['link'])){
|
||||
$imgurl = str_replace('.cdn.bcebos.com', '.bj.bcebos.com', $arr['link']);
|
||||
return ['url'=>$imgurl];
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,21 +8,123 @@ use plugin\utility\imghosting\api;
|
||||
class cdn58 implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://upload.58cdn.com.cn/json';
|
||||
$referer = 'https://ai.58.com/pc/';
|
||||
$imgdata = base64_encode(file_get_contents($filepath));
|
||||
$params = [
|
||||
'Pic-Data' => $imgdata,
|
||||
'Pic-Encoding' => 'base64',
|
||||
'Pic-Path' => '/nowater/webim/big/',
|
||||
'Pic-Size' => '0*0'
|
||||
$file_ext = pathinfo($filename, PATHINFO_EXTENSION);
|
||||
if(!in_array($file_ext, ['jpg','jpeg','png','gif','bmp'])) throw new Exception('上传失败!不支持的文件格式');
|
||||
|
||||
$user_id = '58Anonymous'.$this->guid();
|
||||
$user_info = [
|
||||
'user_id' => $user_id,
|
||||
'source' => '14',
|
||||
'im_token' => $user_id,
|
||||
'client_version' => '1.0',
|
||||
'client_type' => 'pcweb',
|
||||
'os_type' => 'Chrome',
|
||||
'os_version' => '122.0.6261.95',
|
||||
'appid' => '10140-mcs@jitmouQrcHs',
|
||||
'extend_flag' => '0',
|
||||
'unread_index' => '1',
|
||||
'sdk_version' => '6432',
|
||||
'device_id' => $user_id,
|
||||
'xxzl_smartid' => '',
|
||||
'id58' => 'CkwAd2e0U3tBNxbRAzQ2Ag==',
|
||||
];
|
||||
$data = get_curl($url,json_encode($params),$referer,0,0,0,0,['application/json']);
|
||||
if(strpos($data, 'n_v2')!==false){
|
||||
$imgurl = 'https://pic'.rand(1,8).'.58cdn.com.cn/nowater/webim/big/'.$data;
|
||||
$params = http_build_query($user_info);
|
||||
$params = $this->encrypt($params);
|
||||
|
||||
$post = [
|
||||
'sender_id' => $user_id,
|
||||
'sender_source' => 14,
|
||||
'to_id' => '10002',
|
||||
'to_source' => 100,
|
||||
'file_suffixs' => [$file_ext],
|
||||
];
|
||||
$post = json_encode($post);
|
||||
$post = $this->encrypt($post);
|
||||
|
||||
$url = 'https://im.58.com/msg/get_pic_upload_url?params='.$params.'&version=j1.0';
|
||||
$referer = 'https://ai.58.com/pc/';
|
||||
$ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36';
|
||||
$data = get_curl($url,$post,$referer,0,0,$ua,0,['Content-Type: text/plain;charset=UTF-8', 'Origin: https://ai.58.com']);
|
||||
$arr = json_decode($data, true);
|
||||
if(isset($arr['error_code']) && $arr['error_code']==0){
|
||||
if(empty($arr['data']['upload_info'])) throw new Exception('上传失败!未返回上传地址');
|
||||
$url = $arr['data']['upload_info'][0]['url'];
|
||||
}else{
|
||||
throw new Exception('上传失败!'.(isset($arr['error_msg']) ? $arr['error_msg'] : '接口错误'));
|
||||
}
|
||||
|
||||
$mine_type = $this->mime_content_type($file_ext);
|
||||
[$httpCode, $header, $body] = $this->curl_upload($url, file_get_contents($filepath), ['Content-Type: '.$mine_type]);
|
||||
|
||||
if($httpCode == 200){
|
||||
$filename = getSubstr($url, '/nowater/im/', '?');
|
||||
$imgurl = 'https://pic'.rand(1,8).'.58cdn.com.cn/nowater/im/'.$filename;
|
||||
return ['url'=>$imgurl];
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
throw new Exception('上传失败!httpCode='.$httpCode);
|
||||
}
|
||||
}
|
||||
|
||||
private function mime_content_type($ext)
|
||||
{
|
||||
$mime_types = [
|
||||
'png' => 'image/png',
|
||||
'jpeg' => 'image/jpeg',
|
||||
'jpg' => 'image/jpeg',
|
||||
'gif' => 'image/gif',
|
||||
'bmp' => 'image/bmp',
|
||||
];
|
||||
return isset($mime_types[$ext]) ? $mime_types[$ext] : 'application/octet-stream';
|
||||
}
|
||||
|
||||
private function encrypt($data){
|
||||
$str = base64_encode($data);
|
||||
$equal_count = substr_count($str, '=');
|
||||
$str = str_replace(['+','/','='], ['-','_',''], $str).$equal_count;
|
||||
$half = floor(strlen($str)/2);
|
||||
$str = substr($str, $half).substr($str, 0, $half);
|
||||
return $str;
|
||||
}
|
||||
|
||||
private function decrypt($data) {
|
||||
$half = ceil(strlen($data)/2);
|
||||
$data = substr($data, $half).substr($data, 0, $half);
|
||||
$equal_count = substr($data, -1);
|
||||
$data = substr($data, 0, -1);
|
||||
$data = str_replace(['-', '_'], ['+', '/'], $data);
|
||||
$data .= str_repeat('=', $equal_count);
|
||||
return base64_decode($data);
|
||||
}
|
||||
|
||||
private function guid(){
|
||||
$guid = md5(uniqid(mt_rand(), true));
|
||||
return substr($guid,0,8).'-'.substr($guid,8,4).'-4'.substr($guid,12,3).'-'.substr($guid,16,4).'-'.substr($guid,20,12);
|
||||
}
|
||||
|
||||
private function curl_upload($url, $body, $header, $timeout = 10)
|
||||
{
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36');
|
||||
curl_setopt($ch, CURLOPT_HEADER, true);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
|
||||
$data = curl_exec($ch);
|
||||
if (curl_errno($ch) > 0) {
|
||||
$errmsg = curl_error($ch);
|
||||
curl_close($ch);
|
||||
throw new Exception($errmsg, 0);
|
||||
}
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
|
||||
$header = substr($data, 0, $headerSize);
|
||||
$body = substr($data, $headerSize);
|
||||
curl_close($ch);
|
||||
return [$httpCode, $header, $body];
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
|
||||
class dianping implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://kf.dianping.com/api/file/burstUploadFile';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'files' => $file,
|
||||
'fileName' => $filename,
|
||||
'part' => '0',
|
||||
'partSize' => '1',
|
||||
'fileID' => time().rand(111,999)
|
||||
];
|
||||
$header = [
|
||||
'CSC-VisitId: '.$this->getvisitid()
|
||||
];
|
||||
$data = get_curl($url,$param,'https://h5.dianping.com/',0,0,0,0,$header);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['code']) && $arr['code'] == 200){
|
||||
$picurl = str_replace('http://','https://',$arr['data']['uploadPath']);
|
||||
return ['url'=>$picurl];
|
||||
}elseif(isset($arr['errMsg'])){
|
||||
throw new Exception('上传失败!'.$arr['errMsg']);
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
|
||||
private function getvisitid(){
|
||||
$visitid = cache('dianping_visitid');
|
||||
if($visitid) return $visitid;
|
||||
$url = 'https://kf.dianping.com/csCenter/access/dealOrder_Help_DP_PC';
|
||||
$url = $this->get_location_url($url);
|
||||
if($url){
|
||||
$visitid = getSubstr($url, 'visitId=', '&');
|
||||
if($visitid){
|
||||
$url = 'https://kf.dianping.com/api/portal/message/init?visitId='.$visitid.'&accessToken=undefined';
|
||||
$post = '{"type":"Init","parameters":{"isPreview":true,"build":null}}';
|
||||
get_curl($url, $post);
|
||||
cache('dianping_visitid', $visitid, 86400);
|
||||
return $visitid;
|
||||
}
|
||||
}
|
||||
throw new Exception('上传失败!获取visitId异常');
|
||||
}
|
||||
|
||||
private function get_location_url($url){
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36");
|
||||
curl_exec($ch);
|
||||
$final_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
|
||||
curl_close($ch);
|
||||
return $final_url;
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ use plugin\utility\imghosting\api;
|
||||
class imgdd implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://imgdd.com/api/v1/upload';
|
||||
$url = 'https://imgdd.com/upload';
|
||||
$referer = 'https://imgdd.com/';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
|
||||
@@ -8,14 +8,14 @@ use plugin\utility\imghosting\api;
|
||||
class locimg implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://www.locimg.com/upload/upload.html';
|
||||
$referer = 'https://www.locimg.com/';
|
||||
$url = 'https://yunimg.cc/upload/upload.html';
|
||||
$referer = 'https://yunimg.cc/';
|
||||
$file = new \CURLFile($filepath, 'image/jpeg', $filename);
|
||||
$param = [
|
||||
'image' => $file,
|
||||
'fileId' => $filename,
|
||||
];
|
||||
$data = get_curl($url,$param,$referer,0,0,0,0,['X-Requested-With: XMLHttpRequest']);
|
||||
$data = $this->curl($url,$param,$referer,['X-Requested-With: XMLHttpRequest']);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['data']['url'])){
|
||||
return ['url'=>$arr['data']['url']];
|
||||
@@ -25,4 +25,37 @@ class locimg implements api
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
|
||||
private function curl($url, $post=0, $referer=0, $addheader=0)
|
||||
{
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
/*curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
|
||||
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1');
|
||||
curl_setopt($ch, CURLOPT_PROXYPORT, 10809);
|
||||
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);*/
|
||||
$httpheader[] = "Accept: */*";
|
||||
$httpheader[] = "Accept-Encoding: gzip,deflate,sdch";
|
||||
$httpheader[] = "Accept-Language: zh-CN,zh;q=0.8";
|
||||
$httpheader[] = "Connection: close";
|
||||
if($addheader){
|
||||
$httpheader = array_merge($httpheader, $addheader);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
|
||||
if ($post) {
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
||||
}
|
||||
if($referer){
|
||||
curl_setopt($ch, CURLOPT_REFERER, $referer);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36");
|
||||
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
$ret = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
|
||||
class netease implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'http://upload.buzz.163.com/picupload';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'file' => $file,
|
||||
'from' => 'neteasecode_mp',
|
||||
];
|
||||
$data = get_curl($url,$param,$url);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['code']) && $arr['code']==200){
|
||||
return ['url'=>str_replace('http://','https://',$arr['data']['url'])];
|
||||
}elseif(isset($arr['msg'])){
|
||||
throw new Exception('上传失败请重试('.$arr['msg'].')');
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
|
||||
class oppo implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://api.open.oppomobile.com/api/utility/upload';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'file' => $file,
|
||||
'type' => 'feedback',
|
||||
];
|
||||
$data = get_curl($url,$param,$url);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['errno']) && $arr['errno']==0){
|
||||
return ['url'=>str_replace('store2.heytapimage.com', 'store.heytapimage.com', $arr['data']['url'])];
|
||||
}elseif(isset($arr['data']['message'])){
|
||||
throw new Exception('上传失败请重试('.$arr['data']['message'].')');
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
use think\helper\Str;
|
||||
|
||||
class pngcm implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://png.cm/app/upload.php';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'name' => $filename,
|
||||
'uuid' => 'o_'.Str::random(27),
|
||||
'sign' => time(),
|
||||
'file' => $file,
|
||||
];
|
||||
$data = get_curl($url,$param,'https://png.cm/');
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['code']) && $arr['code']==200){
|
||||
return ['url'=>$arr['url']];
|
||||
}elseif(isset($arr['message'])){
|
||||
throw new Exception('上传失败请重试('.$arr['message'].')');
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace plugin\utility\imghosting\api;
|
||||
|
||||
use Exception;
|
||||
use plugin\utility\imghosting\api;
|
||||
|
||||
class vipkid implements api
|
||||
{
|
||||
public function upload($filepath, $filename){
|
||||
$url = 'https://www.vipkid.com/rest/gw/api/upload/vos';
|
||||
$file = new \CURLFile($filepath);
|
||||
$file->setPostFilename($filename);
|
||||
$param = [
|
||||
'file' => $file,
|
||||
'uploadType' => 'IM'
|
||||
];
|
||||
$data = get_curl($url,$param,$url,0,0,0,0,['vk-cr-code: kr']);
|
||||
$arr = json_decode($data,true);
|
||||
if(isset($arr['code']) && $arr['code']==200){
|
||||
return ['url'=>$arr['data']['url']];
|
||||
}elseif(isset($arr['msg'])){
|
||||
throw new Exception('上传失败请重试('.$arr['msg'].')');
|
||||
}else{
|
||||
throw new Exception('上传失败!接口错误');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -97,12 +97,12 @@ textarea.form-control{min-height: auto;}
|
||||
data: {
|
||||
apitypes: [
|
||||
{
|
||||
title: '大众点评',
|
||||
key: 'dianping'
|
||||
title: '58同城',
|
||||
key: 'cdn58'
|
||||
},
|
||||
{
|
||||
title: 'LOCIMG',
|
||||
key: 'locimg'
|
||||
title: '百度文库',
|
||||
key: 'baidu'
|
||||
},
|
||||
{
|
||||
title: 'IMGDD',
|
||||
@@ -141,7 +141,7 @@ textarea.form-control{min-height: auto;}
|
||||
]
|
||||
},
|
||||
output: [],
|
||||
apitype: 'dianping',
|
||||
apitype: 'baidu',
|
||||
imgurl: ''
|
||||
},
|
||||
progress: 0,
|
||||
|
||||
@@ -79,15 +79,15 @@ new Vue({
|
||||
data: {
|
||||
query_disabled: true,
|
||||
input: '',
|
||||
apitype: 'amap',
|
||||
apitype: 'ip138',
|
||||
result_input: '',
|
||||
result_type: 'IP',
|
||||
showresult: false,
|
||||
apitypes: [
|
||||
{
|
||||
/*{
|
||||
title: '高德地图',
|
||||
key: 'amap'
|
||||
},
|
||||
},*/
|
||||
{
|
||||
title: 'IP138',
|
||||
key: 'ip138'
|
||||
|
||||
@@ -14,7 +14,7 @@ class App extends Plugin
|
||||
|
||||
public function index()
|
||||
{
|
||||
$logininfo = session('qq_cookie_qzone');
|
||||
$logininfo = session('qq_cookie_vip');
|
||||
$error = null;
|
||||
if($logininfo){
|
||||
View::assign('isqqlogin', 1);
|
||||
@@ -34,7 +34,7 @@ class App extends Plugin
|
||||
$imei = input('post.imei', null, 'trim');
|
||||
if(!$imei) return msg('error','IMEI不能为空');
|
||||
|
||||
$logininfo = session('qq_cookie_qzone');
|
||||
$logininfo = session('qq_cookie_vip');
|
||||
if(!$logininfo){
|
||||
return msg('error', '请先登录');
|
||||
}
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</div>
|
||||
<div class="alert alert-info"><em class="icon ni ni-info"></em> 此工具可自定义QQ在线状态设备名,需要SVIP</div>
|
||||
{if $isqqlogin==0}
|
||||
<p>当前登录的账号:<b>未登录</b> <a href="/qqlogin?type=qzone&redirect=/{$plugin.alias}" class="btn btn-sm btn-outline-success">立即登录</a></p>
|
||||
<p>当前登录的账号:<b>未登录</b> <a href="/qqlogin?type=vip&redirect=/{$plugin.alias}" class="btn btn-sm btn-outline-success">立即登录</a></p>
|
||||
{else}
|
||||
<p>当前登录的账号:<b>{$logininfo.nickname|raw}({$logininfo.uin})</b> <a href="/qqlogin?type=qzone&redirect=/{$plugin.alias}" class="btn btn-sm btn-outline-success">更换账号</a></p>
|
||||
<p>当前登录的账号:<b>{$logininfo.nickname|raw}({$logininfo.uin})</b> <a href="/qqlogin?type=vip&redirect=/{$plugin.alias}" class="btn btn-sm btn-outline-success">更换账号</a></p>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<div class="input-group input-group-lg">
|
||||
@@ -56,7 +56,7 @@
|
||||
<div class="modal-body">
|
||||
<p>手机QQ打开链接:<a href="https://1105583577.urlshare.cn" target="_blank">https://1105583577.urlshare.cn</a> <button type="button" class="btn btn-outline-light btn-xs copy-btn" data-clipboard-text="https://1105583577.urlshare.cn">点击复制</button></p>
|
||||
<p>点击“设备信息”</p>
|
||||
<p>【安卓】找到最后的msflmei参数后面的那一串字母数字。如果没有msflmei参数,则用 identifiera参数</p>
|
||||
<p>【安卓】找到最后的msflmei参数后面的那一串字母数字。如果没有msflmei参数,则用 identifier参数</p>
|
||||
<p>【苹果】找到msf_identifier参数后面的那一串字母数字(格式:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)</p>
|
||||
<img style="width: 100%;" src="https://img.alicdn.com/imgextra/i3/905090405/O1CN01sypnNc1ErX9vUQpeQ_!!905090405.jpg">
|
||||
</div>
|
||||
@@ -75,7 +75,7 @@
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
model: 'iPhone 13 Pro Max',
|
||||
model: 'iPhone 16 Pro Max',
|
||||
desc: '',
|
||||
imei: '',
|
||||
showresult: false,
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
|
||||
<meta name="renderer" content="webkit"/>
|
||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/normalize/5.0.0/normalize.min.css">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/normalize/5.0.0/normalize.min.css">
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="css/layuimini.css?v=2.0.4.2" media="all">
|
||||
<link rel="stylesheet" href="css/themes/default.css" media="all">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/4.7.0/css/font-awesome.min.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" media="all">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/respond.js/1.4.2/respond.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/html5shiv/r29/html5.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<style id="layuimini-bg-color">
|
||||
</style>
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="js/lay-config.js?v=2.0.0" charset="utf-8"></script>
|
||||
<script src="js/common.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/respond.js/1.4.2/respond.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<style>
|
||||
html, body {width: 100%;height: 100%;overflow: hidden}
|
||||
@@ -61,8 +61,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.min.js" charset="utf-8"></script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/jquery/3.6.0/jquery.min.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="./lib/jq-module/jquery.particleground.min.js" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.use(['form'], function () {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<style>
|
||||
.error .clip .shadow {height:180px;}
|
||||
.error .clip:nth-of-type(2) .shadow {width:130px;}
|
||||
@@ -71,7 +71,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script>
|
||||
function randomNum() {
|
||||
return Math.floor(Math.random() * 9) + 1;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -62,7 +62,7 @@
|
||||
<option value="{{item}}">{{item}}</option>
|
||||
{{# }}}
|
||||
</script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
</head>
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.use(['form', 'table'], function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -55,7 +55,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
</head>
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/lay-config.js?v=2.0.0" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<style>
|
||||
@@ -186,7 +186,7 @@
|
||||
</script>
|
||||
|
||||
<!--</div>-->
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
</head>
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.use(['form', 'table'], function () {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -53,7 +53,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
<style>
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -117,7 +117,7 @@
|
||||
{{# }); }}
|
||||
</select>
|
||||
</script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -124,7 +124,7 @@
|
||||
{{# }); }}
|
||||
</select>
|
||||
</script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/api.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script src="../../js/common.js?v=1.0.0" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../../css/public.css" media="all">
|
||||
<link rel="stylesheet" href="../../js/lay-module/step-lay/step.css" media="all">
|
||||
</head>
|
||||
@@ -123,7 +123,7 @@
|
||||
{{# }); }}
|
||||
</select>
|
||||
</script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/lay-config.js?v=1.0.4" charset="utf-8"></script>
|
||||
<script src="../../js/api.js" charset="utf-8"></script>
|
||||
<script src="../../js/common.js" charset="utf-8"></script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -172,7 +172,7 @@
|
||||
<option value="{{item}}">{{item}}</option>
|
||||
{{# }}}
|
||||
</script>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<style>
|
||||
body {
|
||||
@@ -63,7 +63,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
</head>
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/lay-config.js?v=2.0.0" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="https://s4.zstatic.net/ajax/libs/layui/2.6.3/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="../css/public.css" media="all">
|
||||
<script src="../js/common.js" charset="utf-8"></script>
|
||||
</head>
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script src="//lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/layui/2.6.3/layui.js" charset="utf-8"></script>
|
||||
<script src="../js/api.js" charset="utf-8"></script>
|
||||
<script>
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
<link rel="icon" href="/favicon.ico"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
|
||||
<link href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/daisyui/2.2.2/full.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/limonte-sweetalert2/11.4.4/sweetalert2.all.min.js"></script>
|
||||
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
|
||||
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/axios/0.26.0/axios.min.js"></script>
|
||||
<link href="https://s4.zstatic.net/ajax/libs/daisyui/2.2.2/full.min.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="https://s4.zstatic.net/ajax/libs/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/limonte-sweetalert2/11.4.4/sweetalert2.all.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/vue/2.6.14/vue.min.js"></script>
|
||||
<script src="https://s4.zstatic.net/ajax/libs/axios/0.26.0/axios.min.js"></script>
|
||||
<style>
|
||||
body {
|
||||
background-image: url("static/images/install_background.jpg");
|
||||
|
||||
Reference in New Issue
Block a user