懂視移動(dòng)端 視頻1 視頻21 視頻41 視頻61 視頻文章1 視頻文章21 視頻文章41 視頻文章61 視頻擴(kuò)展1 視頻擴(kuò)展6 視頻擴(kuò)展11 視頻擴(kuò)展16 文章1 文章201 文章401 文章601 文章801 文章1001 資訊1 資訊501 資訊1001 資訊1501 標(biāo)簽1 標(biāo)簽501 標(biāo)簽1001 關(guān)鍵詞1 關(guān)鍵詞501 關(guān)鍵詞1001 關(guān)鍵詞1501
當(dāng)前位置: 首頁(yè) - 手機(jī) - 正文

怎么使用微信掃描二維碼登錄網(wǎng)頁(yè)版微信

來(lái)源:懂視網(wǎng) 責(zé)編:小OO 時(shí)間:2020-04-16 15:56:37
導(dǎo)讀怎么使用微信掃描二維碼登錄網(wǎng)頁(yè)版微信,jsp+spring+struts2+mybatis:模仿微信pc網(wǎng)頁(yè)版掃碼登錄使用js代碼生成目前,很多軟件都可以使用第三方賬號(hào)登入。微信可謂是開(kāi)辟新徑,微信則使用二維碼掃描登錄。如何使用微信掃描二維碼登錄網(wǎng)頁(yè)版微信?方法首先,在桌面上找到360瀏覽器圖標(biāo)。打開(kāi)百度,搜索天天模擬器,進(jìn)入天天模擬器官網(wǎng)點(diǎn)擊官網(wǎng)里面的”立即下載“,跳出“新建下載任鼠標(biāo)右擊,找

jsp+spring+struts2+mybatis:模仿微信pc網(wǎng)頁(yè)版掃碼登錄使用js代碼生成

目前,很多軟件都可以使用第三方賬號(hào)登入。微信可謂是開(kāi)辟新徑,微信則使用二維碼掃描登錄。如何使用微信掃描二維碼登錄網(wǎng)頁(yè)版微信?

方法

首先,在桌面上找到360瀏覽器圖標(biāo)。

打開(kāi)百度,搜索天天模擬器,進(jìn)入天天模擬器官網(wǎng)點(diǎn)擊官網(wǎng)里面的”立即下載“,跳出“新建下載任

鼠標(biāo)右擊,找到“打開(kāi)”,鼠標(biāo)單擊一下進(jìn)入。

1、手機(jī)登錄自己的私人微信號(hào);2、電腦瀏覽器打開(kāi)微信網(wǎng)頁(yè)版登錄頁(yè)面;3、打開(kāi)手機(jī)微信上的“掃

進(jìn)入網(wǎng)頁(yè)后在搜索欄中輸入“微信網(wǎng)頁(yè)版”后,點(diǎn)擊“搜索”。

告訴你個(gè)十分管用的方法,我的是2.7.0,版本有點(diǎn)老,不過(guò)好用。首先要至少有兩個(gè)圖,其中一個(gè)是你

在出來(lái)的選項(xiàng)中,選擇帶有“官網(wǎng)”的“微信網(wǎng)頁(yè)版”,鼠標(biāo)單擊進(jìn)入。

直接登錄微信網(wǎng)頁(yè)版地址:wx.qq.com,會(huì)出現(xiàn)一個(gè)二維碼。然后,用手機(jī)登錄微信后,在微信頁(yè)面的“

此時(shí)網(wǎng)頁(yè)頁(yè)面會(huì)出現(xiàn)一個(gè)二維碼圖案,這時(shí)需要使用手機(jī)進(jìn)行掃描。

在電腦上登上wx.qq.com之后用手機(jī)掃一下屏幕上的二維碼即可登錄微信網(wǎng)頁(yè)版。具體可看圖。1.

掃描完成后,你的微信頭像會(huì)顯示出來(lái),然后需要在手機(jī)上確認(rèn)登錄。

簡(jiǎn)單說(shuō),就是二維碼包含了你的瀏覽器sessionid,可以認(rèn)為是瀏覽器的標(biāo)識(shí)符。掃描以后發(fā)個(gè)服務(wù)

最后可以看見(jiàn)成功登錄了網(wǎng)頁(yè)版微信,你可以根據(jù)需要發(fā)送文件或者和好友聊天了。

如果你是第一次登入網(wǎng)頁(yè)版微信,必須掃描二維碼,這樣才能確定你是在哪一臺(tái)電腦上登入。同一臺(tái)電腦第二次登

擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。

如何使用java實(shí)現(xiàn)二維碼掃描登錄微信網(wǎng)頁(yè)版(微信端)?

jsp+spring+struts2+mybatis:

模仿微信pc網(wǎng)頁(yè)版掃碼登錄

使用js代碼生成qrcode二維碼減輕服務(wù)器壓力

js循環(huán)請(qǐng)求服務(wù)端,判斷是否qrcode被掃

二維碼超時(shí)失效功能

二維碼被掃成功登錄,服務(wù)端產(chǎn)生sessionId,傳到頁(yè)面使用js保存cookie

多線程

### 生成qrcode相關(guān)js jquery.qrcode.js - ### 代碼 “

請(qǐng)使用手機(jī)掃碼

//生成二維碼 

!function(){ 

var uuid = (“#uuid”).val();

var content;

content = “……….do?uuid=”+uuid;

//console.dir(content);(‘.pc_qr_code’).qrcode({ 

render:”canvas”, 

width:200, 

height:200, 

correctLevel:0, 

text:content, 

background:”#ffffff”, 

foreground:”black”, 

src:”/logo.png” 

}); 

setCookie(“sid”, 123, -1*60*60*1000); 

keepPool();//自動(dòng)循環(huán)調(diào)用 

}();

   function keepPool(){

       var uuid = $("#uuid").val();

       $.get(ctx+"/web/login/pool.do",{uuid:uuid,},function(msg){//如果放入一個(gè)不存在的網(wǎng)址怎么辦?

           //console.log(msg);

           if(msg.successFlag == '1'){

               $("#result").html("掃碼成功");

               setCookie(msg.data.cname, msg.data.cvalue, 3*60*60*1000);

               //alert("將跳轉(zhuǎn)...");

               window.location.href = ctx +"/webstage/login/success.do";

           }else if(msg.successFlag == '0'){

               $("#result").html("該二維碼已經(jīng)失效,請(qǐng)重新獲取");

           }else{

               keepPool();

           }

       });

   }

   //設(shè)置cookie

   function setCookie(cname, cvalue, expireTime) {

    var d = new Date();

    d.setTime(d.getTime() + expireTime);//設(shè)置過(guò)期時(shí)間

    var expires = "expires="+d.toUTCString();

    var path = "path=/"

    document.cookie = cname + "=" + cvalue + "; " + expires + "; " + path;

   }

java代碼

//二維碼首頁(yè)public String index() {        try {

           uuid = UUID.randomUUID().toString();            super.getRequest().setAttribute("uuid", uuid);

           ScanPool pool = new ScanPool();

           pool.setCreateTime(System.currentTimeMillis());

           Map<String, ScanPool> map = new HashMap<String, ScanPool>(1);

           map.put(uuid, pool);

           PoolCache.cacheMap.put(uuid, pool);

           pool = null;

       } catch (Exception e) {

           Log4jUtil.CommonLog.error("pc生成二維碼登錄", e);

       }        return "index";

   }//判斷二維碼是否被掃描public void pool() {

       DataResultInfo result = null;

       System.out.println("檢測(cè)[   " + uuid + "   ]是否登錄");

       ScanPool pool = null;

       if(MapUtils.isNotEmpty(PoolCache.cacheMap)) pool = PoolCache.cacheMap.get(uuid);        try {            if (pool == null) {                // 掃碼超時(shí),進(jìn)線程休眠

               result = DataResultInfo.getInstance().failure();

               result.setSuccessFlag(CommonConstant.Zero);

               result.setExtension(CommonConstant.Zero, "該二維碼已經(jīng)失效,請(qǐng)重新獲取");

               Thread.sleep(10 * 1000L);

           } else {                // 使用計(jì)時(shí)器,固定時(shí)間后不再等待掃描結(jié)果--防止頁(yè)面訪問(wèn)超時(shí)

               new Thread(new ScanCounter(uuid, pool)).start();                boolean scanFlag = pool.getScanStatus(); //這里得到的ScanPool(時(shí)間靠前)和用戶使用手機(jī)掃碼后得到的不是一個(gè),用戶掃碼后又重新更新了ScanPool對(duì)象,并重新放入了redis中,,所以這里要等待上面的計(jì)時(shí)器走完,才能獲得最新的ScanPool

               if (scanFlag) {

                   result = DataResultInfo.getSuccess();                    // 根據(jù)e69da5e887aae799bee5baa6e997aee7ad9431333363396465uuid從redis中獲取pool對(duì)象,得到對(duì)應(yīng)的sessionId,返給頁(yè)面,通過(guò)js存cookie中

                   JSONObject jsonObj = new JSONObject();

                   jsonObj.put("cname", CookieConstant.SESSION_KEY);

                   jsonObj.put("cvalue", pool.getSession());

                   result.setData(jsonObj);

               } else {

                   result = DataResultInfo.getInstance().failure();

                   result.setMessage("等待掃描");

               }

           }

       } catch (Exception e) {

           e.printStackTrace();

       }

       sendJsonMessage(result);

   }//手機(jī)掃碼接口(以id和token作為用戶身份登錄)

public String phoneScanLogin() {

       DataResultInfo result = null;

        ScanPool pool = null;

        if(MapUtils.isNotEmpty(PoolCache.cacheMap)) pool = PoolCache.cacheMap.get(uuid);        try {            if (pool == null) {

               result = DataResultInfo.getInstance().failure();

               result.setMessage("該二維碼已經(jīng)失效,請(qǐng)重新獲取");

           } else {                if (StringUtils.isNotEmpty(id) && StringUtils.isNotEmpty(token)) {                    //根據(jù)id和token查詢后臺(tái),獲取用戶信息userBean

                   String redisToken = redisUtil.getRedis(RedisKeyConstant.APP_TOKEN+userId);                    if(redisToken != null && redisToken.equals(token)){

                  UserBean userBean = userService.findByUserId(Long.valueOf(userId));                       if (userBean != null) {

                           String sessionId = SessionConstant.SESSION_ID_PRE

                                   + FormatUtils.password(userBean.getId()

                                           .toString());

                           Map<String, String> cookieSession = new HashMap<String, String>();

                           cookieSession

                           .put(CookieConstant.SESSION_KEY, sessionId);                            // WrCookie.writeCookie(getResponse(),cookieSession);

                           // 添加用戶信息到redis

                           boolean re = redisUtil.addUserInfo( RedisKeyConstant.SESSION + sessionId, BeanUtils.toBean(userBean, UserInfo.class));

                           getSession().setAttribute( SessionConstant.USER_INFO_WEB, BeanUtils.toBean(userBean, UserInfo.class));

                           getSession().setAttribute( DomainConstant.USER_CENTER_KEY, DomainConstant.USER_CENTER);

                           pool.setSession(sessionId);

                           pool.scanSuccess();

                       }else{

                           result = DataResultInfo.getInstance().failure();

                           result.setMessage("用戶信息獲取異常!請(qǐng)稍后再試");

                       }

                   } else {

                       result = DataResultInfo.getInstance().failure();

                       result.setExtension("11", "用戶身份信息失效,請(qǐng)重新登錄!");

                   }

               } else {

                   result = DataResultInfo.getInstance().failure();

                   result.setMessage("請(qǐng)求參數(shù)有誤!");                    return "error";

               }                // 不能清除,否則conn方法得不到pool對(duì)象,不會(huì)進(jìn)入線程休眠

               // System.out.println("清除掃描過(guò)的uuid");

               //PoolCache.cacheMap.remove(uuid);

           }

       } catch (Exception e) {

           Log4jUtil.CommonLog.error("手機(jī)掃碼 后訪問(wèn) 異常", e);

       }

       sendJsonMessage(result);        return null;

   }//掃碼成功跳轉(zhuǎn)頁(yè)

public String success() {

       String sessionId = WrCookie.getCookie(super.getRequest(), CookieConstant.SESSION_KEY);

       UserInfo userInfo = redisUtil.getUserInfo(RedisKeyConstant.SESSION + sessionId);       super.getRequest().setAttribute(SessionConstant.USER_INFO_WEB, userInfo);        return SUCCESS;

   }//線程判斷二維碼是否超時(shí)class ScanCounter implements Runnable {    public Long timeout = 30 * 1000L; //超時(shí)時(shí)長(zhǎng)

   // 傳入的對(duì)象

   private String uuid;    private ScanPool scanPool;    public ScanCounter(String p, ScanPool scanPool) {

       uuid = p;        this.scanPool = scanPool;

   }    @Override

   public void run() {        try {

           Thread.sleep(timeout);

       } catch (InterruptedException e) {

           e.printStackTrace();

       }

       notifyPool(uuid, scanPool);

   }    public synchronized void notifyPool(String uuid, ScanPool scanPool) {        if (scanPool != null) scanPool.notifyPool();

   }    public String getUuid() {        return uuid;

   }    public void setUuid(String uuid) {        this.uuid = uuid;

   }    public ScanPool getScanPool() {        return scanPool;

   }    public void setScanPool(ScanPool scanPool) {        this.scanPool = scanPool;

   }

}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166

ScanPool.java(存放uuid的bean)

public class ScanPool implements Serializable{

   /**

    * @Fields serialVersionUID : TODO(用一句話描述這個(gè)變量表示什么)

    */

   private static final long serialVersionUID = -9117921544228636689L;    private Object session ;    //創(chuàng)建時(shí)間  

   private Long createTime = System.currentTimeMillis();  

   //登錄狀態(tài)  

   private boolean scanFlag = false;  

   public boolean isScan(){  

       return scanFlag;  

   }  

   public void setScan(boolean scanFlag){  

       this.scanFlag = scanFlag;

   }

   /**

    * 獲取掃描狀態(tài),如果還沒(méi)有掃描,則等待固定秒數(shù)

    * @param wiatSecond 需要等待的秒數(shù)

    * @return

    */  

   public synchronized boolean getScanStatus(){  

       try  

       {  

           if(!isScan()){ //如果還未掃描,則等待  

               this.wait();  

           }  

           if (isScan())  

           {   System.err.println("手機(jī)掃描完成設(shè)置getScanStatus..true...........");                return true;  

           }  

       } catch (InterruptedException e)  

       {  

           e.printStackTrace();  

       }  

       return false;  

   }  

   /**

    * 掃碼之后設(shè)置掃碼狀態(tài)

    * @param token

    * @param id

    */  

   public synchronized void scanSuccess(){  

       try  

       {  System.err.println("手機(jī)掃描完成setScan(true)....同時(shí)釋放notifyAll(手機(jī)掃碼時(shí),根據(jù)uuid獲得的scanpool對(duì)象)");

           setScan(true);

           this.notifyAll();  

       } catch (Exception e)  

       {  

           // TODO Auto-generated catch block  

           e.printStackTrace();  

       }  

   }  

   public synchronized void notifyPool(){  

       try  

       {  

           this.notifyAll();  

       } catch (Exception e)  

       {  

           // TODO Auto-generated catch block  

           e.printStackTrace();  

       }  

   }  

   /***********************************************/

   public Long getCreateTime()  

   {  

       return createTime;  

   }  

   public void setCreateTime(Long createTime)  

   {  

       this.createTime = createTime;  

   }    public Object getSession() {        return session;

   }    public void setSession(Object session) {        this.session = session;

   }

電腦版微信不用掃描二維碼怎么登錄

1、需要在電腦中下載安裝“安卓模擬器”和“微信安卓版”,安卓模擬器大家百度搜索一下,可以找到很多。下面我們這里使用的是“東東手游助手”,在電腦中打開(kāi)下載安裝的【東東手游助手】,然后在zhidao【我的應(yīng)用】中,點(diǎn)擊【安裝本地應(yīng)用】,然后打開(kāi)下載的【微信安卓版】進(jìn)行安裝;

2、在安卓模擬器中安裝微信安卓版成功后,就可以點(diǎn)擊【啟動(dòng)】打開(kāi)微信了;

3、接下來(lái)會(huì)彈出微信登陸界面,登陸界面不同微信網(wǎng)頁(yè)版,而是很手機(jī)版回基本相同,我們直接點(diǎn)擊左下角的【登陸】;

4、再接下來(lái)我們看到的默認(rèn)是手機(jī)號(hào)登陸,無(wú)需使用二維碼。如果手機(jī)在身答邊,可以接受驗(yàn)證碼的話,可以直接使用手機(jī)號(hào)登陸,然后獲取短信驗(yàn)證完成登陸。如果手機(jī)不在身邊或者丟了,我們還可以點(diǎn)擊下方的【使用其他方式登陸】。

微信登錄電腦版不掃二維碼怎么登陸

打開(kāi)百度,搜索天天模擬器,進(jìn)入天天模擬器官網(wǎng)

點(diǎn)擊官網(wǎng)里面的”百立即下載“,跳出“新建下載任務(wù)”框。

點(diǎn)擊“新建下載任務(wù)”框里面的“瀏覽”選擇把文件下載到電度腦的哪一個(gè)地方

《一般默認(rèn)的都是下載到電腦C盤,但是下載到C盤會(huì)很占電腦,導(dǎo)致電腦反應(yīng)變遲鈍問(wèn),所以建議下載到電腦的其他盤里面,D、E、F盤都可以》

文件下載好后,點(diǎn)擊“打開(kāi)文件夾”就可以看見(jiàn)天天模擬器的圖標(biāo)

咱們?cè)儆檬髽?biāo)左鍵雙擊圖標(biāo),出現(xiàn)如圖所示,點(diǎn)擊“運(yùn)行(答R)

點(diǎn)擊“運(yùn)行”出現(xiàn)如圖所示的框,點(diǎn)擊”開(kāi)始下載“

如果出現(xiàn)如圖類似的東西,請(qǐng)點(diǎn)擊右下角的“繼續(xù)版下載”,(如果沒(méi)有請(qǐng)忽權(quán)略這一步)

8

下載完成后,再按照提示完成操作,桌面就會(huì)有“天天模擬器的圖標(biāo)”了,雙擊圖標(biāo)

微信網(wǎng)頁(yè)版怎么用賬號(hào)登陸

1、手機(jī)登錄自己的私人微信號(hào);

2、電腦瀏覽來(lái)器打開(kāi)微信網(wǎng)頁(yè)版登錄頁(yè)面;

3、打開(kāi)手機(jī)微信上的“掃一掃”功能,對(duì)準(zhǔn)網(wǎng)頁(yè)版二維碼掃描;

4、掃描成功,請(qǐng)到手機(jī)微信上確認(rèn)登錄源網(wǎng)頁(yè)版,確認(rèn)好了之后,網(wǎng)頁(yè)版就會(huì)自動(dòng)加載你微信信息;

