HGGitLab

Commit c3128453 authored by luoliangyi's avatar luoliangyi

增加websdk测试demo

parent 80071439
html{
height:100%
}
body{
margin:0;
font-size:14px;
font-family: "PingFang SC";
min-width:1200px;
min-height:900px;
height:100%;
}
.el-container{
height:100%;
border: 1px solid #eee;
}
ul{
list-style:none;
}
.imageListSelect{
/* border: 1px solid #909399; */
/*box-shadow: 0 2px 6px #ADADAD;*/
border:2px solid #fa7857 !important;
}
.aside{
border-right:1px solid #eee;
border-bottom: 1px solid #eee;
height:100%
}
.aside .header{
height:40px;
background-color: #eaeaea;
line-height: 40px;
padding-left:20px;
/* margin-top:10px; */
color:#09aaff;
}
.scroll::-webkit-scrollbar{
width: 8px;
height: 8px;
}
/* 设置滚动条的滑轨 */
.scroll::-webkit-scrollbar-track {
background-color: #eaeaea;
}
/* 滑块 */
.scroll::-webkit-scrollbar-thumb {
/* background-color: rgba(0, 0, 0, 0.6); */
background-color: #cdcdcd;
border-radius: 4px;
}
/* 滑轨两头的监听按钮 */
.scroll::-webkit-scrollbar-button {
/* background-color: #444; */
background-color: #cdcdcd;
display: none;
}
.el-container .el-header{
border-bottom: 1px solid #eee;
}
.el-container .el-header .iconContainer{
width:100%;
text-align: center;
height:35px
}
.el-container .el-header .menus{
width: 100%;
text-align: center;
font-size:14px
}
.el-container .el-header .menuContainer{
float:left;
margin-left: 15px;
}
.el-container .el-header .menuContainer ul{
padding-left:10px;
}
.el-container .el-header ul li{
float:left;
padding-left:20px;
cursor: pointer;
}
.el-container .el-header .menuRight{
float:right;
}
.el-container .el-header .menuRight ul li{
padding-right:20px;
float:right;
cursor: pointer;
}
.el-container .el-header .menuRight .iconContainer{
height:28px;
}
.el-main{
height:100%;
padding:0px;
position: relative;
overflow: hidden;
}
.el-main .opt{
width:58px;
height:100%;
border-right:1px solid #eee;
float:left;
background-color: #eaeaea;
}
.el-main .opt .active{
border-radius: 4px;
border: 1px solid #fff;
background-color: #cecece;
margin-left: 4px;
margin-right: 4px;
}
.image-container{
overflow: auto;
height:100%;
box-sizing:border-box;
margin:auto
}
.el-main .opt ul li{
cursor: pointer;
text-align: center;
line-height:16px;
padding-top:4px
}
.mask{
background-color:rgba(0,0,0,0.6);
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.mask .messageBox {
width: 500px;
border-radius: 3px;
position: fixed;
left: 50%;
top: 45%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #fff;
padding: 15px;
}
.mask .messageBox .title {
border-radius: 3px;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #eee;
font-size: 16px;
}
.mask .messageBox .title .closeReport {
float: right;
cursor: pointer;
}
.canvas-container{
margin:0 auto;
}
.el-dropdown-link {
cursor: pointer;
color: #409EFF;
}
.el-icon-arrow-down {
font-size: 12px;
}
/*
* FileSaver.js
* A saveAs() FileSaver implementation.
*
* By Eli Grey, http://eligrey.com
*
* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
* source : http://purl.eligrey.com/github/FileSaver.js
*/
// The one and only way of getting global scope in all environments
// https://stackoverflow.com/q/3277182/1008999
var _global = typeof window === 'object' && window.window === window
? window : typeof self === 'object' && self.self === self
? self : typeof global === 'object' && global.global === global
? global
: this
function bom (blob, opts) {
if (typeof opts === 'undefined') opts = { autoBom: false }
else if (typeof opts !== 'object') {
console.warn('Deprecated: Expected third argument to be a object')
opts = { autoBom: !opts }
}
// prepend BOM for UTF-8 XML and text/* types (including HTML)
// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })
}
return blob
}
function download (url, name, opts) {
var xhr = new XMLHttpRequest()
xhr.open('GET', url)
xhr.responseType = 'blob'
xhr.onload = function () {
saveAs(xhr.response, name, opts)
}
xhr.onerror = function () {
console.error('could not download file')
}
xhr.send()
}
function corsEnabled (url) {
var xhr = new XMLHttpRequest()
// use sync to avoid popup blocker
xhr.open('HEAD', url, false)
try {
xhr.send()
} catch (e) {}
return xhr.status >= 200 && xhr.status <= 299
}
// `a.click()` doesn't work for all browsers (#465)
function click (node) {
try {
node.dispatchEvent(new MouseEvent('click'))
} catch (e) {
var evt = document.createEvent('MouseEvents')
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,
20, false, false, false, false, 0, null)
node.dispatchEvent(evt)
}
}
// Detect WebView inside a native macOS app by ruling out all browsers
// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too
// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos
var isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)
var saveAs = _global.saveAs || (
// probably in some web worker
(typeof window !== 'object' || window !== _global)
? function saveAs () { /* noop */ }
// Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView
: ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)
? function saveAs (blob, name, opts) {
var URL = _global.URL || _global.webkitURL
var a = document.createElement('a')
name = name || blob.name || 'download'
a.download = name
a.rel = 'noopener' // tabnabbing
// TODO: detect chrome extensions & packaged apps
// a.target = '_blank'
if (typeof blob === 'string') {
// Support regular links
a.href = blob
if (a.origin !== location.origin) {
corsEnabled(a.href)
? download(blob, name, opts)
: click(a, a.target = '_blank')
} else {
click(a)
}
} else {
// Support blobs
a.href = URL.createObjectURL(blob)
setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s
setTimeout(function () { click(a) }, 0)
}
}
// Use msSaveOrOpenBlob as a second approach
: 'msSaveOrOpenBlob' in navigator
? function saveAs (blob, name, opts) {
name = name || blob.name || 'download'
if (typeof blob === 'string') {
if (corsEnabled(blob)) {
download(blob, name, opts)
} else {
var a = document.createElement('a')
a.href = blob
a.target = '_blank'
setTimeout(function () { click(a) })
}
} else {
navigator.msSaveOrOpenBlob(bom(blob, opts), name)
}
}
// Fallback to using FileReader and a popup
: function saveAs (blob, name, opts, popup) {
// Open a popup immediately do go around popup blocker
// Mostly only available on user interaction and the fileReader is async so...
popup = popup || open('', '_blank')
if (popup) {
popup.document.title =
popup.document.body.innerText = 'downloading...'
}
if (typeof blob === 'string') return download(blob, name, opts)
var force = blob.type === 'application/octet-stream'
var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari
var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent)
if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {
// Safari doesn't allow downloading of blob URLs
var reader = new FileReader()
reader.onloadend = function () {
var url = reader.result
url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')
if (popup) popup.location.href = url
else location = url
popup = null // reverse-tabnabbing #460
}
reader.readAsDataURL(blob)
} else {
var URL = _global.URL || _global.webkitURL
var url = URL.createObjectURL(blob)
if (popup) popup.location = url
else location.href = url
popup = null // reverse-tabnabbing #460
setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s
}
}
)
_global.saveAs = saveAs.saveAs = saveAs
if (typeof module !== 'undefined') {
module.exports = saveAs;
}
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
(function (window, debug, undefined) {
var loadding;
var ajaxDefault = {
beforeSend: function (xhr) {
loadding=window.eleLoadding();
},
complete: function (xhr) {
if(debug){
console.log(xhr);
}
},
data: {},
success: function (data, textStatus, jqXHR) {
if(debug){
console.log(data);
}
if (data == undefined) {
eleAlert('返回结果异常','warning');
}else if(data.code==200){
msg = '调用成功,放回状态码为:' + data.code;
if(msg.code!=200){
msg+=';返回信息为:'+data.message;
}
// layer.alert(msg)
}
},
error: function (xhr, error, exception) {
if(debug){
console.log(xhr);
console.log(error);
console.log(exception);
}
eleAlert('调用错误',"error");
}
};
function fnBeforeSend(xhr, callback) {
(callback || ajaxDefault.beforeSend)(xhr);
}
function fnAjaxSuccess(data, textStatus, jqXHR, callback) {
/* if(data!=undefined&&data.code!=undefined){
if(data.code===401){
layer.alert('请登陆',function(){
window.location.href = loginUrl;
});
return;
}else if(data.code===403){
layer.alert(data.message);
return;
}else if(data.code===404){
layer.alert(data.message);
return;
}else if(data.code===500){
layer.alert(data.message);
return;
}
} */
(callback || ajaxDefault.complete)(data, textStatus, jqXHR);
}
function fnComplete(data, textStatus, callback) {
loadding.close();
(callback || ajaxDefault.complete)(data, textStatus);
}
window.utils = {
post: function (obj) {
var paramObj = {};
jQuery.extend(paramObj, obj)
if (window.jQuery == undefined) {
alert('请引入jQuery');
}
var finalData = {};
jQuery.extend(finalData, paramObj.data);
$.ajax({
type: 'POST',
url: paramObj.url,
data: finalData,
beforeSend: function (xhr) {
fnBeforeSend(xhr, paramObj.beforeSend);
},
complete: function (xhr, textStatus) {
fnComplete(xhr, textStatus, paramObj.complete);
},
success: function (data, textStatus, jqXHR) {
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
}
});
},
get: function (obj) {
var paramObj = {};
jQuery.extend(paramObj, obj)
if (window.jQuery == undefined) {
alert('请引入jQuery');
}
var finalData = {};
jQuery.extend(finalData, paramObj.data);
$.ajax({
type: 'GET',
url: paramObj.url,
data: finalData,
beforeSend: function (xhr) {
fnBeforeSend(xhr, paramObj.beforeSend);
},
complete: function (xhr, textStatus) {
fnComplete(xhr, paramObj.complete);
},
dataType: paramObj.dataType || ajaxDefault.dataType,
success: function (data, textStatus, jqXHR) {
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
}
});
}
};
})(window, false);
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment