https://wx2.qq.com/?&lang=zh_CN

	    /**
* 启动二维码登录
*/
function doQrcodeLogin() {
loginFactory.getUUID().then(function (uuid) {
utilFactory.log('login',uuid);
$scope.uuid = uuid;
$scope.qrcodeUrl = 'https://login.weixin.qq.com/qrcode/'+ uuid;
$scope.code = 0;
$scope.isScan = false;
$scope.isIPad = utilFactory.isIPad;
$scope.isMacOS = utilFactory.isMacOS;
$scope.isWindows = utilFactory.isWindows;
$scope.lang = utilFactory.queryParser().lang || 'zh_CN'; var qrcodeLoaded = false;
reportService.report(reportService.ReportType.timing,{
timing:{
qrcodeStart:Date.now()
}
});
setTimeout(function(){
if(!qrcodeLoaded){
reportService.report(reportService.ReportType.picError,{
text:'qrcode can not load',
src:$scope.qrcodeUrl
});
}
},3000);
$scope.qrcodeLoad = function(){
qrcodeLoaded = true;
reportService.report(reportService.ReportType.timing,{
timing:{
qrcodeEnd:Date.now()
}
});
};
loginFactory.checkLogin(uuid,1).then(checkLoginHandler, function (data){
if(!data && window.checkLoginPromise){
$scope.isBrokenNetwork = true;
}else{
$scope.isBrokenNetwork = false;
}
});
}, function (code){
console.log('get uuid error');
if(!code){
$scope.isBrokenNetwork = true;
}else{
$scope.isBrokenNetwork = false;
}
});
}


	angular.module('Services')
.factory('loginFactory', ['$http', '$q','$timeout', 'accountFactory', 'confFactory', 'utilFactory','mmHttp','reportService', function($http, $q, $timeout, accountFactory, confFactory,utilFactory,mmHttp,reportService) {
var service = {
getUUID: function () {
var deferred = $q.defer();
window.QRLogin = {};
// ie8
$.ajax({
url: confFactory.API_jsLogin,
dataType : "script",
timeout : 10000
}).done(function() {
if(window.QRLogin.code==200){
deferred.resolve(window.QRLogin.uuid);
}else{
deferred.reject(window.QRLogin.code);
}
}).fail(function(){
deferred.reject();
console.log('get uuid fail.....');
});
/*$http.jsonp(confFactory.API_jsLogin).success(function(data){
//not standard jsonp, call error handler.
}).error(function(data){
if(window.QRLogin.code==200){
deferred.resolve(window.QRLogin.uuid);
}else{
deferred.reject(window.QRLogin.code);
}
});*/
return deferred.promise;
},
getQrcode: function (argument) {
// body...
},


def like_wx_uuid(random_digit=12, reserved_digit=2):
'''
微信网页版 https://wx.qq.com/

https://res.wx.qq.com/a/wx_fed/webwx/res/static/js/index_c7d281c.js https://res.wx.qq.com/a/wx_fed/webwx/res/static/js/index_c7d281c.js
getUUID: function () {
var deferred = $q.defer();
window.QRLogin = {};
// ie8
$.ajax({
url: confFactory.API_jsLogin,
dataType : "script",
timeout : 10000
}).done(function() {
if(window.QRLogin.code==200){
deferred.resolve(window.QRLogin.uuid);
}else{
deferred.reject(window.QRLogin.code);
}
}).fail(function(){
deferred.reject();
console.log('get uuid fail.....');
});
/*$http.jsonp(confFactory.API_jsLogin).success(function(data){
//not standard jsonp, call error handler.
}).error(function(data){
if(window.QRLogin.code==200){
deferred.resolve(window.QRLogin.uuid);
}else{
deferred.reject(window.QRLogin.code);
}
});*/
return deferred.promise;
},

e.g.
wbJM5_KqQw==
oYN1ZHR-Tw==
Yf-wiqev-g==

app.
https://login.weixin.qq.com/qrcode/Yf-wiqev-g==
'''

assert random_digit > reserved_digit
import random, string
pool = string.ascii_letters + '-_' + string.digits
return ''.join(random.choice(pool) if i < random_digit - reserved_digit else '=' for i in range(random_digit))


get uuid的更多相关文章

  1. 使用C#代码生成一个随机的UUID

    在日常开发中常见于生成主键的ID,比较规范好用,详细代码如下(写注释是个好习惯): using System;using System.Collections.Generic;using System ...

  2. JAVA UUID 生成

    UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成UUID的API.UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址.纳秒级时间.芯 ...

  3. UUID库

    If you cannot afford to use Boost, then there is a very minimal library that I implemented which sim ...

  4. Solr4.0 如何配置使用UUID自动生成id值

    原文链接http://blog.csdn.net/keepthinking_/article/details/8501058#comments 最近学习了Lucene,随便也学习了Solr,Solr规 ...

  5. 解决svn uuid变更问题

    简介: 今天在snv根目录下重新定位上传的url,更改后出现如下错误 .可以看到,原来Repository创建者的uuid是前者,而现在我操作的是后者的uuid.因此,目前的操作办法是 使用相关命令更 ...

  6. python使用uuid库生成唯一id

    概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifi ...

  7. hibernate UUID问题

    前言:hibernate对于字符串类型主键支持UUID主键生成策略,(号称是世界上唯一的字符串) 运行环境:运行环境:hibernate5.2,mysql5.6 一,使用hibernate给Strin ...

  8. VC++ 产生GUID或UUID

    GUID 和 UUID 是一样的,表示全球唯一标识码. 下面是Windows系统中,产生GUID的一种方法(Windows API) char* GUID_Generator() { ] = {}; ...

  9. UUID

    首先我们要知道UUID是什么?有什么用?为什么要使用它? UUID是什么? UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定.如此一来,每个 ...

  10. mysql主键uuid、uuid_short和int自增对比

    数据库主键性能对比: 名称 存储长度 生成方式 1. uuid 32+4 uuid()函数 2. uuid20 20 UUID_SHORT()函数 3. bigint自增 20 auto_increm ...

随机推荐

  1. (十四)、shell脚本之shell基础(上)

    一.shell脚本介绍 1.使用脚本的原因 其中使用脚本的一个最主要的原因是因为一个字"懒",在处理自动循环或者大的任务方面可以偷懒且省时间,如果有处理一个任务的命令清单,一个任务 ...

  2. Java获取X509证书里的指纹(SHA-1)从pxf文件里面

    直接通过流去获取pxf后缀文件的内容,指纹通过X509才能获取.String keyStorefile = "pfx文件地址";String strPassword = " ...

  3. stm32之定时器彻底研究

    分类: C/C++ 这里介绍两种方式使用stm32的定时器:直接操作寄存器和使用st的官方的库文件. 相比较而言,直接操作定时器比较简洁,对着寄存器看十分明了.而使用库文件有一点晕头转向. (个人观点 ...

  4. IT 界那些朗朗上口的“名言

    中国有很多古代警世名言,朗朗上口,凝聚了很多故事与哲理.硅谷的互联网公司里头也有一些这样的名言,凝聚了很多公司价值观和做事的方法,对于很多程序员来说,其影响潜移默化.这里收集了一些,如下. Stay ...

  5. 关于HashSet

    HashSet存储数据原理: 当HashSet调用add方法时,有返回值,返回值是boolean类型,表示是否添加成功(如果对象不存在,则添加成功,否则添加失败) 但是,添加的过程并不是一个个去遍历去 ...

  6. java的多线程:java安全问题产生的原因与JMM的关系

    一.多线程产生安全问题 1.Java内存模型 共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见. 从抽象的角度来看,JMM定义了线程和主内存 ...

  7. Linux下使用acme.sh申请和管理Let’s Encrypt证书

    关于Let's Encrypt 免费SSL证书 Let's Encrypt 作为一个公共且免费 SSL 的项目逐渐被广大用户传播和使用,是由 Mozilla.Cisco.Akamai.IdenTrus ...

  8. Sentinel限流之快速失败和漏桶算法

    距离上次总结Sentinel的滑动窗口算法已经有些时间了,原本想着一口气将它的core模块全部总结完,但是中间一懒就又松懈下来了,这几天在工作之余又重新整理了一下,在这里做一个学习总结. 上篇滑动窗口 ...

  9. python的默认参数的一个坑

    前言 pass 正文 在 https://docs.python.org/3/tutorial/controlflow.html#default-argument-values 中,有这样一段话 Im ...

  10. 【SpringBoot1.x】SpringBoot1.x 数据访问

    SpringBoot1.x 数据访问 简介 对于数据访问层,无论是 SQL 还是 NOSQL,Spring Boot 默认采用整合 Spring Data 的方式进行统一处理,添加大量自动配置,屏蔽了 ...