5、登錄成功,可以直接向好友或者微信群發(fā)送消息zhidao。

溫馨提醒:微信網(wǎng)頁(yè)版沒(méi)有朋友圈功能,而且對(duì)話列表不會(huì)顯示公眾號(hào)發(fā)來(lái)的信息。

電腦版微信怎么掃描二維碼

告訴你個(gè)十分管用的方法,

我的來(lái)是2.7.0,版本有點(diǎn)老,不過(guò)好用。首先要至少有兩個(gè)圖,其中一個(gè)是你要識(shí)別的圖,另一個(gè)隨源便。把這兩個(gè)圖分開(kāi)發(fā)給任意一個(gè)人或微信傳輸助手。百你要點(diǎn)開(kāi)沒(méi)用的那個(gè)圖,也就是隨便找的那個(gè)圖。點(diǎn)開(kāi)后,右鍵,有四個(gè)選項(xiàng),然后,移動(dòng)鼠標(biāo)度,不要管這四個(gè)東西,鼠標(biāo)移動(dòng)到圖片右側(cè)或左側(cè)(這個(gè)要根據(jù)你發(fā)圖知片的順序,反正是要點(diǎn)到要識(shí)別的圖),點(diǎn)擊切換上一張或下一張,就來(lái)到了要識(shí)別道的圖了。離成功僅差一步:右鍵,點(diǎn)開(kāi)你就有驚喜。

望采納,謝謝!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com

  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

windows7電腦系統(tǒng)32位和64位區(qū)別 如何用電腦錄像 耳機(jī)電流聲該如何消除 如何給WPS文檔添加目錄 今日頭條電腦版下載如何下載 怎么在wps里面插入方框里打鉤符號(hào) 鍵盤按鍵錯(cuò)亂如何解決 wps中流程圖如何制作 教你怎么完美將excel表格粘貼到word中 WPS表格中乘積方法 qq申訴失敗如何處理 如何解決電腦連接手機(jī)出現(xiàn)設(shè)備驅(qū)動(dòng)安裝失敗 Photoshop技巧:【2】如何摳頭發(fā) 手機(jī)qq該如何一次性發(fā)消息給多位好友 電腦mac地址該如何查 網(wǎng)頁(yè)字體變小了如何解決 暴風(fēng)影音如何截取視頻片段 怎么查詢企業(yè)營(yíng)業(yè)執(zhí)照年檢是否公示成功 如何查找ip地址 微信群怎么找?怎么加入微信群 win10怎么更改時(shí)間、更改時(shí)區(qū) 如何去除cad中的bak文件 怎么修改文件圖標(biāo) excel表格怎么插入頁(yè)眉頁(yè)腳 ie 瀏覽器點(diǎn)擊沒(méi)反應(yīng)且啟動(dòng)不起來(lái)如何解決 手把手教你用excel2010做柏拉圖(pareto) word打不開(kāi)發(fā)送錯(cuò)誤報(bào)告如何解決 電腦卡、反應(yīng)速度慢的應(yīng)對(duì)技巧 如何查看網(wǎng)站流量 該如何在excel表格中劃線? 如何取消在京東綁定的手機(jī)號(hào)碼 教你刪除office激活殘留注冊(cè)表解決0xC004F074 MyEclipse 插件svn 安裝教程 百度知道問(wèn)答推廣如何做 怎么查找網(wǎng)站ip地址 新浪微博怎么查看評(píng)論過(guò)的微博 電腦屏幕怎么調(diào)亮 qq登陸后圖標(biāo)不見(jiàn)了找不到,QQ登陸后不顯示圖標(biāo) 菜鳥(niǎo)驛站代收服務(wù)是什么?代收收費(fèi)嗎? 怎么設(shè)置微信朋友圈權(quán)限
Top