处理可以完成聊天了
This commit is contained in:
parent
5fb1741713
commit
82d6c0c7d9
4
app.js
4
app.js
@ -32,14 +32,14 @@ app.use('/users', users);
|
||||
app.use('/message', message);
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use(function(req, res, next) {
|
||||
app.use(function (req, res, next) {
|
||||
var err = new Error('Not Found');
|
||||
err.status = 404;
|
||||
next(err);
|
||||
});
|
||||
|
||||
// error handler
|
||||
app.use(function(err, req, res, next) {
|
||||
app.use(function (err, req, res, next) {
|
||||
// set locals, only providing error in development
|
||||
res.locals.message = err.message;
|
||||
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
||||
|
56
io/io.js
56
io/io.js
@ -10,6 +10,7 @@ var AppConfig = require('../config');
|
||||
var Common = require('../utils/common');
|
||||
var msgModel = require('../model/message');
|
||||
const sessoionModel = require('../model/session');
|
||||
const userModel = require('./../model/users');
|
||||
|
||||
//服务端连接
|
||||
function ioServer(io) {
|
||||
@ -47,24 +48,25 @@ function ioServer(io) {
|
||||
if (type != 'kefu') {
|
||||
let gongHao = msg.kefu_id;
|
||||
let location = Common.getIpLocation(msg.ip);
|
||||
console.log('来自', location, '的客户连接并登录了处理客服gongHao=>', gongHao)
|
||||
// 获取管理员的socket
|
||||
try {
|
||||
//获取管理员 socket
|
||||
let kefuData = await sessoionModel.find(gongHao);
|
||||
let kefuData = await sessoionModel.find(gongHao,null);
|
||||
if (kefuData) { // 找到客服数据
|
||||
console.log('来自', location, '的客户连接,处理客服 gongHao=>', gongHao)
|
||||
// let socket = socket.id;
|
||||
// let type = 'customer';
|
||||
// let kefu_id = gongHao;
|
||||
|
||||
let clientInfo = {
|
||||
"uid": uid,
|
||||
"nickname": location + ' 客户',
|
||||
"type": 'online',
|
||||
uid,
|
||||
nickname: location + ' 客户',
|
||||
type: 'online',
|
||||
status: 1,
|
||||
};
|
||||
// 添加客户到 对应的客服
|
||||
await sessoionModel.createOrUpdate({uid}, (isCreate) => {
|
||||
console.log('is new ',isCreate);
|
||||
let data = {
|
||||
uid,
|
||||
socket: socket.id,
|
||||
@ -73,12 +75,19 @@ function ioServer(io) {
|
||||
};
|
||||
if (isCreate) {
|
||||
data['type'] = 'customer';
|
||||
data['nickname'] = clientInfo.name;
|
||||
data['nickname'] = clientInfo.nickname;
|
||||
}
|
||||
return data;
|
||||
})
|
||||
socket.emit('connect-success',{
|
||||
nickname:kefuData.nickname,
|
||||
socket:kefuData.socket,
|
||||
status:kefuData.status
|
||||
});
|
||||
// 给管理员发送通知
|
||||
io.to(kefuData.socket).emit('update-users', clientInfo);
|
||||
}else{
|
||||
socket.emit('log','暂无客服可用,请使用其他方式联系!')
|
||||
}
|
||||
} catch (e) {
|
||||
//TODO 失败重发机制
|
||||
@ -88,16 +97,32 @@ function ioServer(io) {
|
||||
}
|
||||
else {
|
||||
try {
|
||||
let kefu = await userModel.findByUserName(uid);
|
||||
// 保存客服socket
|
||||
sessoionModel.createOrUpdate({uid}, {
|
||||
uid,
|
||||
socket: socket.id,
|
||||
type: 'kefu',
|
||||
nickname: '客服 ' + uid,
|
||||
nickname: kefu.nickname,
|
||||
status: 1
|
||||
})
|
||||
|
||||
try{
|
||||
let sessList = await sessoionModel.findByCondition({status:1,kefu_id:uid});
|
||||
|
||||
sessList.forEach(s => {
|
||||
io.to(s.socket).emit('connect-success',{
|
||||
nickname:kefu.nickname,
|
||||
socket:socket.id,
|
||||
status:1
|
||||
});
|
||||
// io.to(s.socket).emit('kefu-logout', user);
|
||||
});
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
} catch (e) {
|
||||
console.log('客服' + uid + '登录失败了', e);
|
||||
console.log('客服 ' + uid + ' 登录失败了', e);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -107,9 +132,22 @@ function ioServer(io) {
|
||||
// _self.updateOnlineCount(false);
|
||||
let user = socket['_user'];
|
||||
if (user) {
|
||||
console.log("与服务其断开",user);
|
||||
// 更新用户状态
|
||||
await sessoionModel.update(user.uid, {status: 0});
|
||||
console.log("用户已经中断了连接",user);
|
||||
if(user.type == 'kefu'){
|
||||
// 将所有的客服服务对象下线
|
||||
try{
|
||||
let sessList = await sessoionModel.findByCondition({status:1,kefu_id:user.uid});
|
||||
|
||||
sessList.forEach(s => {
|
||||
io.to(s.socket).emit('kefu-logout', user);
|
||||
});
|
||||
}catch(e){
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (user.type == 'customer' && user.kefu_id) {
|
||||
// 查找对应kf通知下线操作
|
||||
let kf_data = await sessoionModel.find(user.kefu_id);
|
||||
|
@ -21,9 +21,13 @@ const sessionModel = mongoose.model("sessions", SessionSchema);
|
||||
|
||||
|
||||
module.exports = {
|
||||
find(uid) {
|
||||
find(uid,status = 1) {
|
||||
return new Promise((success, fail) => {
|
||||
sessionModel.findOne({uid, status: 1}, (err, session) => {
|
||||
let condition = {uid};
|
||||
if(status != null){
|
||||
condition.status = status;
|
||||
}
|
||||
sessionModel.findOne(condition, (err, session) => {
|
||||
if (err) fail(err);
|
||||
else success(session)
|
||||
})
|
||||
|
@ -12,9 +12,11 @@
|
||||
"ejs": "~2.5.6",
|
||||
"express": "~4.15.2",
|
||||
"express-session": "^1.16.2",
|
||||
"global": "^4.4.0",
|
||||
"lib-qqwry": "^1.3.1",
|
||||
"mongoose": "^4.12.5",
|
||||
"morgan": "~1.8.1",
|
||||
"nodemon": "^2.0.2",
|
||||
"qiniu": "^7.1.1",
|
||||
"redis": "^2.8.0",
|
||||
"serve-favicon": "~2.4.2",
|
||||
|
BIN
public/.DS_Store
vendored
Normal file
BIN
public/.DS_Store
vendored
Normal file
Binary file not shown.
@ -6,6 +6,19 @@ body {
|
||||
a {
|
||||
color: #00B7FF;
|
||||
}
|
||||
.float-left{
|
||||
float:left;
|
||||
}
|
||||
.float-right{
|
||||
float:right;
|
||||
}
|
||||
.clear-float::after{
|
||||
content:' ';
|
||||
display: block;
|
||||
}
|
||||
.clear-float,.clear-float::after{
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.page-current{
|
||||
background: #ffffff;
|
||||
@ -159,7 +172,7 @@ a {
|
||||
|
||||
.footer .input-holder .text-holder {
|
||||
float: left;
|
||||
width: calc(100% - 3rem);
|
||||
width: calc(100% - 1.5rem);
|
||||
position: relative;
|
||||
padding-right: 50px;
|
||||
padding-left: 4px;
|
||||
@ -176,14 +189,10 @@ a {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
resize: none;
|
||||
vertical-align: middle;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
word-break: break-all;
|
||||
font-size: 14px;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.footer .input-holder .text-holder #btnSend {
|
||||
@ -209,7 +218,7 @@ a {
|
||||
|
||||
.emoji-image{
|
||||
float: left;
|
||||
width: 3rem;
|
||||
width: 1.5rem;
|
||||
text-align: center;
|
||||
margin-top: 0.85rem;
|
||||
}
|
||||
@ -257,3 +266,14 @@ a {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.log-box{
|
||||
text-align: center;
|
||||
}
|
||||
.log-box .log-content{
|
||||
background: #ddd;
|
||||
color:#fff;
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
font-size: 13px;
|
||||
border-radius: 20px;
|
||||
}
|
@ -141,6 +141,21 @@
|
||||
font-size: 12px;
|
||||
padding:14px 0;
|
||||
}
|
||||
.user-info .rename{
|
||||
position: absolute;
|
||||
width: 50px;
|
||||
font-size: 13px;
|
||||
display: none;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 50px;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
line-height: 50px;
|
||||
}
|
||||
.user-info:hover .rename{
|
||||
display: block;
|
||||
}
|
||||
|
||||
.empty-status{
|
||||
width: 150px;
|
||||
|
BIN
public/images/.DS_Store
vendored
Normal file
BIN
public/images/.DS_Store
vendored
Normal file
Binary file not shown.
2
public/images/client/kefu.svg
Normal file
2
public/images/client/kefu.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1578571814712" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3697" width="128" height="128" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: taokezhushouiconfont; src: url("//at.alicdn.com/t/font_1403861_g7r9u7xhff.eot?#iefix") format("embedded-opentype"), url("//at.alicdn.com/t/font_1403861_g7r9u7xhff.woff2") format("woff2"), url("//at.alicdn.com/t/font_1403861_g7r9u7xhff.woff") format("woff"), url("//at.alicdn.com/t/font_1403861_g7r9u7xhff.ttf") format("truetype"), url("//at.alicdn.com/t/font_1403861_g7r9u7xhff.svg#iconfont") format("svg"); }
|
||||
</style></defs><path d="M512 554.666667m-384 0a384 384 0 1 0 768 0 384 384 0 1 0-768 0Z" fill="#EDEEF0" p-id="3698"></path><path d="M597.333333 1002.666667v-42.666667a320 320 0 0 0 320-320h42.666667a362.666667 362.666667 0 0 1-362.666667 362.666667z" fill="#CACBCC" p-id="3699"></path><path d="M381.568 707.157333a21.333333 21.333333 0 1 1 23.765333-35.456 190.378667 190.378667 0 0 0 106.666667 32.298667 192.298667 192.298667 0 0 0 106.666667-32.298667 21.333333 21.333333 0 1 1 23.765333 35.413334A233.045333 233.045333 0 0 1 512 746.666667a234.965333 234.965333 0 0 1-130.432-39.509334z" fill="#FFC13C" p-id="3700"></path><path d="M618.666667 960m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#5BADFF" p-id="3701"></path><path d="M1024 512h-85.333333c0-235.648-191.018667-426.666667-426.666667-426.666667S85.333333 276.352 85.333333 512H0C0 229.248 229.248 0 512 0s512 229.248 512 512z" fill="#111314" fill-opacity=".72" p-id="3702"></path><path d="M0 384m34.133333 0l102.4 0q34.133333 0 34.133334 34.133333l0 273.066667q0 34.133333-34.133334 34.133333l-102.4 0q-34.133333 0-34.133333-34.133333l0-273.066667q0-34.133333 34.133333-34.133333Z" fill="#535456" p-id="3703"></path><path d="M853.333333 384m34.133334 0l102.4 0q34.133333 0 34.133333 34.133333l0 273.066667q0 34.133333-34.133333 34.133333l-102.4 0q-34.133333 0-34.133334-34.133333l0-273.066667q0-34.133333 34.133334-34.133333Z" fill="#535456" p-id="3704"></path></svg>
|
After Width: | Height: | Size: 2.2 KiB |
@ -1,72 +1,73 @@
|
||||
$(function(){
|
||||
$(function () {
|
||||
//Socket.IO 连接
|
||||
var socket = io.connect('http://'+document.domain+':9010',{
|
||||
"transports":['websocket', 'polling']
|
||||
var socket = io.connect('http://' + document.domain + ':9010', {
|
||||
transports: ['websocket', 'polling'],
|
||||
autoConnect: false
|
||||
});
|
||||
var uuid = '';
|
||||
|
||||
function insert_client_html(msg){
|
||||
function insert_client_html(msg) {
|
||||
var time = dateFormat();
|
||||
if(msg.time){
|
||||
time = dateFormat("yyyy-MM-dd hh:mm:ss",new Date(msg.time));
|
||||
if (msg.time) {
|
||||
time = dateFormat("yyyy-MM-dd hh:mm:ss", new Date(msg.time));
|
||||
}
|
||||
if(!msg.chat_type){
|
||||
if (!msg.chat_type) {
|
||||
msg.chat_type = 'text';
|
||||
}
|
||||
var tpl = '<div class="msg-box">'+
|
||||
'<div class="msg-client">'+
|
||||
'<div class="date">' + time + ' 我' + '</div>';
|
||||
var tpl = '<div class="msg-box">' +
|
||||
'<div class="msg-client">' +
|
||||
'<div class="date">' + time + ' 我' + '</div>';
|
||||
|
||||
if(msg.chat_type == "text"){
|
||||
tpl += '<div class="bubble rich-text-bubble">'+
|
||||
'<span class="arrow"></span>'+
|
||||
'<div class="text">' + msg.content + '</div>'+
|
||||
'<span class="status icon"></span>'+
|
||||
'</div>';
|
||||
}else if(msg.chat_type == "image"){
|
||||
if (msg.chat_type == "text") {
|
||||
tpl += '<div class="bubble rich-text-bubble">' +
|
||||
'<span class="arrow"></span>' +
|
||||
'<div class="text">' + msg.content + '</div>' +
|
||||
'<span class="status icon"></span>' +
|
||||
'</div>';
|
||||
} else if (msg.chat_type == "image") {
|
||||
tpl += ' <div class="msg-client-img">' +
|
||||
' <a href="'+ msg.image +'"target="_blank">' +
|
||||
' <img src="' + msg.image + '" alt="photo">'+
|
||||
' <a href="' + msg.image + '"target="_blank">' +
|
||||
' <img src="' + msg.image + '" alt="photo">' +
|
||||
' </a>' +
|
||||
' </div>';
|
||||
}
|
||||
|
||||
tpl += '</div>'+
|
||||
'</div>';
|
||||
tpl += '</div>' +
|
||||
'</div>';
|
||||
$(".msg-container").append(tpl);
|
||||
}
|
||||
|
||||
function insert_agent_html(msg){
|
||||
function insert_agent_html(msg) {
|
||||
var time = dateFormat();
|
||||
if(msg.time){
|
||||
time = dateFormat("yyyy-MM-dd hh:mm:ss",new Date(msg.time));
|
||||
if (msg.time) {
|
||||
time = dateFormat("yyyy-MM-dd hh:mm:ss", new Date(msg.time));
|
||||
}
|
||||
if(!msg.chat_type){
|
||||
if (!msg.chat_type) {
|
||||
msg.chat_type = 'text';
|
||||
}
|
||||
var tpl = '<div class="msg-box">'+
|
||||
'<div class="msg-agent">'+
|
||||
'<div class="agent-avatar">'+
|
||||
'<img src="https://s3-qcloud.meiqia.com/pics.meiqia.bucket/avatars/20170929/972a7c64426ed82da1de67ac3f16bd07.png">'+
|
||||
'</div>'+
|
||||
'<div class="date">' + time + ' 客服' + '</div>';
|
||||
var tpl = '<div class="msg-box">' +
|
||||
'<div class="msg-agent">' +
|
||||
'<div class="agent-avatar">' +
|
||||
'<img src="images/client/kefu.svg">' +
|
||||
'</div>' +
|
||||
'<div class="date">' + time + ' 客服' + '</div>';
|
||||
|
||||
if(msg.chat_type == "text"){
|
||||
tpl += '<div class="bubble rich-text-bubble">'+
|
||||
'<span class="arrow-bg"></span>'+
|
||||
'<span class="arrow"></span>'+
|
||||
'<div class="text"></div>'+
|
||||
'</div>';
|
||||
}else if(msg.chat_type == "image"){
|
||||
if (msg.chat_type == "text") {
|
||||
tpl += '<div class="bubble rich-text-bubble">' +
|
||||
'<span class="arrow-bg"></span>' +
|
||||
'<span class="arrow"></span>' +
|
||||
'<div class="text"></div>' +
|
||||
'</div>';
|
||||
} else if (msg.chat_type == "image") {
|
||||
tpl += ' <div class="msg-agent-img">' +
|
||||
' <a href="'+ msg.image +'"target="_blank">' +
|
||||
' <img src="' + msg.image + '" alt="photo">'+
|
||||
' <a href="' + msg.image + '"target="_blank">' +
|
||||
' <img src="' + msg.image + '" alt="photo">' +
|
||||
' </a>' +
|
||||
' </div>';
|
||||
}
|
||||
tpl += '</div>'+
|
||||
tpl += '</div>' +
|
||||
'</div>';
|
||||
$(tpl).appendTo(".msg-container").find('.text').html(msg.content.replace(/\n/g,"<br>"));
|
||||
$(tpl).appendTo(".msg-container").find('.text').html(msg.content.replace(/\n/g, "<br>"));
|
||||
}
|
||||
|
||||
//聊天窗口自动滚到底
|
||||
@ -76,33 +77,53 @@ $(function(){
|
||||
}
|
||||
|
||||
//获取最新的五条数据
|
||||
function get_message(uid) {
|
||||
$.get('/message?uid='+uid,function (data) {
|
||||
if(data.code == 200){
|
||||
function get_message(uid, callback = null) {
|
||||
$.get('/message?uid=' + uid, function (data) {
|
||||
if (data.code == 200) {
|
||||
data.data.reverse().forEach(function (msg) {
|
||||
if(msg.from_uid == uid){
|
||||
if (msg.from_uid == uid) {
|
||||
insert_client_html(msg);
|
||||
}else{
|
||||
} else {
|
||||
insert_agent_html(msg);
|
||||
}
|
||||
|
||||
scrollToBottom();
|
||||
});
|
||||
if (callback) {
|
||||
callback.call();
|
||||
}
|
||||
|
||||
scrollToBottom();
|
||||
}
|
||||
});
|
||||
}
|
||||
function showLog(message) {
|
||||
var log = $('<div class="msg-box log-box" ></div>');
|
||||
log.html('<span class="log-content">' + message + '</span>').appendTo('#msg-container');
|
||||
}
|
||||
|
||||
|
||||
const gongHao = 10001;
|
||||
$("#btnSend").click(function(){
|
||||
var msg = $("#textarea").val();
|
||||
if(msg){
|
||||
function getQuery(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
|
||||
var r = window.location.search.substr(1).match(reg); //匹配目标参数
|
||||
if (r != null) return decodeURI(r[2]); return null; //返回参数值
|
||||
}
|
||||
console.log(
|
||||
getQuery('id')
|
||||
);
|
||||
var gongHao = getQuery('id');
|
||||
gongHao = gongHao ? gongHao : 10001;
|
||||
var loginSuccess = false;
|
||||
$("#btnSend").click(function () {
|
||||
var msg = $("#textarea").val().trim();
|
||||
if (msg) {
|
||||
if (loginSuccess == false) {
|
||||
showLog('连接服务器失败,请稍后再试!')
|
||||
return false;
|
||||
}
|
||||
var msg_sender = {
|
||||
"type":'private',
|
||||
"uid":gongHao,
|
||||
"content":msg,
|
||||
"from_uid":uuid,
|
||||
"chat_type":'text'
|
||||
"type": 'private',
|
||||
"uid": gongHao,
|
||||
"content": msg.replace(/\r\n/ig,'<br>').replace(/\n/ig,'<br>'),
|
||||
"from_uid": uuid,
|
||||
"chat_type": 'text'
|
||||
};
|
||||
socket.emit('message', msg_sender);
|
||||
insert_client_html(msg_sender);
|
||||
@ -113,7 +134,7 @@ $(function(){
|
||||
|
||||
$(".emoji-list li").click(function () {
|
||||
var content = $("#textarea").val();
|
||||
$("#textarea").val(content + " " +$(this).html()+ " " );
|
||||
$("#textarea").val(content + " " + $(this).html() + " ");
|
||||
$(".emoji-list").toggle();
|
||||
});
|
||||
|
||||
@ -126,21 +147,43 @@ $(function(){
|
||||
//uuid = 'chat'+ guid();
|
||||
let uuid_store_key = 'kf_c_uuid';
|
||||
uuid = localStorage.getItem(uuid_store_key);
|
||||
if(!uuid){
|
||||
if (!uuid) {
|
||||
uuid = (new Fingerprint()).get();
|
||||
localStorage.setItem(uuid_store_key,uuid);//save uuid to ls
|
||||
localStorage.setItem(uuid_store_key, uuid);//save uuid to ls
|
||||
}
|
||||
console.log('连接成功...'+uuid);
|
||||
console.log('连接成功...' + uuid);
|
||||
|
||||
var ip = $("#keleyivisitorip").text();
|
||||
var msg = {
|
||||
"uid" : uuid,
|
||||
"ip" : ip,
|
||||
kefu_id:gongHao,
|
||||
type:'customer'
|
||||
"uid": uuid,
|
||||
"ip": ip,
|
||||
kefu_id: gongHao,
|
||||
type: 'customer'
|
||||
};
|
||||
socket.emit('login', msg);
|
||||
get_message(uuid);
|
||||
});
|
||||
|
||||
socket.on('kefu-logout', function (ret) {
|
||||
loginSuccess = false;
|
||||
showLog('当前客服不在线,可以给他留言哟')
|
||||
document.title = "给客服留言";
|
||||
$('#kefu_name').html("给客服留言");
|
||||
});
|
||||
|
||||
socket.on('connect-success', function (ret) {
|
||||
loginSuccess = true;
|
||||
if (ret.status == 1) {
|
||||
showLog("客服" + ret.nickname + "正在为您服务!")
|
||||
document.title = "客服" + ret.nickname + "正在为您服务!";
|
||||
$('#kefu_name').html("客服 <b>" + ret.nickname + "</b> 正在为您服务!");
|
||||
} else {
|
||||
showLog('当前客服不在线,可以给他留言哟')
|
||||
document.title = "给客服留言";
|
||||
$('#kefu_name').html("给客服留言");
|
||||
}
|
||||
// get_message(uuid,()=>{
|
||||
|
||||
// });
|
||||
});
|
||||
|
||||
// /* 后端推送来消息时
|
||||
@ -148,13 +191,25 @@ $(function(){
|
||||
// type 消息类型 image,text
|
||||
// content 消息
|
||||
// */
|
||||
socket.on('message', function(msg){
|
||||
socket.on('message', function (msg) {
|
||||
insert_agent_html(msg);
|
||||
scrollToBottom();
|
||||
});
|
||||
socket.on('log',function (msg) {
|
||||
console.log(msg);
|
||||
socket.on('log', function (msg) {
|
||||
showLog(msg);
|
||||
})
|
||||
|
||||
$.get('/users/kefu', { id: gongHao }, function (data) {
|
||||
if (data.code == 200) {
|
||||
var data = data.data;
|
||||
if (data.description) {
|
||||
var log = $('<div class="msg-box" style="background:#eee;border-radius:3px;padding:5px;"></div>');
|
||||
log.html(data.description.replace(/\r\n/ig, "<br>")).appendTo('#msg-container');
|
||||
}
|
||||
socket.connect();// 开始连接到服务器
|
||||
} else {
|
||||
showLog(data.message);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
});
|
@ -117,7 +117,7 @@ layui.use(['layer', 'form', 'jquery'], function () {
|
||||
|
||||
function insert_user_html(id, name, u) {
|
||||
|
||||
var html = '<div class="user-info layui-row" data-uid="' + id + '" id="' + id + '">\n' +
|
||||
var html = '<div class="user-info layui-row" data-uid="' + id + '" data-name="' + name + '" id="' + id + '">\n' +
|
||||
' <div class="layui-col-xs3 user-avatar">\n' +
|
||||
' <img src="/images/server/mine_fill' + (u.status == 1 ? '_blue' : '') + '.png">\n' +
|
||||
' </div>\n' +
|
||||
@ -125,6 +125,7 @@ layui.use(['layer', 'form', 'jquery'], function () {
|
||||
' <span class="nickname">' + name + '</span>' +
|
||||
' <span class="layui-badge user-status">已离线</span></div>\n' +
|
||||
' <span class="layui-badge-dot layui-col-xs1 msg-tips"></span>' +
|
||||
' <span class="rename">备注</span>'
|
||||
' </div>';
|
||||
$('.chat-user').append(html);
|
||||
}
|
||||
@ -155,11 +156,11 @@ layui.use(['layer', 'form', 'jquery'], function () {
|
||||
|
||||
//设置 在线状态(人数)
|
||||
function update_online_status() {
|
||||
var num = uuids.length;
|
||||
if (online_num > num) {
|
||||
num = online_num;
|
||||
}
|
||||
$(".friend-head-right").html(online_num + ' / ' + num + ' 人');
|
||||
// var num = uuids.length;
|
||||
// if (online_num > num) {
|
||||
// num = online_num;
|
||||
// }
|
||||
// $(".friend-head-right").html(online_num + ' / ' + num + ' 人');
|
||||
}
|
||||
|
||||
//发送消息
|
||||
@ -308,8 +309,21 @@ layui.use(['layer', 'form', 'jquery'], function () {
|
||||
});
|
||||
|
||||
//切换用户
|
||||
$(document).on('click', '.user-info', function () {
|
||||
$(document).on('click', '.user-info', function (e) {
|
||||
var me = $(this);
|
||||
var uid = $(this).attr("id");
|
||||
var nickname = $(this).attr("data-name");
|
||||
if($(e.target).hasClass('rename')){
|
||||
var newName = prompt("请填写您的备注名称",nickname);
|
||||
if(newName != nickname){
|
||||
$.post('/users/rename',{uid,newName},function(ret){
|
||||
if(ret.code == 200){
|
||||
me.attr('data-name',newName).find('span.nickname').text(newName);
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
currentUUID = uid;
|
||||
$(".user-info").css("background", "#ffffff").removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
|
@ -3,16 +3,56 @@ var router = express.Router();
|
||||
var redis = require('../utils/redis');
|
||||
// import model from './../model/session'
|
||||
const model = require('./../model/session');
|
||||
const user = require('./../model/users');
|
||||
|
||||
|
||||
/* GET users listing. */
|
||||
router.get('/', async function (req, res, next) {
|
||||
try {
|
||||
let data = await model.findByCondition({type: 'customer',status:1, kefu_id: req.cookies.username});
|
||||
return res.send({code: 200, msg: '获取成功', data: data ? data : []});
|
||||
let data = await model.findByCondition({ type: 'customer', status: 1, kefu_id: req.cookies.username });
|
||||
return res.send({ code: 200, msg: '获取成功', data: data ? data : [] });
|
||||
} catch (e) {
|
||||
return res.send({code: 400, msg: '获取失败'});
|
||||
return res.send({ code: 400, msg: '获取失败' });
|
||||
}
|
||||
});
|
||||
|
||||
router.get('/kefu', async (req, res, next) => {
|
||||
var kf_id = req.query.id;
|
||||
|
||||
if (!kf_id) {
|
||||
return res.send({ code: 500, msg: "参数不全" });
|
||||
}
|
||||
try {
|
||||
let data = await user.findByUserName(kf_id);
|
||||
console.log(data)
|
||||
if (data) {
|
||||
return res.send({ code: 200, msg: '获取成功', data: data ? data : [] });
|
||||
}else{
|
||||
return res.send({ code: 0, msg: '当前客服不可用', data: null });
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return res.send({ code: 400, msg: '获取失败' });
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
router.post('/rename', async (req, res, next) => {
|
||||
let data = req.body;
|
||||
let uid = data.uid;
|
||||
let nickname = data.newName;
|
||||
|
||||
if (!uid || !nickname) {
|
||||
return res.send({ code: 500, msg: "参数不正确" });
|
||||
}
|
||||
try {
|
||||
let data = await model.update(uid,{nickname});
|
||||
return res.send({ code: 200, msg: '更新成功', data: {uid,nickname} });
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return res.send({ code: 400, msg: '获取失败' });
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
@ -1,5 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
@ -15,61 +16,61 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="page-group">
|
||||
<div class="page page-current">
|
||||
<!-- 标题栏 -->
|
||||
<header class="bar bar-nav">
|
||||
<a href="tel:10086"><span class="icon icon-phone pull-left open-panel"></span></a>
|
||||
<h1 class="title">客服系统<span id="keleyivisitorip" style="display: none;"><script src="//api.wm-app.xyz/getIp.php?js"></script></span></h1>
|
||||
</header>
|
||||
<!-- 这里是页面内容区 -->
|
||||
<div class="content">
|
||||
<div class="content-block msg-container" id="msg-container">
|
||||
<div class="page-group">
|
||||
<div class="page page-current">
|
||||
<!-- 标题栏 -->
|
||||
<header class="bar bar-nav">
|
||||
<a href="javascript:history.back();" class="float-left"><span class="icon icon-left open-panel"></span></a>
|
||||
<h1 class="title"><span id="kefu_name"></span>
|
||||
<span id="keleyivisitorip" style="display: none;"><script src="//api.wm-app.xyz/getIp.php?js"></script></span></h1>
|
||||
|
||||
</div>
|
||||
<a href="tel:10086" class="float-right"><span class="icon icon-phone open-panel"></span></a>
|
||||
<br class="clear-float" />
|
||||
</header>
|
||||
<!-- 这里是页面内容区 -->
|
||||
<div class="content">
|
||||
<div class="content-block msg-container" id="msg-container">
|
||||
|
||||
<footer id="chatFooter" class="footer">
|
||||
<div class="input-holder">
|
||||
<div class="emoji-image docs-icons" id="btn-uploader">
|
||||
<span class="icon icon-emoji emoji-send"></span>
|
||||
<span id="pickfiles" class="icon icon-picture picture-upload"></span>
|
||||
</div>
|
||||
<div class="text-holder">
|
||||
<textarea id="textarea" placeholder="请输入"></textarea>
|
||||
<a id="btnSend">发送</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="emoji-list">
|
||||
<ul>
|
||||
<li title="笑脸">😁</li>
|
||||
<li title="哭脸">😂</li>
|
||||
<li title="表情1">😃</li>
|
||||
<li title="表情2">😄</li>
|
||||
<li title="表情3">😅</li>
|
||||
<li title="表情4">😆</li>
|
||||
<li title="表情5">😇</li>
|
||||
<li title="表情6">😈</li>
|
||||
<li title="表情7">😉</li>
|
||||
<li title="表情8">😊</li>
|
||||
<li title="表情9">😋</li>
|
||||
<li title="表情10">😌</li>
|
||||
</ul>
|
||||
|
||||
<footer id="chatFooter" class="footer">
|
||||
<div class="input-holder">
|
||||
<div class="emoji-image docs-icons" id="btn-uploader">
|
||||
<span class="icon icon-emoji emoji-send"></span>
|
||||
</div>
|
||||
<div class="text-holder">
|
||||
<textarea id="textarea" placeholder="请输入"></textarea>
|
||||
<a id="btnSend">发送</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="emoji-list">
|
||||
<ul>
|
||||
<li title="笑脸">😁</li>
|
||||
<li title="哭脸">😂</li>
|
||||
<li title="表情1">😃</li>
|
||||
<li title="表情2">😄</li>
|
||||
<li title="表情3">😅</li>
|
||||
<li title="表情4">😆</li>
|
||||
<li title="表情5">😇</li>
|
||||
<li title="表情6">😈</li>
|
||||
<li title="表情7">😉</li>
|
||||
<li title="表情8">😊</li>
|
||||
<li title="表情9">😋</li>
|
||||
<li title="表情10">😌</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="//twemoji.maxcdn.com/2/twemoji.min.js?2.3.1"></script>
|
||||
<script type="text/javascript" src="http://cdn.staticfile.org/plupload/2.1.9/moxie.min.js"></script>
|
||||
<script type="text/javascript" src="http://cdn.staticfile.org/plupload/2.1.9/plupload.min.js"></script>
|
||||
<script type="text/javascript" src="http://cdn.staticfile.org/qiniu-js-sdk/1.0.14-beta/qiniu.min.js"></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script>
|
||||
<script src="/js/fingerprint.js"></script>
|
||||
<script src="/socket.io/socket.io.js"></script>
|
||||
<script type='text/javascript' src='js/common.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='js/client/client.js' charset='utf-8'></script>
|
||||
<script src="//twemoji.maxcdn.com/2/twemoji.min.js?2.3.1"></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/sj/lib/zepto/zepto.min.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm.min.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-extend.min.js' charset='utf-8'></script>
|
||||
<script src="/js/fingerprint.js"></script>
|
||||
<script src="/socket.io/socket.io.js"></script>
|
||||
<script type='text/javascript' src='js/common.js' charset='utf-8'></script>
|
||||
<script type='text/javascript' src='js/client/client.js' charset='utf-8'></script>
|
||||
</body>
|
||||
|
||||
</html>
|
663
yarn.lock
663
yarn.lock
@ -2,6 +2,11 @@
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
abbrev@1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
||||
accepts@~1.3.3, accepts@~1.3.4:
|
||||
version "1.3.7"
|
||||
resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
|
||||
@ -27,6 +32,18 @@ agentkeepalive@3.3.0:
|
||||
dependencies:
|
||||
humanize-ms "^1.2.1"
|
||||
|
||||
ansi-align@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
|
||||
integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=
|
||||
dependencies:
|
||||
string-width "^2.0.0"
|
||||
|
||||
ansi-regex@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
|
||||
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
|
||||
|
||||
ansi-styles@^3.2.1:
|
||||
version "3.2.1"
|
||||
resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1566431369422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||
@ -39,6 +56,14 @@ any-promise@^1.3.0:
|
||||
resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
|
||||
integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
|
||||
|
||||
anymatch@~3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
|
||||
integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
|
||||
dependencies:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
array-flatten@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
||||
@ -79,6 +104,11 @@ backo2@1.0.2:
|
||||
resolved "https://registry.npm.taobao.org/backo2/download/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
|
||||
integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
||||
|
||||
base64-arraybuffer@0.1.5:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
|
||||
@ -101,6 +131,11 @@ better-assert@~1.0.0:
|
||||
dependencies:
|
||||
callsite "1.0.0"
|
||||
|
||||
binary-extensions@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
|
||||
integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
|
||||
|
||||
blob@0.0.5:
|
||||
version "0.0.5"
|
||||
resolved "https://registry.npm.taobao.org/blob/download/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683"
|
||||
@ -127,6 +162,34 @@ body-parser@~1.17.1:
|
||||
raw-body "~2.2.0"
|
||||
type-is "~1.6.15"
|
||||
|
||||
boxen@^1.2.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
|
||||
integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==
|
||||
dependencies:
|
||||
ansi-align "^2.0.0"
|
||||
camelcase "^4.0.0"
|
||||
chalk "^2.0.1"
|
||||
cli-boxes "^1.0.0"
|
||||
string-width "^2.0.0"
|
||||
term-size "^1.2.0"
|
||||
widest-line "^2.0.0"
|
||||
|
||||
brace-expansion@^1.1.7:
|
||||
version "1.1.11"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
||||
dependencies:
|
||||
fill-range "^7.0.1"
|
||||
|
||||
bson@~1.0.4:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.npm.taobao.org/bson/download/bson-1.0.9.tgz#12319f8323b1254739b7c6bef8d3e89ae05a2f57"
|
||||
@ -147,7 +210,17 @@ callsite@1.0.0:
|
||||
resolved "https://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
||||
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
||||
|
||||
chalk@^2.4.2:
|
||||
camelcase@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
|
||||
integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
|
||||
|
||||
capture-stack-trace@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
|
||||
integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
|
||||
|
||||
chalk@^2.0.1, chalk@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1569560967260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||
integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=
|
||||
@ -156,6 +229,31 @@ chalk@^2.4.2:
|
||||
escape-string-regexp "^1.0.5"
|
||||
supports-color "^5.3.0"
|
||||
|
||||
chokidar@^3.2.2:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450"
|
||||
integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.3.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
ci-info@^1.5.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
|
||||
integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
|
||||
|
||||
cli-boxes@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
|
||||
integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM=
|
||||
|
||||
color-convert@^1.9.0:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||
@ -188,6 +286,23 @@ component-inherit@0.0.3:
|
||||
resolved "https://registry.npm.taobao.org/component-inherit/download/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
|
||||
integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
||||
|
||||
configstore@^3.0.0:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
|
||||
integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==
|
||||
dependencies:
|
||||
dot-prop "^4.1.0"
|
||||
graceful-fs "^4.1.2"
|
||||
make-dir "^1.0.0"
|
||||
unique-string "^1.0.0"
|
||||
write-file-atomic "^2.0.0"
|
||||
xdg-basedir "^3.0.0"
|
||||
|
||||
content-disposition@0.5.2:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
|
||||
@ -226,6 +341,27 @@ crc32@0.2.2:
|
||||
resolved "https://registry.npm.taobao.org/crc32/download/crc32-0.2.2.tgz#7ad220d6ffdcd119f9fc127a7772cacea390a4ba"
|
||||
integrity sha1-etIg1v/c0Rn5/BJ6d3LKzqOQpLo=
|
||||
|
||||
create-error-class@^3.0.0:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
|
||||
integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
|
||||
dependencies:
|
||||
capture-stack-trace "^1.0.0"
|
||||
|
||||
cross-spawn@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||
integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
|
||||
dependencies:
|
||||
lru-cache "^4.0.1"
|
||||
shebang-command "^1.2.0"
|
||||
which "^1.2.9"
|
||||
|
||||
crypto-random-string@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
|
||||
integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
|
||||
|
||||
debug@2.6.7:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e"
|
||||
@ -240,7 +376,7 @@ debug@2.6.8:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@2.6.9, debug@^2.6.0, debug@~2.6.3, debug@~2.6.4, debug@~2.6.6:
|
||||
debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@~2.6.3, debug@~2.6.4, debug@~2.6.6:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=
|
||||
@ -254,6 +390,13 @@ debug@=3.1.0, debug@~3.1.0:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^3.2.6:
|
||||
version "3.2.6"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
|
||||
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
debug@~4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||
@ -261,6 +404,11 @@ debug@~4.1.0:
|
||||
dependencies:
|
||||
ms "^2.1.1"
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||
|
||||
default-user-agent@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npm.taobao.org/default-user-agent/download/default-user-agent-1.0.0.tgz#16c46efdcaba3edc45f24f2bd4868b01b7c2adc6"
|
||||
@ -305,11 +453,28 @@ digest-header@^0.0.1:
|
||||
dependencies:
|
||||
utility "0.1.11"
|
||||
|
||||
dom-walk@^0.1.0:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
|
||||
integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=
|
||||
|
||||
dot-prop@^4.1.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
|
||||
integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==
|
||||
dependencies:
|
||||
is-obj "^1.0.0"
|
||||
|
||||
double-ended-queue@^2.1.0-0:
|
||||
version "2.1.0-0"
|
||||
resolved "https://registry.npm.taobao.org/double-ended-queue/download/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
|
||||
integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=
|
||||
|
||||
duplexer3@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
||||
|
||||
ee-first@1.1.1, ee-first@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
@ -415,6 +580,19 @@ etag@~1.8.0, etag@~1.8.1:
|
||||
resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||
|
||||
execa@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
|
||||
integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
|
||||
dependencies:
|
||||
cross-spawn "^5.0.1"
|
||||
get-stream "^3.0.0"
|
||||
is-stream "^1.1.0"
|
||||
npm-run-path "^2.0.0"
|
||||
p-finally "^1.0.0"
|
||||
signal-exit "^3.0.0"
|
||||
strip-eof "^1.0.0"
|
||||
|
||||
express-session@^1.16.2:
|
||||
version "1.16.2"
|
||||
resolved "https://registry.npm.taobao.org/express-session/download/express-session-1.16.2.tgz#59f36d7770e94872d19b163b6708a2d16aa6848c"
|
||||
@ -471,6 +649,13 @@ extend-shallow@^3.0.2:
|
||||
assign-symbols "^1.0.0"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
fill-range@^7.0.1:
|
||||
version "7.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
|
||||
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
finalhandler@~1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f"
|
||||
@ -510,6 +695,11 @@ fresh@0.5.2:
|
||||
resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
|
||||
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
|
||||
|
||||
fsevents@~2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805"
|
||||
integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==
|
||||
|
||||
function-bind@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||
@ -520,6 +710,55 @@ gbk.js@^0.2.0:
|
||||
resolved "https://registry.npm.taobao.org/gbk.js/download/gbk.js-0.2.4.tgz#45b609764347c63e4473214adf74cd5359027c8e"
|
||||
integrity sha1-RbYJdkNHxj5EcyFK33TNU1kCfI4=
|
||||
|
||||
get-stream@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
|
||||
|
||||
glob-parent@~5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
|
||||
integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==
|
||||
dependencies:
|
||||
is-glob "^4.0.1"
|
||||
|
||||
global-dirs@^0.1.0:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
|
||||
integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=
|
||||
dependencies:
|
||||
ini "^1.3.4"
|
||||
|
||||
global@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
|
||||
integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
|
||||
dependencies:
|
||||
min-document "^2.19.0"
|
||||
process "^0.11.10"
|
||||
|
||||
got@^6.7.1:
|
||||
version "6.7.1"
|
||||
resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
|
||||
integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=
|
||||
dependencies:
|
||||
create-error-class "^3.0.0"
|
||||
duplexer3 "^0.1.4"
|
||||
get-stream "^3.0.0"
|
||||
is-redirect "^1.0.0"
|
||||
is-retry-allowed "^1.0.0"
|
||||
is-stream "^1.0.0"
|
||||
lowercase-keys "^1.0.0"
|
||||
safe-buffer "^5.0.1"
|
||||
timed-out "^4.0.0"
|
||||
unzip-response "^2.0.1"
|
||||
url-parse-lax "^1.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
|
||||
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
|
||||
|
||||
has-binary2@~1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.npm.taobao.org/has-binary2/download/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
|
||||
@ -571,6 +810,21 @@ iconv-lite@^0.4.15:
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3"
|
||||
|
||||
ignore-by-default@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
|
||||
integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
|
||||
|
||||
import-lazy@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
|
||||
integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
|
||||
|
||||
imurmurhash@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
|
||||
|
||||
indexof@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
|
||||
@ -586,6 +840,11 @@ inherits@~2.0.1:
|
||||
resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=
|
||||
|
||||
ini@^1.3.4, ini@~1.3.0:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
|
||||
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
|
||||
|
||||
ipaddr.js@1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0"
|
||||
@ -598,11 +857,25 @@ is-accessor-descriptor@^1.0.0:
|
||||
dependencies:
|
||||
kind-of "^6.0.0"
|
||||
|
||||
is-binary-path@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
|
||||
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
|
||||
dependencies:
|
||||
binary-extensions "^2.0.0"
|
||||
|
||||
is-buffer@^2.0.2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
|
||||
integrity sha1-Ts8/z3ScvR5HJonhCaxmJhol5yU=
|
||||
|
||||
is-ci@^1.0.10:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
|
||||
integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
|
||||
dependencies:
|
||||
ci-info "^1.5.0"
|
||||
|
||||
is-data-descriptor@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
|
||||
@ -626,6 +899,53 @@ is-extendable@^1.0.1:
|
||||
dependencies:
|
||||
is-plain-object "^2.0.4"
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
|
||||
|
||||
is-fullwidth-code-point@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
|
||||
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
|
||||
|
||||
is-glob@^4.0.1, is-glob@~4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
|
||||
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
|
||||
dependencies:
|
||||
is-extglob "^2.1.1"
|
||||
|
||||
is-installed-globally@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
|
||||
integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=
|
||||
dependencies:
|
||||
global-dirs "^0.1.0"
|
||||
is-path-inside "^1.0.0"
|
||||
|
||||
is-npm@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
|
||||
integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ=
|
||||
|
||||
is-number@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
||||
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
||||
|
||||
is-obj@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
|
||||
integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
|
||||
|
||||
is-path-inside@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
|
||||
integrity sha1-jvW33lBDej/cprToZe96pVy0gDY=
|
||||
dependencies:
|
||||
path-is-inside "^1.0.1"
|
||||
|
||||
is-plain-object@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
|
||||
@ -633,6 +953,21 @@ is-plain-object@^2.0.4:
|
||||
dependencies:
|
||||
isobject "^3.0.1"
|
||||
|
||||
is-redirect@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
|
||||
integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
|
||||
|
||||
is-retry-allowed@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
|
||||
integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
|
||||
|
||||
is-stream@^1.0.0, is-stream@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
|
||||
|
||||
isarray@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npm.taobao.org/isarray/download/isarray-2.0.1.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
|
||||
@ -643,6 +978,11 @@ isarray@~1.0.0:
|
||||
resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
|
||||
|
||||
isobject@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
|
||||
@ -658,6 +998,13 @@ kind-of@^6.0.0, kind-of@^6.0.2:
|
||||
resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
|
||||
integrity sha1-ARRrNqYhjmTljzqNZt5df8b20FE=
|
||||
|
||||
latest-version@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
|
||||
integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=
|
||||
dependencies:
|
||||
package-json "^4.0.0"
|
||||
|
||||
lib-qqwry@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.npm.taobao.org/lib-qqwry/download/lib-qqwry-1.3.1.tgz#440643cc6115165c23144d03c1ae26f75e528696"
|
||||
@ -681,6 +1028,26 @@ lodash@^4.14.0:
|
||||
resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=
|
||||
|
||||
lowercase-keys@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
|
||||
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
|
||||
|
||||
lru-cache@^4.0.1:
|
||||
version "4.1.5"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
|
||||
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
|
||||
dependencies:
|
||||
pseudomap "^1.0.2"
|
||||
yallist "^2.1.2"
|
||||
|
||||
make-dir@^1.0.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
|
||||
integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
|
||||
dependencies:
|
||||
pify "^3.0.0"
|
||||
|
||||
media-typer@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||
@ -723,7 +1090,21 @@ mime@^1.3.4:
|
||||
resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=
|
||||
|
||||
minimist@^1.1.0:
|
||||
min-document@^2.19.0:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
|
||||
integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
|
||||
dependencies:
|
||||
dom-walk "^0.1.0"
|
||||
|
||||
minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.1.0, minimist@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
||||
@ -815,6 +1196,41 @@ negotiator@0.6.2:
|
||||
resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||
integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=
|
||||
|
||||
nodemon@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.2.tgz#9c7efeaaf9b8259295a97e5d4585ba8f0cbe50b0"
|
||||
integrity sha512-GWhYPMfde2+M0FsHnggIHXTqPDHXia32HRhh6H0d75Mt9FKUoCBvumNHr7LdrpPBTKxsWmIEOjoN+P4IU6Hcaw==
|
||||
dependencies:
|
||||
chokidar "^3.2.2"
|
||||
debug "^3.2.6"
|
||||
ignore-by-default "^1.0.1"
|
||||
minimatch "^3.0.4"
|
||||
pstree.remy "^1.1.7"
|
||||
semver "^5.7.1"
|
||||
supports-color "^5.5.0"
|
||||
touch "^3.1.0"
|
||||
undefsafe "^2.0.2"
|
||||
update-notifier "^2.5.0"
|
||||
|
||||
nopt@~1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
|
||||
integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
normalize-path@^3.0.0, normalize-path@~3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
|
||||
dependencies:
|
||||
path-key "^2.0.0"
|
||||
|
||||
object-component@0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.npm.taobao.org/object-component/download/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
|
||||
@ -852,6 +1268,21 @@ osx-release@^1.0.0:
|
||||
dependencies:
|
||||
minimist "^1.1.0"
|
||||
|
||||
p-finally@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
|
||||
|
||||
package-json@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
|
||||
integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=
|
||||
dependencies:
|
||||
got "^6.7.1"
|
||||
registry-auth-token "^3.0.1"
|
||||
registry-url "^3.0.3"
|
||||
semver "^5.1.0"
|
||||
|
||||
parseqs@0.0.5:
|
||||
version "0.0.5"
|
||||
resolved "https://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
|
||||
@ -871,6 +1302,16 @@ parseurl@~1.3.1, parseurl@~1.3.2, parseurl@~1.3.3:
|
||||
resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
|
||||
integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=
|
||||
|
||||
path-is-inside@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
||||
integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
|
||||
|
||||
path-key@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
||||
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
|
||||
|
||||
path-to-regexp@0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
|
||||
@ -883,11 +1324,31 @@ pause-stream@~0.0.11:
|
||||
dependencies:
|
||||
through "~2.3"
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.0.7:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
|
||||
integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==
|
||||
|
||||
pify@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
|
||||
|
||||
prepend-http@^1.0.1:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
|
||||
integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
|
||||
|
||||
process-nextick-args@~1.0.6:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprocess-nextick-args%2Fdownload%2Fprocess-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
|
||||
integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
|
||||
|
||||
process@^0.11.10:
|
||||
version "0.11.10"
|
||||
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
|
||||
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
|
||||
|
||||
progress@^2.0.3:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
|
||||
@ -901,6 +1362,16 @@ proxy-addr@~1.1.5:
|
||||
forwarded "~0.1.0"
|
||||
ipaddr.js "1.4.0"
|
||||
|
||||
pseudomap@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
|
||||
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
|
||||
|
||||
pstree.remy@^1.1.7:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3"
|
||||
integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A==
|
||||
|
||||
qiniu@^7.1.1:
|
||||
version "7.2.2"
|
||||
resolved "https://registry.npm.taobao.org/qiniu/download/qiniu-7.2.2.tgz#94425193f6b1dbd093fd78583070a64dde6cc5e7"
|
||||
@ -948,6 +1419,16 @@ raw-body@~2.2.0:
|
||||
iconv-lite "0.4.15"
|
||||
unpipe "1.0.0"
|
||||
|
||||
rc@^1.0.1, rc@^1.1.6:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||
dependencies:
|
||||
deep-extend "^0.6.0"
|
||||
ini "~1.3.0"
|
||||
minimist "^1.2.0"
|
||||
strip-json-comments "~2.0.1"
|
||||
|
||||
readable-stream@2.2.7:
|
||||
version "2.2.7"
|
||||
resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1"
|
||||
@ -961,6 +1442,13 @@ readable-stream@2.2.7:
|
||||
string_decoder "~1.0.0"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readdirp@~3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17"
|
||||
integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==
|
||||
dependencies:
|
||||
picomatch "^2.0.7"
|
||||
|
||||
redis-commands@^1.2.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.npm.taobao.org/redis-commands/download/redis-commands-1.5.0.tgz#80d2e20698fe688f227127ff9e5164a7dd17e785"
|
||||
@ -993,6 +1481,21 @@ regexp-clone@0.0.1:
|
||||
resolved "https://registry.npm.taobao.org/regexp-clone/download/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589"
|
||||
integrity sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk=
|
||||
|
||||
registry-auth-token@^3.0.1:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e"
|
||||
integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==
|
||||
dependencies:
|
||||
rc "^1.1.6"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
registry-url@^3.0.3:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
|
||||
integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI=
|
||||
dependencies:
|
||||
rc "^1.0.1"
|
||||
|
||||
require_optional@~1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npm.taobao.org/require_optional/download/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
|
||||
@ -1038,7 +1541,14 @@ safe-regex@^1.1.0:
|
||||
resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
|
||||
integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=
|
||||
|
||||
semver@^5.0.1, semver@^5.1.0:
|
||||
semver-diff@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
|
||||
integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=
|
||||
dependencies:
|
||||
semver "^5.0.3"
|
||||
|
||||
semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.7.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1565627362346&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=
|
||||
@ -1093,6 +1603,23 @@ setprototypeof@1.1.0:
|
||||
resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
|
||||
integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=
|
||||
|
||||
shebang-command@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||
integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
|
||||
dependencies:
|
||||
shebang-regex "^1.0.0"
|
||||
|
||||
shebang-regex@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
|
||||
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
|
||||
|
||||
signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||
|
||||
sliced@0.0.5:
|
||||
version "0.0.5"
|
||||
resolved "https://registry.npm.taobao.org/sliced/download/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f"
|
||||
@ -1204,6 +1731,14 @@ stream.pipeline-shim@^1.0.4:
|
||||
function-bind "^1.1.1"
|
||||
stream.finished "^1.2.0"
|
||||
|
||||
string-width@^2.0.0, string-width@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
|
||||
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
|
||||
dependencies:
|
||||
is-fullwidth-code-point "^2.0.0"
|
||||
strip-ansi "^4.0.0"
|
||||
|
||||
string_decoder@~1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.0.3.tgz?cache=0&sync_timestamp=1565170823020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring_decoder%2Fdownload%2Fstring_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
|
||||
@ -1211,23 +1746,59 @@ string_decoder@~1.0.0:
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
supports-color@^5.3.0:
|
||||
strip-ansi@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
|
||||
integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
|
||||
dependencies:
|
||||
ansi-regex "^3.0.0"
|
||||
|
||||
strip-eof@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
|
||||
|
||||
strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
|
||||
|
||||
supports-color@^5.3.0, supports-color@^5.5.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=
|
||||
dependencies:
|
||||
has-flag "^3.0.0"
|
||||
|
||||
term-size@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
|
||||
integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=
|
||||
dependencies:
|
||||
execa "^0.7.0"
|
||||
|
||||
through@~2.3:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
|
||||
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
|
||||
|
||||
timed-out@^4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
|
||||
integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
|
||||
|
||||
to-array@0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.npm.taobao.org/to-array/download/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
|
||||
integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA=
|
||||
|
||||
to-regex-range@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
||||
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
to-regex@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
|
||||
@ -1238,6 +1809,13 @@ to-regex@^3.0.2:
|
||||
regex-not "^1.0.2"
|
||||
safe-regex "^1.1.0"
|
||||
|
||||
touch@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
|
||||
integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
|
||||
dependencies:
|
||||
nopt "~1.0.10"
|
||||
|
||||
tunnel-agent@0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
|
||||
@ -1265,11 +1843,53 @@ ultron@~1.1.0:
|
||||
resolved "https://registry.npm.taobao.org/ultron/download/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
|
||||
integrity sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=
|
||||
|
||||
undefsafe@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76"
|
||||
integrity sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=
|
||||
dependencies:
|
||||
debug "^2.2.0"
|
||||
|
||||
unique-string@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
|
||||
integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
|
||||
dependencies:
|
||||
crypto-random-string "^1.0.0"
|
||||
|
||||
unpipe@1.0.0, unpipe@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
|
||||
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
|
||||
|
||||
unzip-response@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
|
||||
integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
|
||||
|
||||
update-notifier@^2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
|
||||
integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==
|
||||
dependencies:
|
||||
boxen "^1.2.1"
|
||||
chalk "^2.0.1"
|
||||
configstore "^3.0.0"
|
||||
import-lazy "^2.1.0"
|
||||
is-ci "^1.0.10"
|
||||
is-installed-globally "^0.1.0"
|
||||
is-npm "^1.0.0"
|
||||
latest-version "^3.0.0"
|
||||
semver-diff "^2.0.0"
|
||||
xdg-basedir "^3.0.0"
|
||||
|
||||
url-parse-lax@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
|
||||
integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
|
||||
dependencies:
|
||||
prepend-http "^1.0.1"
|
||||
|
||||
urllib@2.22.0:
|
||||
version "2.22.0"
|
||||
resolved "https://registry.npm.taobao.org/urllib/download/urllib-2.22.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furllib%2Fdownload%2Furllib-2.22.0.tgz#2965dc4ae127a6fb695b7db27d3184f17d82cb42"
|
||||
@ -1313,6 +1933,20 @@ vary@~1.1.1:
|
||||
resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
|
||||
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
|
||||
|
||||
which@^1.2.9:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
widest-line@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"
|
||||
integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==
|
||||
dependencies:
|
||||
string-width "^2.1.1"
|
||||
|
||||
win-release@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npm.taobao.org/win-release/download/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209"
|
||||
@ -1320,6 +1954,15 @@ win-release@^1.0.0:
|
||||
dependencies:
|
||||
semver "^5.0.1"
|
||||
|
||||
write-file-atomic@^2.0.0:
|
||||
version "2.4.3"
|
||||
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
|
||||
integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
|
||||
dependencies:
|
||||
graceful-fs "^4.1.11"
|
||||
imurmurhash "^0.1.4"
|
||||
signal-exit "^3.0.2"
|
||||
|
||||
ws@~3.3.1:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
||||
@ -1336,11 +1979,21 @@ ws@~6.1.0:
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
xdg-basedir@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
|
||||
integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=
|
||||
|
||||
xmlhttprequest-ssl@~1.5.4:
|
||||
version "1.5.5"
|
||||
resolved "https://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz?cache=0&sync_timestamp=1564594466893&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlhttprequest-ssl%2Fdownload%2Fxmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
|
||||
integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=
|
||||
|
||||
yallist@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
|
||||
|
||||
yeast@0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.npm.taobao.org/yeast/download/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
|
||||
|
Loading…
x
Reference in New Issue
Block a user