Layabox 위챗 프로필 사진 요청

1371 단어
라야가 위챗 프로필 사진을 얻는 방식에 대해 많이 찾았지만, 모두 제한이 있거나 매우 번거롭다.
기본은 두 종류로 나뉜다. 서버가 위챗 이미지를 가져와 로컬 서버에 저장한 다음에 클라이언트에게 돌려보낸다.
hack과 같은 방식으로 프로필 사진을 가져와서 등급에 문제가 있습니다.바로 크로스 필드입니다.
laya의 httpRequest로 직접 요청하려고 합니다. 크로스 필드 문제가 없습니다. 테스트 코드:
// ------------------- -------------------
//  
var headCache = {};

/**
 *  
 * @param { Url} headUrl 
 * @param { Img} showImg 
 */
function getWXHead(headUrl, showImg){
    if(headCache[headUrl] != undefined){
        showImg.skin = (headCache[headUrl]);
    }else{
        //  
        let httpRequest = new Laya.HttpRequest();
        httpRequest.once(Laya.Event.COMPLETE, this, (data)=>{
            let byte = new Laya.Byte(data);
            byte.writeArrayBuffer(data, 4);
            let blob = new Laya.Browser.window.Blob([data], {type:'image/apng'});
            let url = Laya.Browser.window.URL.createObjectURL(blob);
            showImg.skin = (url);
            //  
            headCache[headUrl] = url;
        });
        httpRequest.once(Laya.Event.ERROR, this, (data)=>{
            //  
            console.error(data);
        });
        //  
        httpRequest.send(headUrl, '', 'get', 'arraybuffer');
    }
}
// ------------------- -------------------

두 개의 매개 변수, 첫 번째는 프로필 사진의 URL, 두 번째는laya의 이미지 컨트롤입니다.효과가 괜찮고 서버도 대역폭과 저장 압력을 줄일 수 있다.

좋은 웹페이지 즐겨찾기