Commit 7631dbec authored by zhoujun's avatar zhoujun

Merge branch 'test'

parents cc364e2e d250ba77
Pipeline #1598 passed with stage
in 9 seconds
......@@ -7,6 +7,7 @@ use Psy\Exception\ErrorException;
use Illuminate\Database\QueryException;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use App\Services\UtilService;
class Handler extends ExceptionHandler
{
......@@ -39,6 +40,9 @@ class Handler extends ExceptionHandler
*/
public function report(Exception $exception)
{
//$message = '【'.date('Y-m-d H:i:s').'】生涯明信片项目:'.$exception->getMessage();
//$submitData = ['mobile_list'=>config('sign.DINGDING_PHONE'),'message'=>$message,'api_token'=>config('sign.DINGDING_TOKEN')];
//UtilService::postCurlJson(config('sign.DINGDING_URL'),$submitData,[]);
parent::report($exception);
}
......@@ -58,14 +62,13 @@ class Handler extends ExceptionHandler
}
if ($exception instanceof QueryException) {
return new JsonResponse(['error' => 5001, 'message' => '网络错误']);
return response()->json(['error' => 5001, 'message' => '网络错误']);
}
if ($exception instanceof ErrorException) {
return redirect(route('index'));
}
return parent::render($request, $exception);
}
}
......@@ -33,17 +33,7 @@ class CardController extends Controller
$this->time = Carbon::now()->format('Y-m-d H:i:s');
}
/**
* 测试图片上传
* @date 2021/06/01
* @author live
*/
public function getIndexImg()
{
$data = [];
return view('img', $data);
}
/**
* 绑定角色
* @date 2021/06/01
......@@ -156,6 +146,9 @@ class CardController extends Controller
$first = $rankConfig[$first] ?? '';
if($first != '') $maxRank = $first.$second;
}
$honorLevel = $roleInfo['HonorLevel'] ?? 0;
$armsIds = [];
$armsScore = [];
$armsStrong = [];
......@@ -221,7 +214,7 @@ class CardController extends Controller
if($braveTime < 1) $braveTime = 0;
if($mercenaryScore < 1) $mercenaryScore = 0;
$arrayData = ['uid'=>$userId,'server_id'=>$serverId,'server_name'=>$serverName,'user_id'=>$targetRole['userId'],'role_id'=>$roleId,'role_name'=>$targetRole['roleName'],'job'=>$targetRole['occupation'],'guild'=>$targetRole['guild'],'online_time'=>$targetRole['onlineTime'],'register_time'=>date('Y-m-d H:i:s',$targetRole['createTime']),'role_score'=>$roleScore,'arms_score'=>$armsScoreArr,'arms_strong'=>$armsStrongArr,'arms_exciting'=>$armsExcitingArr,'duel_total'=>$duelTotal,'duel_win'=>$duelWin,'duel_continuity_win'=>$duelContinuityWin,'max_rank'=>$maxRank,'brave_num'=>$braveNum,'brave_time'=>$braveTime,'mercenary_score'=>$mercenaryScore,'created_at'=>$time,'updated_at'=>$time];
$arrayData = ['uid'=>$userId,'server_id'=>$serverId,'server_name'=>$serverName,'user_id'=>$targetRole['userId'],'role_id'=>$roleId,'role_name'=>$targetRole['roleName'],'job'=>$targetRole['occupation'],'guild'=>$targetRole['guild'],'online_time'=>$targetRole['onlineTime'],'register_time'=>date('Y-m-d H:i:s',$targetRole['createTime']),'role_score'=>$roleScore,'arms_score'=>$armsScoreArr,'arms_strong'=>$armsStrongArr,'arms_exciting'=>$armsExcitingArr,'duel_total'=>$duelTotal,'duel_win'=>$duelWin,'duel_continuity_win'=>$duelContinuityWin,'max_rank'=>$maxRank,'brave_num'=>$braveNum,'brave_time'=>$braveTime,'mercenary_score'=>$mercenaryScore,'honor_level'=>$honorLevel,'created_at'=>$time,'updated_at'=>$time];
$result = DB::connection('wx_mysql')->table($tableName)->insert($arrayData);
if($result) return $array;
......@@ -239,7 +232,7 @@ class CardController extends Controller
public function getCheckRoleInfoTable($tableName)
{
if ( ! Schema::connection('wx_mysql')->hasTable($tableName)) {
if (!Schema::connection('wx_mysql')->hasTable($tableName)) {
Schema::connection('wx_mysql')->create($tableName, function (Blueprint $table) {
$table->bigIncrements('id')->comment('自增主键');
$table->integer('uid')->default(0)->comment('用户id');
......@@ -263,6 +256,7 @@ class CardController extends Controller
$table->integer('brave_num')->default(0)->comment('勇者之塔最高层数');
$table->integer('brave_time')->default(0)->comment('勇者之塔过关时间');
$table->integer('mercenary_score')->default(0)->comment('佣兵团评分');
$table->integer('honor_level')->default(0)->comment('荣誉等级');
$table->timestamps();
$table->index(['uid','role_id']);
$table->engine = 'InnoDB';
......@@ -278,7 +272,6 @@ class CardController extends Controller
*/
public function getUploadImg(Request $request)
{
Log::info("图片上传日志:" , json_encode($request->file('imgFile')));
$userId = $request->session()->get("uid");
$roleId = $request->input('roleId');
$serverId = $request->input('serverId');
......@@ -334,13 +327,13 @@ class CardController extends Controller
*/
public function getCardHtml(Request $request)
{
Log::info("请求日志:测试" , []);
$userId = $request->session()->get("uid");
$result = $this->getVerityLogin($userId);
if($result['code'] != 200) return $this->jsonReturn($result['code'], $result['msg']);
$roleId = $request->input('roleId');
$serverId = $request->input('serverId');
if (empty($roleId) || empty($serverId)) return $this->jsonReturn(7002, '参数错误');
if (!Schema::connection('wx_mysql')->hasTable('wx_card_role_'.$serverId)) return redirect(route('index'));
$info = DB::connection('wx_mysql')->table('wx_card_role_'.$serverId)->where('uid',$userId)->where('role_id',$roleId)->where('server_id',$serverId)->first();
if(!$info) return redirect(route('index'));
$serverName = '';
......@@ -382,6 +375,9 @@ class CardController extends Controller
$data['roleScore'] = $roleScore;
$data['jobImg'] = $jobInco[$info->job] ?? '';
$honorConfig = config('sign.honor');
$data['honor'] = $honorConfig[$info->honor_level] ?? $honorConfig[0];
if($info->mercenary_score == 2){
$data['ybImg'] = 'img-B';
}elseif($info->mercenary_score == 3){
......@@ -396,7 +392,7 @@ class CardController extends Controller
$data['ybImg'] = 'img-C';
}
$data['rank'] = $info->max_rank ?? '';
$data['rank'] = empty($info->max_rank) ? '青铜5' : $info->max_rank;
if(!empty($armsScore)){
$armsScoreNum = '00000';
if(strlen($armsScore[0]['score']) == 1) $armsScoreNum = '0000'.(string)$armsScore[0]['score'];
......
......@@ -194,11 +194,36 @@ class UtilService
public static function getIsWx($httpUserAgent)
{
return true;
if (strpos($httpUserAgent, 'MicroMessenger') !== false) {
return true;
} else {
return false;
}
}
public static function postCurlJson($url, $data,$headers = [], $timeout = 30){
try {
$requestHeader[] = "API-RemoteIP: ";
$requestHeader[] = "Content-type: application/json";
$curl = curl_init();
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER,$requestHeader);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$timeout = intval ( $timeout ) ? intval ( $timeout ) : 30;
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_HEADER, 0);
$result = curl_exec($curl);
curl_close($curl);
return $result;
} catch (exception $e) {
throw new Exception($e->getMessage());
}
}
}
\ No newline at end of file
......@@ -109,7 +109,7 @@ return [
'OSS_CDN' => 'https://static-card-cdn.aldzn.cn/',
'jobInco' => [
'爆玫瑰' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/1.png',
'爆玫瑰' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/1.png',
'爆灭者' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/2.png',
'苍穹之影' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/3.png',
'法师' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/4.png',
......@@ -124,7 +124,7 @@ return [
'女枪手' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/13.png',
'枪手' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/14.png',
'神谕者' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/15.png',
'弑神' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/6.png',
'弑神' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/16.png',
'武斗家' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/17.png',
'武器专家' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/18.png',
'武术师' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/19.png',
......@@ -133,8 +133,31 @@ return [
'阵魔' => 'https://aldzn-ios-cdn.aldzn.cn/ucCard/images/role/22.png',
],
'honor' => [
0 => '决斗练习者',
1 => '决斗练习者',
2 => '入门决斗者',
3 => '初级决斗者',
4 => '中级决斗者',
5 => '高级决斗者',
6 => '特级决斗者',
7 => '职业决斗家',
8 => '明星决斗家',
9 => '武道高手',
10 => '决斗达人',
11 => '竞技大师',
12 => '传奇武士',
13 => '格斗之王',
14 => '荣耀天王',
15 => '神·职业'
],
'WX_APPID' => 'wx2db57391553aa064',
'WX_AppSecret' => 'f6d533f6d0851c629da52cd10fab910b',
'rank' => [1=>'青铜',2=>'白银',3=>'黄金',4=>'铂金',5=>'钻石',6=>'最强王者']
'rank' => [1=>'青铜',2=>'白银',3=>'黄金',4=>'铂金',5=>'钻石',6=>'最强王者'],
'DINGDING_URL' => 'http://api.srccwl.com/dingding/send_message',
'DINGDING_TOKEN' => 'qPf99DyrCgdSSrJFbhwYHOPEv66HE02FAJy2x3KTx65BfLHbxNlue1Nbbmu5',
'DINGDING_PHONE' => '18616826027',
];
\ No newline at end of file
This diff is collapsed.
......@@ -54,7 +54,7 @@
.postcard-container {
padding-bottom: 1rem;
background: url("../images/body_bg2.jpg") no-repeat center top, url("../images/bg.jpg") repeat-y center;
background: url("../images/body_bg2.jpg?v=20210609") no-repeat center top, url("../images/bg.jpg") repeat-y center;
background-size: 100% auto;
}
......@@ -117,32 +117,6 @@
width: 3.23rem;
.ells();
}
//&.role1 {
// background: url("../images/role_img1.png") no-repeat center;
// background-size: auto .62rem;
//}
//
//&.role2 {
// background: url("../images/role_img2.png") no-repeat center;
// background-size: auto .62rem;
//}
//
//&.role3 {
// background: url("../images/role_img3.png") no-repeat center;
// background-size: auto .62rem;
//}
//
//&.role4 {
// background: url("../images/role_img4.png") no-repeat center;
// background-size: auto .62rem;
//}
//
//&.role5 {
// background: url("../images/role_img5.png") no-repeat center;
// background-size: auto .62rem;
//}
}
.left {
......@@ -157,20 +131,20 @@
.right {
.fr();
width: 50%;
padding-top: .55rem;
padding-top: .25rem;
li {
margin-top: 0;
margin-bottom: .65rem;
margin-bottom: .45rem;
span {
margin-left: .5rem;
width: 3rem;
}
&.role4 {
margin-bottom: .7rem;
}
//&.role4 {
// margin-bottom: .7rem;
//}
}
}
......@@ -456,8 +430,8 @@
}
#file {
.pa();
left: 1.5rem;
top: 2rem;
left: 0;
top: 0;
width: 7.6rem;
height: 4.2rem;
background: none;
......@@ -513,7 +487,7 @@
width: 100%;
height: 6.16rem;
.css3(transform, translate(-50%, -50%));
background: url("../images/dialog_bg.png") no-repeat center;
background: url("../images/dialog_bg.png?v=20210609") no-repeat center;
background-size: 100% auto;
padding-bottom: 1rem;
......@@ -679,6 +653,140 @@
}
}
// message
.toast-item-wrapper {
min-width: auto;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
padding: .2rem;
box-sizing: border-box;
font-size: .4rem;
color: #343434;
overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
background: #fff;
&.toast-top-left {
left: 20px;
top: 20px;
}
&.toast-top-right {
right: 20px;
top: 20px;
}
&.toast-top-center {
margin: 0 auto;
top: 40%;
}
&.toast-bottom-left {
left: 20px;
bottom: 20px;
}
&.toast-bottom-right {
right: 20px;
bottom: 20px;
}
&.toast-bottom-center {
margin: 0 auto;
bottom: 20%;
}
p {
margin: 0
}
.toast-message {
font-size: 0.4rem;
color: #343434;
svg {
display: inline-block;
vertical-align: middle;
margin-right: .1rem;
}
}
.success {
.toast-message {
svg {
color: #0E9A00;
}
}
}
.error {
.toast-message {
svg {
color: #f00;
}
}
}
}
.message-container {
box-sizing: border-box;
margin: 0;
padding: 0;
color: rgba(0, 0, 0, .65);
font-size: .4rem;
font-variant: tabular-nums;
line-height: 1.5;
list-style: none;
font-feature-settings: "tnum";
position: fixed;
top: 40%;
left: 0;
z-index: 1010;
width: 100%;
pointer-events: none;
text-align: center;
.transition();
@successColor: #52c41a;
.message-content {
display: inline-block;
padding: .25rem .35rem;
background: #fff;
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
pointer-events: all;
i {
vertical-align: middle;
margin-right: .1rem;
}
&.success {
i {
color: @successColor;
}
}
}
}
.code{
text-align: center;
padding: 1rem 0 .2rem;
img{
width: 3rem;
}
p{
padding: .2rem;
.fs(.32rem,#F3E1BE);
}
}
@keyframes Rotate {
0% {
transform: rotate(0);
......
......@@ -4,6 +4,18 @@ var card = {
bindInfo:{},
bindFlag : true
};
card.showToast = function (params) {
$.Toast("", params.msg, params.type ? params.type : 'warn', {
stack: true,
has_icon: false,
has_close_btn: false,
fullscreen: false,
timeout: 2000,
sticky: false,
has_progress: false,
rtl: false,
});
}
card.ajax = function (data, callback) {
data.data['_token'] = $('meta[name="token"]').attr("value");
$.ajax({
......@@ -14,9 +26,13 @@ card.ajax = function (data, callback) {
error: function (err) {
try{
var error = err.responseText;
alert(error.message)
card.showToast({
msg:error.message
})
}catch (e) {
alert('系统开小差~~')
card.showToast({
msg:'系统开小差~~'
})
}
},
success: function (res) {
......@@ -59,7 +75,9 @@ card.handleGetRoleList = function (params){
data:params
},function (res){
if(res.error == 80001){
alert(res.message);
card.showToast({
msg:res.message
})
return false;
}
var data = res.data,
......@@ -98,9 +116,12 @@ card.bindRole = function (params){
},function (res){
if(res.error === 0){
$('.dialog').hide();
$('.role-select').html('');
location.href='/card/html?roleId='+params.roleId+'&serverId='+params.serverId;
}else{
alert(res.message)
card.showToast({
msg:res.message
})
}
})
}
......@@ -120,10 +141,14 @@ $(function (){
roleId = $('.role-select option:selected').val();
roleName = $('.role-select option:selected').text();
if(!serverId || serverId == '-1'){
alert('请选择服务器')
card.showToast({
msg:'请选择服务器'
})
return false;
}else if(!roleId || roleId == '-1'){
alert('请选择角色')
card.showToast({
msg:'请选择角色'
})
return false;
}
var params = {
......@@ -147,4 +172,49 @@ $(function (){
}
initRoleList(serverId);
});
$('.close').click(function (){
$('select').html('');
$('.dialog').fadeOut();
});
$('.btn-start').click(function (){
card.handleGetServer();
});
function baseImageUrl() {
setTimeout(function () {
html2canvas(document.querySelector("#test"), { //关键在于new
removeContainer: true,
allowTaint: false,
width: window.screen.availWidth,
windowWidth: document.body.scrollWidth,
x: 0,
y: 0,
useCORS: true,
logging:true
}).then(canvas => {
var image = canvas.toDataURL('image/jpeg', 1.0);
var img = '<img src="' + image + '">';
$('.dialog-img-content .img-scroll').html(img);
$('.dialog-img').show();
$('.loading').hide();
});
$('.postcard-container').addClass('fixed');
}, 2000)
}
$('.btn-save').click(function () {
var height = $('.postcard-container').height();
$('.postcard-container').height(height);
$('.loading').show();
$('.btn-save,.btn-share,.login-info').hide();
$('html,body').animate({
scrollTop: 0
}, 0);
baseImageUrl();
$('.postcard-container').addClass('fixed');
});
$('.dialog-img,.share-img').click(function () {
$(this).fadeOut();
$('.btn-save,.btn-share,.login-info').show();
$('.postcard-container').removeClass('fixed');
});
})
\ No newline at end of file
var card={relationRole:{},clickFlag:!0,bindInfo:{},bindFlag:!0};card.ajax=function(e,a){e.data._token=$('meta[name="token"]').attr("value"),$.ajax({type:e.type?e.type:"GET",url:location.origin+e.url,dataType:"json",data:e.data,error:function(e){try{var a=e.responseText;alert(a.message)}catch(e){alert("系统开小差~~")}},success:function(e){return 1019==e.error?(location.href="/login",!1):4003==e.error?(location.href="/bind/ald/code",!1):void a(e)}}),setTimeout(function(){card.clickFlag=!0},1e3)},card.handleGetServer=function(e){$(".loading").show(),this.ajax({url:"/ald_bind_info",type:"get",data:{}},function(e){card.bindInfo=e.data;var a={serverId:e.data.serverId,userId:e.data.userId};card.handleGetRoleList(a)})},card.handleGetRoleList=function(e){this.ajax({url:"/get_role_list",type:"POST",data:e},function(e){if(80001==e.error)return alert(e.message),!1;var a=e.data,r="",t=[];card.relationRole=a;for(var n in a)t.push({id:n,name:a[n].name});r='<option value="-1">请选择</option>',$(t).each(function(e,a){var t="";t=a.name.indexOf("非硬核-")>-1?a.name.replace("非硬核-",""):a.name.indexOf("硬核-")>-1?a.name.replace("硬核-",""):a.name.indexOf("越狱-")>-1?a.name.replace("越狱-",""):a.name,r+='<option value="'+a.id+'">'+t+"</option>"}),$(".server-select").html(r),$(".loading").hide(),$(".dialog-server").fadeIn()})},card.bindRole=function(e){card.bindFlag=!1,this.ajax({url:"/bind/ald/role",type:"POST",data:e},function(a){0===a.error?($(".dialog").hide(),location.href="/card/html?roleId="+e.roleId+"&serverId="+e.serverId):alert(a.message)})};var initRoleList=function(e){var a=card.relationRole[e].list,r='<option value="-1">请选择</option>';$(a).each(function(e,a){r+='<option value="'+a.roleId+'">'+a.roleName+"</option>"}),$(".role-select").html(r)};$(function(){$(".btn-card-bind-role").click(function(){var e=$(".server-select option:selected").val(),a=$(".server-select option:selected").text(),r=$(".role-select option:selected").val();if(roleName=$(".role-select option:selected").text(),!e||"-1"==e)return alert("请选择服务器"),!1;if(!r||"-1"==r)return alert("请选择角色"),!1;var t={roleId:r,serverId:e,serverName:a,roleName:roleName};card.bindFlag&&(setTimeout(function(){card.bindFlag=!0},3e3),card.bindRole(t))}),$(".server-select").change(function(){var e=$(this).val();if(-1==e)return $(".role-select").html(""),!1;initRoleList(e)})});
\ No newline at end of file
var card={relationRole:{},clickFlag:!0,bindInfo:{},bindFlag:!0};card.showToast=function(e){$.Toast("",e.msg,e.type?e.type:"warn",{stack:!0,has_icon:!1,has_close_btn:!1,fullscreen:!1,timeout:2e3,sticky:!1,has_progress:!1,rtl:!1})},card.ajax=function(e,a){e.data._token=$('meta[name="token"]').attr("value"),$.ajax({type:e.type?e.type:"GET",url:location.origin+e.url,dataType:"json",data:e.data,error:function(e){try{var a=e.responseText;card.showToast({msg:a.message})}catch(e){card.showToast({msg:"系统开小差~~"})}},success:function(e){return 1019==e.error?(location.href="/login",!1):4003==e.error?(location.href="/bind/ald/code",!1):void a(e)}}),setTimeout(function(){card.clickFlag=!0},1e3)},card.handleGetServer=function(e){$(".loading").show(),this.ajax({url:"/ald_bind_info",type:"get",data:{}},function(e){card.bindInfo=e.data;var a={serverId:e.data.serverId,userId:e.data.userId};card.handleGetRoleList(a)})},card.handleGetRoleList=function(e){this.ajax({url:"/get_role_list",type:"POST",data:e},function(e){if(80001==e.error)return card.showToast({msg:e.message}),!1;var a=e.data,t="",o=[];card.relationRole=a;for(var n in a)o.push({id:n,name:a[n].name});t='<option value="-1">请选择</option>',$(o).each(function(e,a){var o="";o=a.name.indexOf("非硬核-")>-1?a.name.replace("非硬核-",""):a.name.indexOf("硬核-")>-1?a.name.replace("硬核-",""):a.name.indexOf("越狱-")>-1?a.name.replace("越狱-",""):a.name,t+='<option value="'+a.id+'">'+o+"</option>"}),$(".server-select").html(t),$(".loading").hide(),$(".dialog-server").fadeIn()})},card.bindRole=function(e){card.bindFlag=!1,this.ajax({url:"/bind/ald/role",type:"POST",data:e},function(a){0===a.error?($(".dialog").hide(),$(".role-select").html(""),location.href="/card/html?roleId="+e.roleId+"&serverId="+e.serverId):card.showToast({msg:a.message})})};var initRoleList=function(e){var a=card.relationRole[e].list,t='<option value="-1">请选择</option>';$(a).each(function(e,a){t+='<option value="'+a.roleId+'">'+a.roleName+"</option>"}),$(".role-select").html(t)};$(function(){$(".btn-card-bind-role").click(function(){var e=$(".server-select option:selected").val(),a=$(".server-select option:selected").text(),t=$(".role-select option:selected").val();if(roleName=$(".role-select option:selected").text(),!e||"-1"==e)return card.showToast({msg:"请选择服务器"}),!1;if(!t||"-1"==t)return card.showToast({msg:"请选择角色"}),!1;var o={roleId:t,serverId:e,serverName:a,roleName:roleName};card.bindFlag&&(setTimeout(function(){card.bindFlag=!0},3e3),card.bindRole(o))}),$(".server-select").change(function(){var e=$(this).val();if(-1==e)return $(".role-select").html(""),!1;initRoleList(e)}),$(".close").click(function(){$("select").html(""),$(".dialog").fadeOut()}),$(".btn-start").click(function(){card.handleGetServer()}),$(".btn-save").click(function(){var e=$(".postcard-container").height();$(".postcard-container").height(e),$(".loading").show(),$(".btn-save,.btn-share,.login-info").hide(),$("html,body").animate({scrollTop:0},0),setTimeout(function(){html2canvas(document.querySelector("#test"),{removeContainer:!0,allowTaint:!1,width:window.screen.availWidth,windowWidth:document.body.scrollWidth,x:0,y:0,useCORS:!0,logging:!0}).then(e=>{var a='<img src="'+e.toDataURL("image/jpeg",1)+'">';$(".dialog-img-content .img-scroll").html(a),$(".dialog-img").show(),$(".loading").hide()}),$(".postcard-container").addClass("fixed")},2e3),$(".postcard-container").addClass("fixed")}),$(".dialog-img,.share-img").click(function(){$(this).fadeOut(),$(".btn-save,.btn-share,.login-info").show(),$(".postcard-container").removeClass("fixed")})});
\ No newline at end of file
......@@ -19,13 +19,12 @@
window.onresize = function () {
reSizeRem();
}
window.onerror = function (e) {
alert(e)
}
</script>
<link rel="stylesheet" href="{{ asset('postcard/css/style.css?v=20210607') }}">
<link rel="stylesheet" href="{{ asset('postcard/css/style.css?v=2021060903') }}">
<script src="{{ asset('js/jquery.2.1.3.min.js') }}"></script>
<script src="{{ asset('postcard/js/html2canvas.js') }}"></script>
<script src="{{ asset('js/toast.js') }}"></script>
<script src="{{ asset('postcard/js/main.js?v=2021060903') }}"></script>
</head>
<body>
<div class="container postcard-container" id="test">
......@@ -60,6 +59,7 @@
0
@endif
小时</span></li>
<li class="role6"><span>{{ $honor }}</span></li>
</ul>
</div>
<div class="bottom">
......@@ -131,11 +131,11 @@
<div class="ggsk-container">
<div class="img-container">
@if($userImgStatus == -1) <img src="{{ asset('postcard/images/img_add.jpg') }}" class="img img-add" alt="">
<input type="file" id="file" accept="image/jpg, image/jpeg, image/png"> @endif
<input type="file" id="file" accept="image/*"> @endif
@if($userImgStatus == 0) <img src="{{ asset('postcard/images/img_sh.jpg') }}" class="img img-sh" alt=""> @endif
@if($userImgStatus == 1) <img src="{{ $userImg }}" class="img img-sh" alt=""> @endif
@if($userImgStatus == 2) <img src="{{ asset('postcard/images/sh_fail.jpg') }}" class="img img-sh" alt="">
<input type="file" id="file" accept="image/jpg, image/jpeg, image/png"> @endif
<input type="file" id="file" accept="image/*"> @endif
</div>
@if($userImgStatus != 1)
<span>建议尺寸(710*414px)jpg,jpeg,png</span>
......@@ -148,6 +148,10 @@
<!--本地保存-->
<a href="javascript:" class="btn-save"></a>
</div>
<div class="code">
<img src="{{ asset('postcard/images/ald_code.png') }}">
<p>长按二维码获取你的生涯战报</p>
</div>
</div>
<div class="dialog dialog-img hide">
......@@ -169,7 +173,6 @@
</div>
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
$(function () {
var isWeixin = function () {
//判断是否是微信
......@@ -202,27 +205,57 @@
renderHtml('#wq1', '{{ $armsStrong }}');
renderHtml('#wq2', '{{ $armsExciting }}');
renderHtml('#wq3', '{{ $armsScore }}');
function beforeUploadPicture(file) { // 直播大图
const width = 347
const height = 115
const isSize = new Promise(function(resolve, reject) {
const _URL = window.URL || window.webkitURL
const img = new Image()
img.onload = function() {
console.log(img.width,img.height)
const valid = img.width === width && img.height === height
valid ? resolve() : reject()
}
img.src = _URL.createObjectURL(file)
}).then(() => {
return true
}, () => {
return false
})
if (!isSize) {
this.$message.error('请上传尺寸为' + width + '*' + height + '的图片!')
return Promise.reject()
}
}
// 上传图片
$(document).on('change', '#file', function (e) {
var formData = new FormData();
var file = $("#file")[0].files[0];
var acceptFileTypes = /^image\/(gif|jpe?g|png)$/i;
var acceptFileTypes = /^image\/(jpe?g|png)$/i;
var roleId = getQueryString('roleId');
var serverId = getQueryString('serverId');
try{
// //文件类型判断
//文件类型判断
if (file && file.type && !acceptFileTypes.test(file.type)) {
alert('请上传jpg、jpeg或png格式的文件');
card.showToast({
msg: '请上传jpg、jpeg或png格式的文件'
});
$('#file').val('');
return false;
}
//文件大小判断
if (file && file.size > (2 * 1024 * 1024)) {
alert('请上传不超过2M的文件');
card.showToast({
msg: '请上传不超过2M的文件'
});
$('#file').val('');
return false;
}
}catch (e) {
console.log(e)
}
formData.append("imgFile", file);
formData.append("roleId", roleId);
formData.append("serverId", serverId);
......@@ -235,62 +268,26 @@
processData: false,
contentType: false,
dataType: "json",
success: function (data) {
success: function (res) {
$('#file').val('');
if(res.error != 0){
card.showToast({
msg: res.message
});
return false;
}
$('.img-add').hide();
$('.img-container').html('<img src="{{ asset('postcard/images/img_sh.jpg') }}" class="img img-sh" alt="">');
},
error: function (data) {
$('#file').val('');
card.showToast({
msg: '系统错误'
});
}
});
});
function baseImageUrl() {
setTimeout(function () {
html2canvas(document.querySelector("#test"), { //关键在于new
removeContainer: true,
allowTaint: false,
width: window.screen.availWidth,
windowWidth: document.body.scrollWidth,
x: 0,
y: 0,
useCORS: true,
logging:true
}).then(canvas => {
var image = canvas.toDataURL('image/jpeg', 1.0);
var img = '<img src="' + image + '">';
$('.dialog-img-content .img-scroll').html(img);
$('.dialog-img').show();
$('.loading').hide();
});
$('.postcard-container').addClass('fixed');
}, 2000)
}
$('.btn-save').click(function () {
var height = $('.postcard-container').height();
$('.postcard-container').height(height);
$('.loading').show();
$('.btn-save,.btn-share,.login-info').hide();
$('html,body').animate({
scrollTop: 0
}, 0);
baseImageUrl();
$('.postcard-container').addClass('fixed');
});
$('.dialog-img,.share-img').click(function () {
$(this).fadeOut();
$('.btn-save,.btn-share,.login-info').show();
$('.postcard-container').removeClass('fixed');
});
$('.btn-share').click(function () {
if(isWeixin()){
$('.share-img').show();
}
});
function _wechatConfig(o) {
wx.config({
......@@ -358,16 +355,21 @@
}
wx.ready(function () {
var title = '阿拉德之怒',
var title = '阿拉德之怒-生涯战报',
link = 'http://uc-card.aldzn.cn',
img = "http://uc-card.aldzn.cn/static/postcard/images/default_img.png",
desc = "阿拉德之怒-明信片";
desc = "生涯战报已出炉,快来晒晒你的个人档案!";
wx_share(title,link,img,desc);
});
wx.error(function (res) {
console.log(res);
});
$('.btn-share').click(function () {
if(isWeixin()){
$('.share-img').show();
}
});
});
</script>
</body>
......
......@@ -19,9 +19,10 @@
reSizeRem();
}
</script>
<link rel="stylesheet" href="{{ asset('postcard/css/style.css?v=20210607') }}">
<link rel="stylesheet" href="{{ asset('postcard/css/style.css?v=2021060903') }}">
<script src="{{ asset('js/jquery.2.1.3.min.js') }}"></script>
<script src="{{ asset('postcard/js/main.js?v=20210607') }}"></script>
<script src="{{ asset('js/toast.js') }}"></script>
<script src="{{ asset('postcard/js/main.js?v=2021060903') }}"></script>
</head>
<body>
<div class="container home-container">
......@@ -63,20 +64,12 @@
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
$(function(){
$('.close').click(function (){
$('select').html('');
$('.dialog').fadeOut();
});
$('.btn-start').click(function (){
card.handleGetServer();
});
var isWeixin = function () {
//判断是否是微信
var ua = navigator.userAgent.toLowerCase();
return ua.match(/MicroMessenger/i) == "micromessenger";
};
function _wechatConfig(o) {
wx.config({
debug: false,
appId: o.appId,
......@@ -100,17 +93,14 @@
}
});
}
if (isWeixin()) {
_getWechatJsSdkInfo(_wechatConfig);
}
wx.checkJsApi({
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'],
success: function (res) {
}
});
function wx_share(title, link, imgurl, desc) {
//朋友圈
wx.onMenuShareTimeline({
......@@ -142,13 +132,12 @@
}
wx.ready(function () {
var title = '阿拉德之怒',
var title = '阿拉德之怒-生涯战报',
link = 'http://uc-card.aldzn.cn',
img = "http://uc-card.aldzn.cn/static/postcard/images/default_img.png",
desc = "阿拉德之怒-明信片";
desc = "生涯战报已出炉,快来晒晒你的个人档案!";
wx_share(title,link,img,desc);
});
wx.error(function (res) {
console.log(res);
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment