当前位置: 首页>>代码示例>>PHP>>正文


PHP getSesionDato函数代码示例

本文整理汇总了PHP中getSesionDato函数的典型用法代码示例。如果您正苦于以下问题:PHP getSesionDato函数的具体用法?PHP getSesionDato怎么用?PHP getSesionDato使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了getSesionDato函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: MensajesHeadersHoy

function MensajesHeadersHoy($IdUltimo = 0)
{
    //SELECT CURRENT_DATE
    //$IdLocal = getSesionDato("IdTienda");
    $IdLocal = getSesionDato("IdTiendaDependiente");
    $IdUsuario = getSesionDato("IdUsuario");
    $esParaNosotros = "IdLocalRestriccion=0 OR (IdLocalRestriccion = '{$IdLocal}')";
    $esParaMi = "IdUsuarioRestriccion=0 OR (IdUsuarioRestriccion = '{$IdUsuario}')";
    if ($IdUltimo > 0) {
        $ultimoCondicion = " AND IdMensaje > '{$IdUltimo}' ";
    } else {
        $ultimoCondicion = "";
    }
    //Fecha > CURRENT_DATE
    $esFecha = "UNIX_TIMESTAMP(Fecha ) > UNIX_TIMESTAMP() - 86400*DiasCaduca";
    $sql = "SELECT IdMensaje, Titulo, Status FROM ges_mensajes WHERE ( {$esFecha} )\n\t\tAND ({$esParaNosotros}) \n\t\tAND ({$esParaMi}) {$ultimoCondicion} ORDER BY Fecha ASC";
    //Usando el tipo CONVERSOR, que evita que aparezca en el log demasiadas entradas molestas de este.
    $res = query($sql, "CONVERSOR");
    if ($res) {
        $text = "";
        while ($row = Row($res)) {
            $IdMensaje = $row["IdMensaje"];
            $Titulo = $row["Titulo"];
            $Status = $row["Status"];
            $text .= $IdMensaje . "'" . $Titulo . "'" . $Status . "\n";
        }
    } else {
        return "error";
    }
    return $text;
}
开发者ID:klich3,项目名称:gPOS,代码行数:31,代码来源:modbuzon.php

示例2: OpcionesBusqueda

function OpcionesBusqueda($retorno)
{
    global $action;
    $ot = getTemplate("xulBusquedaAvanzada");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template no encontrado");
        return false;
    }
    $idprov = getSesionDato("FiltraProv");
    $idmarca = getSesionDato("FiltraMarca");
    $idcolor = getSesionDato("FiltraColor");
    $idtalla = getSesionDato("FiltraTalla");
    $idfamilia = getSesionDato("FiltraFamilia");
    $ot->fijar("action", $action);
    $ot->fijar("pagRetorno", $retorno);
    $ot->fijar("comboProveedores", genXulComboProveedores($idprov));
    $ot->fijar("comboMarcas", genXulComboMarcas($idmarca));
    $ot->fijar("comboFamilias", genXulComboMarcas($idfamilia));
    //echo q($idcolor,"color a mostrar en template");
    //echo q(intval($idcolor),"intval color a mostrar en template");
    if (intval($idcolor) >= 0) {
        $ot->fijar("comboColores", genXulComboColores($idcolor));
    } else {
        $ot->fijar("comboColores", genXulComboColores("ninguno"));
    }
    $ot->fijar("comboTallas", genXulComboTallas($idtalla));
    echo $ot->Output();
}
开发者ID:klich3,项目名称:gPOS,代码行数:28,代码来源:xulavanzado.php

示例3: TrasladoBrutal

 function TrasladoBrutal($Motivo)
 {
     $IdComprobante = $this->_IdComprobante;
     $IdPedido = $this->_IdPedido;
     $linea = 0;
     $totalimporte = 0;
     $Origen = $this->_origen;
     $Destino = $this->_destino;
     $igv = getSesionDato("IGV");
     $marcadotrans = getSesionDato("CarritoTrans");
     $Trans = getSesionDato("CarritoMover");
     $aSeries = getSesionDato("CarritoMoverSeries");
     $almacenes = new almacenes();
     $articulo = new articulo();
     foreach ($marcadotrans as $idarticulo) {
         $oProducto = new producto();
         $articulo->Load($idarticulo);
         $oProducto->Load($articulo->get("IdProducto"));
         $cantidad = 0;
         $idproducto = $articulo->get("IdProducto");
         $precio = round($Trans['Precio' . $idarticulo], 2);
         $costo = round($Trans['Costo' . $idarticulo], 2);
         $mSeleccion = $Trans[$idarticulo];
         $aSeleccion = explode("~", $mSeleccion);
         $esSerie = $aSeries[$idarticulo] ? true : false;
         foreach ($aSeleccion as $Pedido) {
             $aPedido = explode(":", $Pedido);
             $IdPedidoDet = $aPedido[0];
             //Kardex
             $cantidad = $aPedido[1];
             $LoteVence = isset($aPedido[3]) ? $aPedido[3] : 0;
             $totalimporte += $precio * $cantidad;
             $existencias = $almacenes->obtenerExistenciasKardex($idproducto, $Origen);
             //Control
             if ($existencias < $cantidad) {
                 return;
             }
             //Ventas
             $IdComprobanteDet = registrarDetalleTrasladoSalida($idproducto, $cantidad, $costo, $precio, $IdComprobante, $IdPedidoDet, $esSerie, $LoteVence);
             //Compras
             $nwIdPedidoDet = registrarDetalleTrasladoEntrada($IdPedido, $idproducto, $LoteVence, $cantidad, $costo, $precio, $esSerie);
             //Numeros de Series
             registrarTrasladoSeries($Origen, $Destino, $IdPedido, $nwIdPedidoDet, $IdPedidoDet, $idarticulo, $idproducto, $IdComprobante);
             //Kardex
             registrarTrasladoKardexFifo($Origen, $idproducto, $IdPedidoDet, $IdComprobanteDet, $costo, $cantidad, $existencias, $Motivo);
             //Kadex costo almacen
             $almacenes->actualizarCosto($idproducto, $Origen);
             //Kadex resumen almacen
             actualizaResumenKardex($idproducto, $Origen);
         }
     }
     //Importes Compras & Ventas
     registrarImportesTraslado($totalimporte, $IdComprobante, $IdPedido, $Motivo);
 }
开发者ID:klich3,项目名称:gPOS,代码行数:54,代码来源:pedidos.inc.php

示例4: Listado

 function Listado($lang, $min = 0)
 {
     if (!$lang) {
         $lang = getSesionDato("IdLenguajeDefecto");
     }
     $sql = "SELECT\t\t\n\t\tges_albaranes_traspaso.*\t\t\n\t\tFROM\n\t\tges_albaranes_traspaso \t\t\n\t\tWHERE\n\t\tges_albaranes_traspaso.Eliminado = 0\n\t\t";
     $res = $this->queryPagina($sql, $min, 10);
     if (!$res) {
         $this->Error(__FILE__ . __LINE__, "Info: fallo el listado");
     }
     return $res;
 }
开发者ID:klich3,项目名称:gPOS,代码行数:12,代码来源:albaran.class.php

示例5: ListaFormaDeUnidades

function ListaFormaDeUnidades()
{
    //FormaListaCompraCantidades
    global $action;
    $oProducto = new producto();
    $ot = getTemplate("PopupCarritoCompra");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template no encontrado");
        return false;
    }
    $ot->resetSeries(array("IdProducto", "Referencia", "Nombre", "tBorrar", "tEditar", "tSeleccion", "vUnidades"));
    $tamPagina = $ot->getPagina();
    $indice = getSesionDato("PaginadorSeleccionCompras2");
    $carrito = getSesionDato("CarritoMover");
    //echo q($carrito,"Carrito Cantidades");
    $costescarrito = getSesionDato("CarroCostesMover");
    $quitar = _("Quitar");
    $ot->fijar("tTitulo", _("Carrito para Traslado"));
    //$ot->fijar("comboAlmacenes",getSesionDato("ComboAlmacenes"));
    $ot->fijar("comboAlmacenes", genComboAlmacenes(getParametro("AlmacenCentral")));
    $salta = 0;
    $num = 0;
    foreach ($carrito as $key => $value) {
        $salta++;
        if ($num <= $tamPagina and $salta >= $indice) {
            $num++;
            if ($oProducto->Load($key)) {
                $referencia = $oProducto->getReferencia();
                $nombre = $oProducto->getNombre();
            } else {
                $referencia = "";
                $nombre = "";
            }
            $ot->fijarSerie("vReferencia", $referencia);
            $ot->fijarSerie("vNombre", $nombre);
            $ot->fijarSerie("tBorrar", $quitar);
            $ot->fijarSerie("vUnidades", $value);
            $ot->fijarSerie("vPrecio", $costescarrito[$key]);
            $ot->fijarSerie("IdProducto", $oProducto->getId());
        }
    }
    if (!$salta) {
        $ot->fijar("aviso", gas("aviso", _("Carrito vacío")));
        $ot->eliminaSeccion("haydatos");
    } else {
        $ot->fijar("aviso");
        $ot->confirmaSeccion("haydatos");
    }
    $ot->paginador($indice, false, $num);
    $ot->fijar("action", $action);
    $ot->terminaSerie();
    echo $ot->Output();
}
开发者ID:klich3,项目名称:gPOS,代码行数:53,代码来源:vertrans.php

示例6: VolcarGeneracionJSParaProductos

function VolcarGeneracionJSParaProductos($nombre = false, $referencia = false, $cb = false)
{
    $nombre_up = CleanRealMysql(strtoupper($nombre));
    $referencia_s = CleanRealMysql(strtoupper(trim($referencia)));
    $cb_s = CleanRealMysql($cb);
    $IdLocalActivo = getSesionDato("IdTiendaDependiente");
    $filtro = $nombre ? " AND UPPER(ges_productos_idioma.Descripcion) LIKE '%{$nombre_up}%' " : "";
    $filtro .= $referencia ? " AND  ges_productos.Referencia LIKE '%{$referencia_s}%' " : "";
    $filtro .= $cb ? " AND ges_productos.CodigoBarras = '{$cb_s}' " : "";
    $filtro .= " AND  ges_almacenes.Unidades = 0 ";
    $jsOut = getProductosSyncAlmacen(array(), $IdLocalActivo, $filtro, false);
    return $jsOut;
}
开发者ID:klich3,项目名称:gPOS,代码行数:13,代码来源:producto.inc.php

示例7: AccionesTrasAlta

function AccionesTrasAlta()
{
    global $action;
    $ot = getTemplate("AccionesTrasAltaPopup");
    if (!$ot) {
        error(__FILE__ . __LINE__, "Info: template busqueda no encontrado");
        return false;
    }
    $IdProducto = getSesionDato("UltimaAltaProducto");
    $ot->fijar("IdProducto", $IdProducto);
    //$ot->fijar("tEnviar" , _("Enviar"));
    $ot->fijar("action", $action);
    echo $ot->Output();
}
开发者ID:klich3,项目名称:gPOS,代码行数:14,代码来源:altarapida.php

示例8: AgnadirCodigoCarritoAlmacen

function AgnadirCodigoCarritoAlmacen($xid, $local)
{
    $id = getIdFromAlmacen($xid, $local);
    if (!$id) {
        return false;
    }
    $rkardex = getResumenKardex2Articulo($id);
    $igv = getSesionDato("IGV");
    $aPedido = split("~", $rkardex);
    $cPedido = split(":", $aPedido[1]);
    $costo = $aPedido[0];
    $xid = $cPedido[0];
    $precio = round($costo * ($igv + 100) / 100, 2);
    $u = $xid . ':1:' . $precio;
    AgnadirCarritoTraspaso($id, $u);
    return true;
}
开发者ID:klich3,项目名称:gPOS,代码行数:17,代码来源:selalmacen.php

示例9: getTemplate

function getTemplate($nombre)
{
    //ATENCION: esta funcion cogera el template de la sesion!!
    //TODO: cargar todas al hacer login, y recuperarlas aqui desde la SESION
    $ot = getSesionDato("Template_{$nombre}");
    if ($ot) {
        //error(0,"retorna $ot");
        return unserialize($ot);
    }
    $ot = new template();
    if ($ot->LoadByName($nombre)) {
        $_SESSION["Template_{$nombre}"] = serialize($ot);
        return $ot;
    }
    echo "Error: No encontrado template '<a href='modtemplates.php?modo=alta'>{$nombre}<br>'";
    //http://www.casaruralvirtual.com/misc/9gestion/
    return false;
}
开发者ID:klich3,项目名称:gPOS,代码行数:18,代码来源:template.class.php

示例10: genListadoCruzadoAsArray

function genListadoCruzadoAsArray($IdProducto, $IdTallaje = false, $IdLang = false)
{
    $IdProducto = CleanID($IdProducto);
    $IdTallaje = CleanID($IdTallaje);
    $out = "";
    //Cadena de salida
    if (!$IdLang) {
        $IdLang = getSesionDato("IdLenguajeDefecto");
    }
    $sql = "SELECT Referencia, IdTallaje FROM ges_productos WHERE IdProducto='{$IdProducto}' AND Eliminado='0'";
    $row = queryrow($sql);
    if (!$row) {
        return false;
    }
    $tReferencia = CleanRealMysql($row["Referencia"]);
    if (!$IdTallaje) {
        $IdTallaje = $row["IdTallaje"];
    }
    if (!$IdTallaje) {
        $IdTallaje = 2;
    }
    //gracefull degradation
    $sql = "SELECT  ges_locales.NombreComercial,ges_modelos.Color,\n\t\tges_detalles.Talla, SUM(ges_almacenes.Unidades) as TotalUnidades FROM ges_almacenes INNER\n\t\tJOIN ges_locales ON ges_almacenes.IdLocal = ges_locales.IdLocal INNER\n\t\tJOIN ges_productos ON ges_almacenes.IdProducto =\n\t\tges_productos.IdProducto INNER JOIN ges_modelos ON\n\t\tges_productos.IdColor = ges_modelos.IdColor INNER JOIN ges_detalles ON\n\t\tges_productos.IdTalla = ges_detalles.IdTalla\n\t\tWHERE\n\t\tges_productos.Referencia = '{$tReferencia}'\n\t\tAND ges_modelos.IdIdioma = 1\n\t\tAND ges_locales.Eliminado = 0\n\t\tGROUP BY ges_almacenes.IdLocal, ges_productos.IdColor, ges_productos.IdTalla\n\t\tORDER BY ges_almacenes.IdLocal, ges_productos.IdColor";
    $data = array();
    $colores = array();
    $tallas = array();
    $locales = array();
    $tallasTallaje = array();
    $listaColores = array();
    $res = query($sql, "Generando Listado Cruzado");
    while ($row = Row($res)) {
        $color = $row["Color"];
        $talla = $row["Talla"];
        $nombre = $row["NombreComercial"];
        $unidades = CleanInt($row["TotalUnidades"]);
        $colores[$color] = 1;
        $tallas[$talla] = 1;
        $locales[$nombre] = 1;
        $num = 0;
        //echo "Adding... c:$color,t:$talla,n:$nombre,u:$unidades<br>";
        $data[$color][$talla][$nombre] = $unidades;
    }
    $sql = "SELECT Talla,SizeOrden FROM ges_detalles WHERE IdTallaje= '{$IdTallaje}' AND IdIdioma='{$IdLang}' AND Eliminado='0'" . "\t ORDER BY SizeOrden ASC, Talla ASC";
    $res = query($sql);
    $numtallas = 0;
    while ($row = Row($res)) {
        $orden = intval($row["SizeOrden"]);
        $talla = $row["Talla"];
        $posicion = GetOrdenVacio($tallasTallaje, $orden);
        $tallasTallaje[$posicion] = $talla;
        $numtallas++;
    }
    //$out .= "<table class='forma'>";
    //$out .= "<tr><td class='nombre'>".$tReferencia."</td>";
    $out_nombretabla = $tReferencia;
    $out_tallas = array();
    $out_tallas["talla_0"] = "{$tReferencia}/Tienda";
    $out_tallas["talla_1"] = "C o l o r";
    $num = 2;
    foreach ($tallasTallaje as $k => $v) {
        $out_tallas["talla_{$num}"] = $v;
        $num++;
    }
    $out_base = array();
    $out_rows = array();
    $numrow = 0;
    $out_filas = array();
    $out_bloques = array();
    foreach ($locales as $l => $v2) {
        $out_base["nombre"] = $l;
        $out_bloques[] = $l;
        foreach ($colores as $c => $v1) {
            $row = array();
            $row[] = $l;
            $row[] = $c;
            foreach ($tallasTallaje as $k2 => $t) {
                if (isset($data[$c][$t][$l])) {
                    $u = $data[$c][$t][$l];
                } else {
                    $u = "";
                }
                //$out .= "<td class='unidades' align='center'>" . $u . "</td>";
                $row[] = $u;
            }
            $out_rows[] = $row;
            //$out .= "</tr>";
        }
    }
    //$out .= "</table>";
    $out_final = array();
    $out_final["heads"] = $out_tallas;
    $out_final["rows"] = $out_rows;
    $out_final["numheads"] = count($out_tallas);
    //$out_final["rowheads"] = $out_filas;
    $out_final["nombretabla"] = $out_nombretabla;
    //$out_final["bloques"] = $out_bloques;
    return $out_final;
}
开发者ID:klich3,项目名称:gPOS,代码行数:98,代码来源:testjson.php

示例11: round

$totalbruto = $totalbruto * 100 / ($IGV + 100);
//$totalbruto=round($totalbruto * 100) / 100;
//TOTALIGV
$totaligv = $totalneto - $totalneto_sinigv;
$totaligv = round($totaligv * 100) / 100;
//TOTAL DESCUENTO
$totaldescuento = $totalbruto - $totalneto_sinigv;
$totaldescuento = round($totaldescuento * 100) / 100;
//FORMAT
$totalbruto = number_format($totalbruto, 2);
$totaldescuento = number_format($totaldescuento, 2);
$totalneto_sinigv = number_format($totalneto_sinigv, 2);
$totaligv = number_format($totaligv, 2);
$totalneto = number_format($totalneto, 2);
$pdf->Cell(30, 4, $totalbruto, 1, 0, 'R', 1);
$pdf->Cell(36, 4, $totaldescuento, 1, 0, 'R', 1);
$pdf->Cell(36, 4, $totalneto_sinigv, 1, 0, 'R', 1);
$pdf->Cell(36, 4, $totaligv, 1, 0, 'R', 1);
//### TOTAL NETO
$pdf->Cell(50, 4, number_format($lafila["TotalImporte"], 2), 1, 0, 'R', 1);
$pdf->Ln(4);
//$impo=sprintf("%01.2f", $impo);
@mysql_free_result($resultado);
@mysql_free_result($query);
@mysql_free_result($resultado2);
@mysql_free_result($query3);
$name = "FACTURA-" . getSesionDato("TipoVentaTPV") . "-LOCAL-" . $IdLocal . "-NRO-" . $nroFactura . ".pdf";
$pdf->Output($name, '');
?>
 
开发者ID:klich3,项目名称:gPOS,代码行数:29,代码来源:imprimir_Factura_tpv.php

示例12: parseInt

            $vEFECTIVO = $value;
        }
    }
}
?>

var vBONO     = parseInt(<?php 
echo intval($vBONO);
?>
,10);
var vEFECTIVO = parseInt(<?php 
echo intval($vEFECTIVO);
?>
,10);
var vIGV      = <?php 
echo getSesionDato("IGV");
?>
;
var esPopup   = <?php 
echo $esPopup;
?>
;

function generadorCargado(){
	//Indica que funciones como aU() estan disponibles
	return typeof aU=="function";	
}

function generadorCargadoPromociones(){
	//Indica que funciones como tPL() estan disponibles
	return typeof tPL=="function";	
开发者ID:klich3,项目名称:gPOS,代码行数:31,代码来源:tpvmodular.php

示例13: Object

	break;

        case 119 : 
	parent.selTipoPresupuesto(1);
	parent.id("buscapedido").focus(); 
	break;

        case 120 : 
	parent.VerVentas();
	break;

    }
}


var Local = new Object();
Local.IdLocalActivo = '<?php 
echo CleanID(getSesionDato("IdTiendaDependiente"));
?>
';

setTimeout("onLoadFormulario()",300);


//]]></script>




</window>
开发者ID:klich3,项目名称:gPOS,代码行数:30,代码来源:arqueo2.php

示例14: registrarTrasladoSeries

function registrarTrasladoSeries($origen, $destino, $IdPedido, $nwIdPedidoDet, $IdPedidoDet, $idarticulo, $IdProducto, $IdComprobante)
{
    $aSeries = getSesionDato("CarritoMoverSeries");
    $esSerie = $aSeries[$idarticulo] ? false : true;
    //Control
    if ($esSerie) {
        return;
    }
    $mSeries = !$esSerie ? $aSeries[$idarticulo] : '';
    $seriesxPedido = explode("~", $mSeries);
    $Series = '';
    $srt = false;
    $vernseries = array();
    foreach ($seriesxPedido as $nsPedido) {
        $aPedido = explode(":", $nsPedido);
        if ($IdPedidoDet == $aPedido[0]) {
            $Series = $aPedido[1];
        }
    }
    $aSeries = explode(",", $Series);
    $nSeries = count($aSeries);
    $SerieVence = getGarantiaPedidoDet($IdPedidoDet, $IdProducto);
    $xset = "OperacionSalida='TrasLocal',Estado='Salida',Disponible=0,";
    for ($i = 0; $i < $nSeries; $i++) {
        $Serie = $aSeries[$i];
        //Ventas
        registrarSalidaNumeroSerie($IdProducto, $IdComprobante, $Serie, $IdPedidoDet, $xset);
        //Compras
        registrarNumeroSerieExtra($IdProducto, $nwIdPedidoDet, $Serie, $SerieVence, 'Pedido', 'TrasLocal', '0');
    }
    //Valida Series
    validaSeriePedidoDet($IdProducto, $nwIdPedidoDet);
}
开发者ID:klich3,项目名称:gPOS,代码行数:33,代码来源:series.inc.php

示例15: isset

 $poblacion = isset($_POST["Localidad"]) ? CleanText($_POST["Localidad"]) : '';
 $direccion = CleanText($_POST["Direccion"]);
 $cp = CleanCP($_POST["CP"]);
 $email = CleanEmail($_POST["Email"]);
 $telefono1 = CleanTelefono($_POST["Telefono1"]);
 $telefono2 = isset($_POST["Telefono2"]) ? CleanTelefono($_POST["Telefono2"]) : '';
 $contacto = isset($_POST["Contacto"]) ? CleanText($_POST["Contacto"]) : '';
 $cargo = isset($_POST["Pago"]) ? CleanText($_POST["Cargo"]) : '';
 $cuentabancaria = isset($_POST["CuentaBancaria"]) ? CleanCC($_POST["CuentaBancaria"]) : '';
 $numero = CleanText($_POST["NumeroFiscal"]);
 $comentario = CleanText($_POST["Comentarios"]);
 $tipocliente = CleanText($_POST["TipoCliente"]);
 $IdModPagoHabitual = isset($_POST["IdModPagoHabitual"]) ? CleanID($_POST["IdModPagoHabitual"]) : '';
 $idpais = isset($_POST["IdPais"]) ? CleanID($_POST["IdPais"]) : '';
 $paginaweb = isset($_POST["PaginaWeb"]) ? CleanUrl($_POST["PaginaWeb"]) : '';
 $IdLocal = CleanID(getSesionDato("IdTienda"));
 $FechaNacimiento = CleanText($_POST["FechaNacimiento"]);
 $datehoy = date("Y-m-d");
 $FechaNacimiento = $FechaNacimiento >= $datehoy ? '0000-00-00' : $FechaNacimiento;
 if ($tipocliente != 'Particular') {
     $FechaNacimiento = '0000-00-00';
 }
 if ($FechaNacimiento == '1899-11-30') {
     $FechaNacimiento = '0000-00-00';
 }
 $id = CrearCliente($comercial, $legal, $direccion, $poblacion, $cp, $email, $telefono1, $telefono2, $contacto, $cargo, $cuentabancaria, $numero, $comentario, $tipocliente, $idpais, $paginaweb, $IdLocal, $FechaNacimiento);
 if ($id) {
     echo "{$id}";
 } else {
     echo "0";
 }
开发者ID:klich3,项目名称:gPOS,代码行数:31,代码来源:xaltacliente.php


注:本文中的getSesionDato函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。