Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fe-app-h5
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
万亚飞
fe-app-h5
Commits
bc1342f7
Commit
bc1342f7
authored
May 28, 2019
by
万亚飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
a7e1d712
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
710 additions
and
71 deletions
+710
-71
App.jsx
src/App.jsx
+1
-1
Upload.js
src/Components/common/Upload/Upload.js
+22
-11
file.js
src/Components/common/UploadFile/file.js
+0
-1
TrainItem.js
src/Components/page/user/TrainItem.js
+0
-1
Layout.js
src/Components/static/Layout/Layout.js
+1
-1
fetch.js
src/api/fetch.js
+1
-2
DepositPay.js
src/pages/deposit/DepositPay.js
+1
-1
DepositUser.js
src/pages/deposit/DepositUser.js
+0
-1
JobList.js
src/pages/user/JobList.js
+0
-2
Train.js
src/pages/user/Train.js
+1
-2
TrainList.js
src/pages/user/TrainList.js
+1
-1
addMaterial.js
src/pages/user/addMaterial.js
+1
-4
native.js
src/static/js/native.js
+4
-36
global.less
src/static/styles/global.less
+6
-3
photoswipe.css
src/static/styles/photoswipe.css
+662
-0
tools.js
src/utils/tools.js
+8
-3
vconsole.js
src/utils/vconsole.js
+1
-1
No files found.
src/App.jsx
View file @
bc1342f7
...
@@ -23,7 +23,7 @@ class App extends React.Component {
...
@@ -23,7 +23,7 @@ class App extends React.Component {
vc
();
vc
();
let
newObj
=
this
.
analysisQuery
();
let
newObj
=
this
.
analysisQuery
();
if
(
newObj
&&
newObj
.
uid
)
{
if
(
newObj
&&
newObj
.
uid
)
{
storage
.
setSS
(
'
urlQuery
'
,
this
.
analysisQuery
());
storage
.
setSS
(
'
appInfo
'
,
this
.
analysisQuery
());
}
}
}
}
componentDidMount
()
{}
componentDidMount
()
{}
...
...
src/Components/common/Upload/Upload.js
View file @
bc1342f7
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
{
ImagePicker
}
from
'antd-mobile'
;
import
{
ImagePicker
,
Modal
}
from
'antd-mobile'
;
import
app
from
'../../../static/js/native'
;
import
{
isIOS
}
from
'@/utils/tools'
;
import
storage
from
'@/utils/storage.plugin'
;
import
{
PhotoSwipeGallery
}
from
'react-photoswipe'
;
import
{
PhotoSwipeGallery
}
from
'react-photoswipe'
;
import
*
as
qiniu
from
'qiniu-js'
;
import
*
as
qiniu
from
'qiniu-js'
;
import
API
from
'./api'
;
import
API
from
'./api'
;
import
'
react-photoswipe/lib
/photoswipe.css'
;
import
'
@/static/styles
/photoswipe.css'
;
class
UpLoad
extends
Component
{
class
UpLoad
extends
Component
{
state
=
{
state
=
{
isOpen
:
false
,
isOpen
:
false
,
maxSelectImageNumber
:
1
,
//上传文件数
maxSelectImageNumber
:
1
,
//上传文件数
// certificateFiles: [],
// certificateFiles: [],
ViewImagesIndex
:
0
ViewImagesIndex
:
0
,
appInfo
:
null
// viewImages: [] //查看大图list
// viewImages: [] //查看大图list
};
};
componentDidMount
()
{
componentDidMount
()
{
// appBridge({
this
.
setState
({
// name: 'action_needLoad',
appInfo
:
storage
.
getSS
(
'appInfo'
)
// option: {
});
// needLoad: false
// }
// });
}
}
// 获取随机字符串
// 获取随机字符串
random_string
(
len
=
32
)
{
random_string
(
len
=
32
)
{
...
@@ -125,7 +124,19 @@ class UpLoad extends Component {
...
@@ -125,7 +124,19 @@ class UpLoad extends Component {
return
(
return
(
<
div
className
=
"photo-wrap"
>
<
div
className
=
"photo-wrap"
>
<
ImagePicker
accept
=
"image/png, image/jpeg, image/jpg"
files
=
{
certificateFiles
}
onChange
=
{
this
.
certificateChange
}
onImageClick
=
{
this
.
onImageClickFun
}
selectable
=
{
certificateFiles
.
length
<
maxSelectImageNumber
}
/
>
<
ImagePicker
onAddImageClick
=
{
e
=>
{
if
(
this
.
state
.
appInfo
.
v
<=
'2.2.50'
&&
isIOS
)
{
e
.
preventDefault
();
Modal
.
alert
(
'您的APP版本太低,升级后可使用上传图片功能'
);
}
}}
accept
=
"image/png, image/jpeg, image/jpg"
files
=
{
certificateFiles
}
onChange
=
{
this
.
certificateChange
}
onImageClick
=
{
this
.
onImageClickFun
}
selectable
=
{
certificateFiles
.
length
<
maxSelectImageNumber
}
/
>
<
PhotoSwipeGallery
items
=
{
viewImages
}
isOpen
=
{
isOpen
}
thumbnailContent
=
{
this
.
getThumbnailContent
}
options
=
{{
closeOnScroll
:
false
}}
onClose
=
{
this
.
closePhoto
}
/
>
<
PhotoSwipeGallery
items
=
{
viewImages
}
isOpen
=
{
isOpen
}
thumbnailContent
=
{
this
.
getThumbnailContent
}
options
=
{{
closeOnScroll
:
false
}}
onClose
=
{
this
.
closePhoto
}
/
>
<
/div
>
<
/div
>
);
);
...
...
src/Components/common/UploadFile/file.js
View file @
bc1342f7
...
@@ -74,7 +74,6 @@ class Page extends Component {
...
@@ -74,7 +74,6 @@ class Page extends Component {
}
}
qiniuNext
(
res
)
{
qiniuNext
(
res
)
{
// console.log("qiniuNext >>>>>>>")
// console.log("qiniuNext >>>>>>>")
// console.log(res)
}
}
qiniuError
(
err
)
{
qiniuError
(
err
)
{
this
.
props
.
refresh
({
this
.
props
.
refresh
({
...
...
src/Components/page/user/TrainItem.js
View file @
bc1342f7
...
@@ -39,7 +39,6 @@ class TrainItem extends Component {
...
@@ -39,7 +39,6 @@ class TrainItem extends Component {
<
/span
>
<
/span
>
<
span
<
span
onClick
=
{()
=>
{
onClick
=
{()
=>
{
console
.
log
(
this
.
props
.
history
);
if
(
data
.
auditStatus
==
1
)
return
;
if
(
data
.
auditStatus
==
1
)
return
;
if
(
iType
===
3
)
{
if
(
iType
===
3
)
{
linkTo
(
`/new/user/train/
${
data
.
id
}
?modifyId=
${
data
.
modifyId
}
`
);
linkTo
(
`/new/user/train/
${
data
.
id
}
?modifyId=
${
data
.
modifyId
}
`
);
...
...
src/Components/static/Layout/Layout.js
View file @
bc1342f7
...
@@ -20,7 +20,7 @@ export default class Layout extends Component {
...
@@ -20,7 +20,7 @@ export default class Layout extends Component {
vc
();
vc
();
let
newObj
=
this
.
analysisQuery
();
let
newObj
=
this
.
analysisQuery
();
if
(
newObj
&&
newObj
.
uid
)
{
if
(
newObj
&&
newObj
.
uid
)
{
storage
.
setSS
(
'
urlQuery
'
,
this
.
analysisQuery
());
storage
.
setSS
(
'
appInfo
'
,
this
.
analysisQuery
());
}
}
// ENV === 'development' && storage.setLS('uid', 13090225);
// ENV === 'development' && storage.setLS('uid', 13090225);
}
}
...
...
src/api/fetch.js
View file @
bc1342f7
...
@@ -6,14 +6,13 @@ import { Toast } from 'antd-mobile';
...
@@ -6,14 +6,13 @@ import { Toast } from 'antd-mobile';
import
{
getParameterByName
}
from
'../utils/common'
;
import
{
getParameterByName
}
from
'../utils/common'
;
export
default
function
ajax
(
apiKey
,
options
)
{
export
default
function
ajax
(
apiKey
,
options
)
{
const
userInfo
=
storage
.
getSS
(
'
urlQuery
'
);
const
userInfo
=
storage
.
getSS
(
'
appInfo
'
);
const
uinfo
=
userInfo
const
uinfo
=
userInfo
?
{
?
{
uid
:
userInfo
.
uid
,
uid
:
userInfo
.
uid
,
accessToken
:
userInfo
.
accessToken
accessToken
:
userInfo
.
accessToken
}
}
:
''
;
:
''
;
// console.log(uid);
const
option
=
Object
.
assign
(
const
option
=
Object
.
assign
(
{},
{},
{
{
...
...
src/pages/deposit/DepositPay.js
View file @
bc1342f7
...
@@ -102,7 +102,7 @@ export default class DepositPay extends Component {
...
@@ -102,7 +102,7 @@ export default class DepositPay extends Component {
}
}
componentDidMount
()
{
componentDidMount
()
{
const
userInfo
=
storage
.
getSS
(
'
urlQuery
'
);
const
userInfo
=
storage
.
getSS
(
'
appInfo
'
);
this
.
setState
({
this
.
setState
({
userInfo
userInfo
});
});
...
...
src/pages/deposit/DepositUser.js
View file @
bc1342f7
...
@@ -39,7 +39,6 @@ export default class DepositPay extends Component {
...
@@ -39,7 +39,6 @@ export default class DepositPay extends Component {
fetchData
=
()
=>
{
fetchData
=
()
=>
{
fetch
(
'myDeposit'
,
{
fetch
(
'myDeposit'
,
{
success
:
result
=>
{
success
:
result
=>
{
console
.
log
(
result
);
let
{
cateDepositAmount
,
cateMeetRequired
,
qualityDepositAmount
,
qualityDepositDeficiency
}
=
result
.
data
;
let
{
cateDepositAmount
,
cateMeetRequired
,
qualityDepositAmount
,
qualityDepositDeficiency
}
=
result
.
data
;
this
.
setState
({
this
.
setState
({
depositMoney
:
cateDepositAmount
,
//类目保证金
depositMoney
:
cateDepositAmount
,
//类目保证金
...
...
src/pages/user/JobList.js
View file @
bc1342f7
...
@@ -13,7 +13,6 @@ import { getParameterByName } from '../../utils/common';
...
@@ -13,7 +13,6 @@ import { getParameterByName } from '../../utils/common';
import
'@/static/styles/user/train-list.less'
;
import
'@/static/styles/user/train-list.less'
;
function
AddView
(
props
)
{
function
AddView
(
props
)
{
console
.
log
(
props
);
return
(
return
(
<
div
className
=
"bottom-operate"
>
<
div
className
=
"bottom-operate"
>
<
a
<
a
...
@@ -147,7 +146,6 @@ class JobList extends Component {
...
@@ -147,7 +146,6 @@ class JobList extends Component {
};
};
render
()
{
render
()
{
const
{
authList
,
backList
,
honorList
,
delDialogObj
,
tabIndex
}
=
this
.
state
;
const
{
authList
,
backList
,
honorList
,
delDialogObj
,
tabIndex
}
=
this
.
state
;
console
.
log
(
tabIndex
);
// title="执业背景"
// title="执业背景"
return
(
return
(
<
div
>
<
div
>
...
...
src/pages/user/Train.js
View file @
bc1342f7
...
@@ -29,7 +29,6 @@ class Train extends Component {
...
@@ -29,7 +29,6 @@ class Train extends Component {
};
};
//初始化图片
//初始化图片
initImgs
(
imgs
)
{
initImgs
(
imgs
)
{
console
.
log
(
'initImgs'
,
imgs
);
let
viewArr
=
[],
let
viewArr
=
[],
creArr
=
[];
creArr
=
[];
const
_this
=
this
;
const
_this
=
this
;
...
@@ -161,7 +160,7 @@ class Train extends Component {
...
@@ -161,7 +160,7 @@ class Train extends Component {
fetch
(
subType
,
{
fetch
(
subType
,
{
data
:
param
,
data
:
param
,
success
:
res
=>
{
success
:
res
=>
{
Toast
.
info
(
`
${
str
}
成功
,请刷新列表页查看
`
);
Toast
.
info
(
`
${
str
}
成功`
);
fetch
(
'fetchTrainList'
,
{
fetch
(
'fetchTrainList'
,
{
loading
:
false
loading
:
false
});
});
...
...
src/pages/user/TrainList.js
View file @
bc1342f7
...
@@ -23,7 +23,7 @@ class TrainList extends Component {
...
@@ -23,7 +23,7 @@ class TrainList extends Component {
document
.
title
=
'受训背景'
;
document
.
title
=
'受训背景'
;
app
().
downRefresh
(
true
);
app
().
downRefresh
(
true
);
app
().
notRefresh
(
true
);
app
().
notRefresh
(
true
);
const
userInfo
=
storage
.
getSS
(
'
urlQuery
'
);
const
userInfo
=
storage
.
getSS
(
'
appInfo
'
);
this
.
setState
({
this
.
setState
({
userInfo
userInfo
});
});
...
...
src/pages/user/addMaterial.js
View file @
bc1342f7
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
{
Toast
,
Modal
}
from
'antd-mobile'
;
import
{
Toast
,
Modal
}
from
'antd-mobile'
;
import
Layout
from
'../../Components/static/Layout/Layout'
;
import
{
MATERIAL_ARR
}
from
'../../static/js/constant'
;
import
{
MATERIAL_ARR
}
from
'../../static/js/constant'
;
import
{
getParam
,
getImgNaturalDimensions
,
linkTo
}
from
'../../utils/tools'
;
import
{
getParam
,
getImgNaturalDimensions
,
linkTo
}
from
'../../utils/tools'
;
import
UpLoad
from
'../../Components/common/Upload/Upload'
;
import
UpLoad
from
'../../Components/common/Upload/Upload'
;
...
@@ -64,7 +63,6 @@ class AddMaterial extends Component {
...
@@ -64,7 +63,6 @@ class AddMaterial extends Component {
}
}
initImgs
=
imgs
=>
{
initImgs
=
imgs
=>
{
console
.
log
(
'initImgs'
,
imgs
);
let
viewArr
=
[],
let
viewArr
=
[],
creArr
=
[];
creArr
=
[];
const
_this
=
this
;
const
_this
=
this
;
...
@@ -109,7 +107,6 @@ class AddMaterial extends Component {
...
@@ -109,7 +107,6 @@ class AddMaterial extends Component {
}
else
{
}
else
{
Toast
.
info
(
'上传图片失败,请重试'
,
2
);
Toast
.
info
(
'上传图片失败,请重试'
,
2
);
}
}
console
.
log
(
res
);
};
};
delFile
=
()
=>
{
delFile
=
()
=>
{
this
.
setState
({
this
.
setState
({
...
@@ -160,7 +157,7 @@ class AddMaterial extends Component {
...
@@ -160,7 +157,7 @@ class AddMaterial extends Component {
fetch
(
`
${
subType
}${
this
.
state
.
materialType
}
`
,
{
fetch
(
`
${
subType
}${
this
.
state
.
materialType
}
`
,
{
data
:
param
,
data
:
param
,
success
:
res
=>
{
success
:
res
=>
{
Toast
.
info
(
`
${
str
}
成功
,请刷新列表页查看
`
);
Toast
.
info
(
`
${
str
}
成功`
);
fetch
(
'fetchJobList'
,
{
fetch
(
'fetchJobList'
,
{
loading
:
false
loading
:
false
});
});
...
...
src/static/js/native.js
View file @
bc1342f7
...
@@ -179,16 +179,11 @@ export default function() {
...
@@ -179,16 +179,11 @@ export default function() {
var
ua
=
window
.
navigator
.
userAgent
.
toLowerCase
();
var
ua
=
window
.
navigator
.
userAgent
.
toLowerCase
();
if
(
ua
.
match
(
/MicroMessenger/i
)
==
'micromessenger'
)
{
if
(
ua
.
match
(
/MicroMessenger/i
)
==
'micromessenger'
)
{
// console.log('微信')
return
'wx'
;
return
'wx'
;
}
else
{
}
else
{
// console.log('非微信')
if
(
isiOS
)
{
if
(
isiOS
)
{
console
.
log
(
'iOS'
);
return
'iOS'
;
return
'iOS'
;
}
else
if
(
isAndroid
)
{
}
else
if
(
isAndroid
)
{
console
.
log
(
'isAndroid'
);
return
'Android'
;
return
'Android'
;
}
else
{
}
else
{
console
.
log
(
'非微信web'
,
ua
);
console
.
log
(
'非微信web'
,
ua
);
...
@@ -204,7 +199,6 @@ export default function() {
...
@@ -204,7 +199,6 @@ export default function() {
* connectWebViewJavascriptBridge
* connectWebViewJavascriptBridge
* ***/
* ***/
function
connectWebViewJavascriptBridge
(
callback
)
{
function
connectWebViewJavascriptBridge
(
callback
)
{
console
.
log
(
'connectWebViewJavascriptBridge'
);
if
(
window
.
WebViewJavascriptBridge
)
{
if
(
window
.
WebViewJavascriptBridge
)
{
callback
(
WebViewJavascriptBridge
);
callback
(
WebViewJavascriptBridge
);
}
else
{
}
else
{
...
@@ -217,18 +211,11 @@ export default function() {
...
@@ -217,18 +211,11 @@ export default function() {
);
);
}
}
}
}
window
.
sendDataToOC
=
function
(
params
)
{};
window
.
sendDataToOC
=
function
(
params
)
{};
console
.
log
(
'system'
,
browser
);
if
(
browser
==
'iOS'
)
{
if
(
browser
==
'iOS'
)
{
console
.
log
(
'isIos'
);
connectWebViewJavascriptBridge
(
function
(
bridge
)
{
connectWebViewJavascriptBridge
(
function
(
bridge
)
{
bridge
.
init
(
function
(
message
,
responseCallback
)
{});
bridge
.
init
(
function
(
message
,
responseCallback
)
{});
bridge
.
registerHandler
(
'javascriptHandler'
,
function
(
data
,
responseCallback
)
{});
bridge
.
registerHandler
(
'javascriptHandler'
,
function
(
data
,
responseCallback
)
{});
console
.
log
(
'isIos2222'
);
window
.
sendDataToOC
=
function
(
params
)
{
window
.
sendDataToOC
=
function
(
params
)
{
bridge
.
callHandler
(
'javascriptHandler'
,
params
,
function
(
response
)
{
bridge
.
callHandler
(
'javascriptHandler'
,
params
,
function
(
response
)
{
if
(
typeof
response
.
uid
==
'undefined'
)
{
if
(
typeof
response
.
uid
==
'undefined'
)
{
...
@@ -253,7 +240,6 @@ export default function() {
...
@@ -253,7 +240,6 @@ export default function() {
function
sendDataToExp
(
params
)
{
function
sendDataToExp
(
params
)
{
try
{
try
{
if
(
browser
==
'iOS'
)
{
if
(
browser
==
'iOS'
)
{
console
.
log
(
'postMessage'
,
params
);
window
.
webkit
.
messageHandlers
.
MModel
.
postMessage
(
params
);
window
.
webkit
.
messageHandlers
.
MModel
.
postMessage
(
params
);
}
else
{
}
else
{
var
a
=
''
;
var
a
=
''
;
...
@@ -281,37 +267,20 @@ export default function() {
...
@@ -281,37 +267,20 @@ export default function() {
};
};
params
.
cmd
.
action_name
=
'action_needLoad'
;
params
.
cmd
.
action_name
=
'action_needLoad'
;
params
.
url
=
'ydl_app'
;
params
.
url
=
'ydl_app'
;
console
.
log
(
'notRefresh,2.2.50'
);
sendDataToExp
(
params
);
sendDataToExp
(
params
);
};
};
// 跳转到m站
native
.
openApp
=
function
()
{
console
.
log
(
'openApp'
);
setTimeout
(
function
()
{
var
parmas
=
{};
parmas
.
url
=
'ydl-user://confide/home'
;
sendDataToOC
(
parmas
);
},
300
);
};
native
.
goPage
=
function
(
url
)
{
native
.
goPage
=
function
(
url
)
{
setTimeout
(
function
()
{
setTimeout
(
function
()
{
var
par
ma
s
=
{
var
par
am
s
=
{
url
:
'http'
,
url
:
'http'
,
cmd
:
{
cmd
:
{
params
:
{
url
:
url
}
,
action_name
:
''
,
action_name
:
''
params
:
{
url
:
url
}
}
}
};
};
sendDataToExp
(
par
ma
s
);
sendDataToExp
(
par
am
s
);
},
300
);
},
300
);
};
};
native
.
toPage
=
function
(
url
)
{
sendDataToExp
(
url
);
};
native
.
setParams
=
function
(
action_name
,
params
,
_url
)
{
setParams
(
action_name
,
params
,
_url
);
};
native
.
gotoOCChat
=
function
(
args
)
{
native
.
gotoOCChat
=
function
(
args
)
{
const
params
=
{
const
params
=
{
cmd
:
{
cmd
:
{
...
@@ -331,7 +300,6 @@ export default function() {
...
@@ -331,7 +300,6 @@ export default function() {
url
:
_url
url
:
_url
}
}
};
};
console
.
log
(
data
);
sendDataToExp
(
data
);
sendDataToExp
(
data
);
};
};
return
native
;
return
native
;
...
...
src/static/styles/global.less
View file @
bc1342f7
...
@@ -637,7 +637,7 @@ textarea::placeholder {
...
@@ -637,7 +637,7 @@ textarea::placeholder {
background: black;
background: black;
}
}
/*常用按钮*/
/*常用按钮*/
btn.active,
.
btn.active,
.btn:active {
.btn:active {
background-image: none;
background-image: none;
outline: 0;
outline: 0;
...
@@ -912,6 +912,9 @@ textarea::placeholder {
...
@@ -912,6 +912,9 @@ textarea::placeholder {
.am-toast-notice-content .am-toast-text {
.am-toast-notice-content .am-toast-text {
min-width: 100px;
min-width: 100px;
}
}
.am-modal-title {
line-height: 1.4;
}
.am-modal {
.am-modal {
margin-bottom: 60px;
margin-bottom: 60px;
}
}
...
@@ -927,12 +930,12 @@ textarea::placeholder {
...
@@ -927,12 +930,12 @@ textarea::placeholder {
.am-button {
.am-button {
height: 45px;
height: 45px;
line-height: 45px;
line-height: 45px;
}
&[disabled] {
.am-button[disabled] {
background-color: #ddd;
background-color: #ddd;
&::before {
&::before {
border: 1px solid #ddd !important;
border: 1px solid #ddd !important;
}
}
}
}
}
.deposit-user .my-list .am-list-item .am-list-line .am-list-content,
.deposit-user .my-list .am-list-item .am-list-line .am-list-content,
...
...
src/static/styles/photoswipe.css
0 → 100644
View file @
bc1342f7
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp
{
display
:
none
;
position
:
absolute
;
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
overflow
:
hidden
;
-ms-touch-action
:
none
;
touch-action
:
none
;
z-index
:
1500
;
-webkit-text-size-adjust
:
100%
;
/* create separate layer, to avoid paint on window.onscroll in webkit/blink */
-webkit-backface-visibility
:
hidden
;
outline
:
none
;
}
.pswp
*
{
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.pswp
img
{
max-width
:
none
;
}
/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity
{
/* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
opacity
:
0.001
;
will-change
:
opacity
;
/* for open/close transition */
-webkit-transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
}
.pswp--open
{
display
:
block
;
}
.pswp--zoom-allowed
.pswp__img
{
/* autoprefixer: off */
cursor
:
-webkit-zoom-in
;
cursor
:
-moz-zoom-in
;
cursor
:
zoom-in
;
}
.pswp--zoomed-in
.pswp__img
{
/* autoprefixer: off */
cursor
:
-webkit-grab
;
cursor
:
-moz-grab
;
cursor
:
grab
;
}
.pswp--dragging
.pswp__img
{
/* autoprefixer: off */
cursor
:
-webkit-grabbing
;
cursor
:
-moz-grabbing
;
cursor
:
grabbing
;
}
/*
Background is added as a separate element.
As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg
{
position
:
absolute
;
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
background
:
#000
;
opacity
:
0
;
-webkit-transform
:
translateZ
(
0
);
transform
:
translateZ
(
0
);
-webkit-backface-visibility
:
hidden
;
will-change
:
opacity
;
}
.pswp__scroll-wrap
{
position
:
absolute
;
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
}
.pswp__container
,
.pswp__zoom-wrap
{
-ms-touch-action
:
none
;
touch-action
:
none
;
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
0
;
}
/* Prevent selection and tap highlights */
.pswp__container
,
.pswp__img
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
-webkit-tap-highlight-color
:
transparent
;
-webkit-touch-callout
:
none
;
}
.pswp__zoom-wrap
{
position
:
absolute
;
width
:
100%
;
-webkit-transform-origin
:
left
top
;
-ms-transform-origin
:
left
top
;
transform-origin
:
left
top
;
/* for open/close transition */
-webkit-transition
:
-webkit-transform
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
transition
:
transform
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
}
.pswp__bg
{
will-change
:
opacity
;
/* for open/close transition */
-webkit-transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
}
.pswp--animated-in
.pswp__bg
,
.pswp--animated-in
.pswp__zoom-wrap
{
-webkit-transition
:
none
;
transition
:
none
;
}
.pswp__container
,
.pswp__zoom-wrap
{
-webkit-backface-visibility
:
hidden
;
}
.pswp__item
{
position
:
absolute
;
left
:
0
;
right
:
0
;
top
:
0
;
bottom
:
0
;
overflow
:
hidden
;
}
.pswp__img
{
position
:
absolute
;
width
:
auto
;
height
:
auto
;
top
:
0
;
left
:
0
;
}
/*
stretched thumbnail or div placeholder element (see below)
style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder
{
-webkit-backface-visibility
:
hidden
;
}
/*
div element that matches size of large image
large image loads on top of it
*/
.pswp__img--placeholder--blank
{
background
:
#222
;
}
.pswp--ie
.pswp__img
{
width
:
100%
!important
;
height
:
auto
!important
;
left
:
0
;
top
:
0
;
}
/*
Error message appears when image is not loaded
(JS option errorMsg controls markup)
*/
.pswp__error-msg
{
position
:
absolute
;
left
:
0
;
top
:
50%
;
width
:
100%
;
text-align
:
center
;
font-size
:
14px
;
line-height
:
16px
;
margin-top
:
-8px
;
color
:
#CCC
;
}
.pswp__error-msg
a
{
color
:
#CCC
;
text-decoration
:
underline
;
}
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
Contents:
1. Buttons
2. Share modal and links
3. Index indicator ("1 of X" counter)
4. Caption
5. Loading indicator
6. Additional styles (root element, top bar, idle state, hidden state, etc.)
*/
/*
1. Buttons
*/
/* <button> css reset */
.pswp__button
{
width
:
44px
;
height
:
44px
;
position
:
relative
;
background
:
none
;
cursor
:
pointer
;
overflow
:
visible
;
-webkit-appearance
:
none
;
display
:
block
;
border
:
0
;
padding
:
0
;
margin
:
0
;
float
:
right
;
opacity
:
0.75
;
-webkit-transition
:
opacity
0.2s
;
transition
:
opacity
0.2s
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
}
.pswp__button
:focus
,
.pswp__button
:hover
{
opacity
:
1
;
}
.pswp__button
:active
{
outline
:
none
;
opacity
:
0.9
;
}
.pswp__button
::-moz-focus-inner
{
padding
:
0
;
border
:
0
;
}
/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close
.pswp__button--close
{
opacity
:
1
;
}
.pswp__button
,
.pswp__button--arrow--left
:before
,
.pswp__button--arrow--right
:before
{
background
:
url("./default-skin.png")
0
0
no-repeat
;
background-size
:
264px
88px
;
width
:
44px
;
height
:
44px
;
}
@media
(
-webkit-min-device-pixel-ratio
:
1.1
),
(
-webkit-min-device-pixel-ratio
:
1.09375
),
(
min-resolution
:
105dpi
),
(
min-resolution
:
1.1dppx
)
{
/* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
.pswp--svg
.pswp__button
,
.pswp--svg
.pswp__button--arrow--left
:before
,
.pswp--svg
.pswp__button--arrow--right
:before
{
background-image
:
url("./default-skin.svg")
;
}
.pswp--svg
.pswp__button--arrow--left
,
.pswp--svg
.pswp__button--arrow--right
{
background
:
none
;
}
}
.pswp__button--close
{
background-position
:
0
-44px
;
}
.pswp__button--share
{
background-position
:
-44px
-44px
;
}
.pswp__button--fs
{
display
:
none
;
}
.pswp--supports-fs
.pswp__button--fs
{
display
:
block
;
}
.pswp--fs
.pswp__button--fs
{
background-position
:
-44px
0
;
}
.pswp__button--zoom
{
display
:
none
;
background-position
:
-88px
0
;
}
.pswp--zoom-allowed
.pswp__button--zoom
{
display
:
block
;
}
.pswp--zoomed-in
.pswp__button--zoom
{
background-position
:
-132px
0
;
}
/* no arrows on touch screens */
.pswp--touch
.pswp__button--arrow--left
,
.pswp--touch
.pswp__button--arrow--right
{
visibility
:
hidden
;
}
/*
Arrow buttons hit area
(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left
,
.pswp__button--arrow--right
{
background
:
none
;
top
:
50%
;
margin-top
:
-50px
;
width
:
70px
;
height
:
100px
;
position
:
absolute
;
}
.pswp__button--arrow--left
{
left
:
0
;
}
.pswp__button--arrow--right
{
right
:
0
;
}
.pswp__button--arrow--left
:before
,
.pswp__button--arrow--right
:before
{
content
:
''
;
top
:
35px
;
background-color
:
rgba
(
0
,
0
,
0
,
0.3
);
height
:
30px
;
width
:
32px
;
position
:
absolute
;
}
.pswp__button--arrow--left
:before
{
left
:
6px
;
background-position
:
-138px
-44px
;
}
.pswp__button--arrow--right
:before
{
right
:
6px
;
background-position
:
-94px
-44px
;
}
/*
2. Share modal/popup and links
*/
.pswp__counter
,
.pswp__share-modal
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
}
.pswp__share-modal
{
display
:
block
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
height
:
100%
;
top
:
0
;
left
:
0
;
padding
:
10px
;
position
:
absolute
;
z-index
:
1600
;
opacity
:
0
;
-webkit-transition
:
opacity
0.25s
ease-out
;
transition
:
opacity
0.25s
ease-out
;
-webkit-backface-visibility
:
hidden
;
will-change
:
opacity
;
}
.pswp__share-modal--hidden
{
display
:
none
;
}
.pswp__share-tooltip
{
z-index
:
1620
;
position
:
absolute
;
background
:
#FFF
;
top
:
56px
;
border-radius
:
2px
;
display
:
block
;
width
:
auto
;
right
:
44px
;
-webkit-box-shadow
:
0
2px
5px
rgba
(
0
,
0
,
0
,
0.25
);
box-shadow
:
0
2px
5px
rgba
(
0
,
0
,
0
,
0.25
);
-webkit-transform
:
translateY
(
6px
);
-ms-transform
:
translateY
(
6px
);
transform
:
translateY
(
6px
);
-webkit-transition
:
-webkit-transform
0.25s
;
transition
:
transform
0.25s
;
-webkit-backface-visibility
:
hidden
;
will-change
:
transform
;
}
.pswp__share-tooltip
a
{
display
:
block
;
padding
:
8px
12px
;
color
:
#000
;
text-decoration
:
none
;
font-size
:
14px
;
line-height
:
18px
;
}
.pswp__share-tooltip
a
:hover
{
text-decoration
:
none
;
color
:
#000
;
}
.pswp__share-tooltip
a
:first-child
{
/* round corners on the first/last list item */
border-radius
:
2px
2px
0
0
;
}
.pswp__share-tooltip
a
:last-child
{
border-radius
:
0
0
2px
2px
;
}
.pswp__share-modal--fade-in
{
opacity
:
1
;
}
.pswp__share-modal--fade-in
.pswp__share-tooltip
{
-webkit-transform
:
translateY
(
0
);
-ms-transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
}
/* increase size of share links on touch devices */
.pswp--touch
.pswp__share-tooltip
a
{
padding
:
16px
12px
;
}
a
.pswp__share--facebook
:before
{
content
:
''
;
display
:
block
;
width
:
0
;
height
:
0
;
position
:
absolute
;
top
:
-12px
;
right
:
15px
;
border
:
6px
solid
transparent
;
border-bottom-color
:
#FFF
;
-webkit-pointer-events
:
none
;
-moz-pointer-events
:
none
;
pointer-events
:
none
;
}
a
.pswp__share--facebook
:hover
{
background
:
#3E5C9A
;
color
:
#FFF
;
}
a
.pswp__share--facebook
:hover:before
{
border-bottom-color
:
#3E5C9A
;
}
a
.pswp__share--twitter
:hover
{
background
:
#55ACEE
;
color
:
#FFF
;
}
a
.pswp__share--pinterest
:hover
{
background
:
#CCC
;
color
:
#CE272D
;
}
a
.pswp__share--download
:hover
{
background
:
#DDD
;
}
/*
3. Index indicator ("1 of X" counter)
*/
.pswp__counter
{
position
:
absolute
;
left
:
0
;
top
:
0
;
height
:
44px
;
font-size
:
13px
;
line-height
:
44px
;
color
:
#FFF
;
opacity
:
0.75
;
padding
:
0
10px
;
}
/*
4. Caption
*/
.pswp__caption
{
position
:
absolute
;
left
:
0
;
bottom
:
0
;
width
:
100%
;
min-height
:
44px
;
}
.pswp__caption
small
{
font-size
:
11px
;
color
:
#BBB
;
}
.pswp__caption__center
{
text-align
:
left
;
max-width
:
420px
;
margin
:
0
auto
;
font-size
:
13px
;
padding
:
10px
;
line-height
:
20px
;
color
:
#CCC
;
}
.pswp__caption--empty
{
display
:
none
;
}
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake
{
visibility
:
hidden
;
}
/*
5. Loading indicator (preloader)
You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR
*/
.pswp__preloader
{
width
:
44px
;
height
:
44px
;
position
:
absolute
;
top
:
0
;
left
:
50%
;
margin-left
:
-22px
;
opacity
:
0
;
-webkit-transition
:
opacity
0.25s
ease-out
;
transition
:
opacity
0.25s
ease-out
;
will-change
:
opacity
;
direction
:
ltr
;
}
.pswp__preloader__icn
{
width
:
20px
;
height
:
20px
;
margin
:
12px
;
}
.pswp__preloader--active
{
opacity
:
1
;
}
.pswp__preloader--active
.pswp__preloader__icn
{
/* We use .gif in browsers that don't support CSS animation */
background
:
url("./preloader.gif")
0
0
no-repeat
;
}
.pswp--css_animation
.pswp__preloader--active
{
opacity
:
1
;
}
.pswp--css_animation
.pswp__preloader--active
.pswp__preloader__icn
{
-webkit-animation
:
clockwise
500ms
linear
infinite
;
animation
:
clockwise
500ms
linear
infinite
;
}
.pswp--css_animation
.pswp__preloader--active
.pswp__preloader__donut
{
-webkit-animation
:
donut-rotate
1000ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
)
infinite
;
animation
:
donut-rotate
1000ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
)
infinite
;
}
.pswp--css_animation
.pswp__preloader__icn
{
background
:
none
;
opacity
:
0.75
;
width
:
14px
;
height
:
14px
;
position
:
absolute
;
left
:
15px
;
top
:
15px
;
margin
:
0
;
}
.pswp--css_animation
.pswp__preloader__cut
{
/*
The idea of animating inner circle is based on Polymer ("material") loading indicator
by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
*/
position
:
relative
;
width
:
7px
;
height
:
14px
;
overflow
:
hidden
;
}
.pswp--css_animation
.pswp__preloader__donut
{
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
width
:
14px
;
height
:
14px
;
border
:
2px
solid
#FFF
;
border-radius
:
50%
;
border-left-color
:
transparent
;
border-bottom-color
:
transparent
;
position
:
absolute
;
top
:
0
;
left
:
0
;
background
:
none
;
margin
:
0
;
}
@media
screen
and
(
max-width
:
1024px
)
{
.pswp__preloader
{
position
:
relative
;
left
:
auto
;
top
:
auto
;
margin
:
0
;
float
:
right
;
}
}
@-webkit-keyframes
clockwise
{
0
%
{
-webkit-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@keyframes
clockwise
{
0
%
{
-webkit-transform
:
rotate
(
0deg
);
transform
:
rotate
(
0deg
);
}
100
%
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
}
}
@-webkit-keyframes
donut-rotate
{
0
%
{
-webkit-transform
:
rotate
(
0
);
transform
:
rotate
(
0
);
}
50
%
{
-webkit-transform
:
rotate
(
-140deg
);
transform
:
rotate
(
-140deg
);
}
100
%
{
-webkit-transform
:
rotate
(
0
);
transform
:
rotate
(
0
);
}
}
@keyframes
donut-rotate
{
0
%
{
-webkit-transform
:
rotate
(
0
);
transform
:
rotate
(
0
);
}
50
%
{
-webkit-transform
:
rotate
(
-140deg
);
transform
:
rotate
(
-140deg
);
}
100
%
{
-webkit-transform
:
rotate
(
0
);
transform
:
rotate
(
0
);
}
}
/*
6. Additional styles
*/
/* root element of UI */
.pswp__ui
{
-webkit-font-smoothing
:
auto
;
visibility
:
visible
;
opacity
:
1
;
z-index
:
1550
;
}
/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar
{
position
:
absolute
;
left
:
0
;
top
:
0
;
height
:
44px
;
width
:
100%
;
}
.pswp__caption
,
.pswp__top-bar
,
.pswp--has_mouse
.pswp__button--arrow--left
,
.pswp--has_mouse
.pswp__button--arrow--right
{
-webkit-backface-visibility
:
hidden
;
will-change
:
opacity
;
-webkit-transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
transition
:
opacity
333ms
cubic-bezier
(
0.4
,
0
,
0.22
,
1
);
}
/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse
.pswp__button--arrow--left
,
.pswp--has_mouse
.pswp__button--arrow--right
{
visibility
:
visible
;
}
.pswp__top-bar
,
.pswp__caption
{
background-color
:
rgba
(
0
,
0
,
0
,
0.5
);
}
/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit
.pswp__top-bar
,
.pswp__ui--fit
.pswp__caption
{
background-color
:
rgba
(
0
,
0
,
0
,
0.3
);
}
/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle
.pswp__top-bar
{
opacity
:
0
;
}
.pswp__ui--idle
.pswp__button--arrow--left
,
.pswp__ui--idle
.pswp__button--arrow--right
{
opacity
:
0
;
}
/*
pswp__ui--hidden class is added when controls are hidden
e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden
.pswp__top-bar
,
.pswp__ui--hidden
.pswp__caption
,
.pswp__ui--hidden
.pswp__button--arrow--left
,
.pswp__ui--hidden
.pswp__button--arrow--right
{
/* Force paint & create composition layer for controls. */
opacity
:
0.001
;
}
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide
.pswp__button--arrow--left
,
.pswp__ui--one-slide
.pswp__button--arrow--right
,
.pswp__ui--one-slide
.pswp__counter
{
display
:
none
;
}
.pswp__element--disabled
{
display
:
none
!important
;
}
.pswp--minimal--dark
.pswp__top-bar
{
background
:
none
;
}
src/utils/tools.js
View file @
bc1342f7
...
@@ -54,9 +54,14 @@ export function getImgNaturalDimensions(imgSrc, callback) {
...
@@ -54,9 +54,14 @@ export function getImgNaturalDimensions(imgSrc, callback) {
}
}
export
function
linkTo
(
url
)
{
export
function
linkTo
(
url
)
{
location
.
href
=
url
;
location
.
href
=
url
;
// alert(`${location.origin}${url}`);
// history.pushState(null, 'hello', `${location.origin}${url}`);
// alert(`${location.origin}${url}`);
// window.webkit.messageHandlers.MModel.postMessage({
// url: 'http',
// cmd: {
// action_name: '',
// params: { url: 'https://testh2.yidianling.com/new/user/train?uid=13089811&ts=1559025371&sign=39549b2a339e5a56bbb8a1d2bb594d67&accessToken=d86ec45b5fcf9cd1a10dfaa17b527d67MTkwNTIwv=2.3.00&uid=13089811&ts=1559025371&sign=fe3e41e54912f6e5d366b346eaccfd2d&accessToken=d86ec45b5fcf9cd1a10dfaa17b527d67MTkwNTIw' }
// }
// });
// app().goPage(`${location.origin}${url}`);
// app().goPage(`${location.origin}${url}`);
// alert(`${location.origin}${url}`);
// app().gotoOCChat('壹点零', `${location.origin}${url}`);
// app().gotoOCChat('壹点零', `${location.origin}${url}`);
}
}
src/utils/vconsole.js
View file @
bc1342f7
...
@@ -65,7 +65,7 @@ export default function() {
...
@@ -65,7 +65,7 @@ export default function() {
lastZ
=
z
;
// 赋值,为下一次计算做准备
lastZ
=
z
;
// 赋值,为下一次计算做准备
}
}
}
}
if
(
root
.
DeviceMotionEvent
&&
!
navigator
.
userAgent
.
match
(
/OS 8/
))
{
if
(
root
.
DeviceMotionEvent
&&
!
navigator
.
userAgent
.
match
(
/OS 8/
)
&&
location
.
hostname
.
match
(
'test'
)
)
{
styleDom
=
document
.
createElement
(
'style'
);
styleDom
=
document
.
createElement
(
'style'
);
// styleDom.innerText = '#__vconsole{display:none}';
// styleDom.innerText = '#__vconsole{display:none}';
document
.
head
.
appendChild
(
styleDom
);
document
.
head
.
appendChild
(
styleDom
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment