Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wkj001
uni-app
提交
09ccd140
U
uni-app
项目概览
wkj001
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
09ccd140
编写于
11月 08, 2019
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' into alpha
上级
9c08885d
20bfd703
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
657 addition
and
277 deletion
+657
-277
packages/uni-cli-shared/lib/index.js
packages/uni-cli-shared/lib/index.js
+31
-29
packages/uni-cli-shared/lib/util.js
packages/uni-cli-shared/lib/util.js
+5
-2
packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js
packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js
+52
-33
packages/vue-cli-plugin-uni/lib/env.js
packages/vue-cli-plugin-uni/lib/env.js
+9
-9
packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js
.../webpack-uni-pages-loader/lib/platforms/app-plus/index.js
+3
-3
src/platforms/app-plus/service/api/device/scan-code-webview.js
...latforms/app-plus/service/api/device/scan-code-webview.js
+181
-0
src/platforms/app-plus/service/api/device/scan-code-weex.js
src/platforms/app-plus/service/api/device/scan-code-weex.js
+84
-0
src/platforms/app-plus/service/api/device/scan-code.js
src/platforms/app-plus/service/api/device/scan-code.js
+5
-82
src/platforms/app-plus/service/api/location/choose-location-webview.js
.../app-plus/service/api/location/choose-location-webview.js
+97
-0
src/platforms/app-plus/service/api/location/choose-location-weex.js
...rms/app-plus/service/api/location/choose-location-weex.js
+90
-0
src/platforms/app-plus/service/api/location/choose-location.js
...latforms/app-plus/service/api/location/choose-location.js
+5
-88
src/platforms/app-plus/service/api/location/open-location-webview.js
...ms/app-plus/service/api/location/open-location-webview.js
+52
-0
src/platforms/app-plus/service/api/location/open-location-weex.js
...forms/app-plus/service/api/location/open-location-weex.js
+18
-0
src/platforms/app-plus/service/api/location/open-location.js
src/platforms/app-plus/service/api/location/open-location.js
+6
-17
src/platforms/app-plus/service/api/page.js
src/platforms/app-plus/service/api/page.js
+11
-11
src/platforms/app-plus/service/api/plugin/payment.js
src/platforms/app-plus/service/api/plugin/payment.js
+2
-3
src/platforms/mp-baidu/runtime/wrapper/component-parser.js
src/platforms/mp-baidu/runtime/wrapper/component-parser.js
+6
-0
未找到文件。
packages/uni-cli-shared/lib/index.js
浏览文件 @
09ccd140
...
...
@@ -13,7 +13,7 @@ const {
}
=
require
(
'
./manifest.js
'
)
const
{
getMainEntry
,
getMainEntry
,
getNVueMainEntry
,
parseEntry
,
parsePages
,
...
...
@@ -28,36 +28,37 @@ const {
camelize
,
hyphenate
,
removeExt
,
normalizePath
,
normalizePath
,
getComponentName
,
convertStaticStyle
convertStaticStyle
,
getTemplatePath
}
=
require
(
'
./util
'
)
const
{
getFlexDirection
,
getPlatformProject
,
const
{
getFlexDirection
,
getPlatformProject
,
isSupportSubPackages
,
getPlatforms
,
getPlatforms
,
getPlatformGlobal
,
getPlatformScss
,
getPlatformScss
,
getPlatformSass
,
runByHBuilderX
,
isInHBuilderX
,
runByHBuilderX
,
isInHBuilderX
,
isInHBuilderXAlpha
,
getPlatformExts
,
getPlatformTarget
,
getPlatformVue
,
getPlatformCompiler
,
getPlatformCompiler
,
getShadowCss
,
getPlatformCssVars
,
getPlatformCssnano
,
getPlatformCssVars
,
getPlatformCssnano
,
getShadowTemplate
,
jsPreprocessOptions
,
cssPreprocessOptions
,
htmlPreprocessOptions
,
nvueJsPreprocessOptions
,
nvueJsPreprocessOptions
,
nvueCssPreprocessOptions
,
nvueHtmlPreprocessOptions
,
nvueHtmlPreprocessOptions
,
devtoolModuleFilenameTemplate
}
=
require
(
'
./platform
'
)
...
...
@@ -75,38 +76,39 @@ module.exports = {
parseEntry
,
parsePages
,
getH5Options
,
getMainEntry
,
getMainEntry
,
getNVueMainEntry
,
getPagesJson
,
getManifestJson
,
getNetworkTimeout
,
runByHBuilderX
,
isInHBuilderX
,
isInHBuilderXAlpha
,
runByHBuilderX
,
isInHBuilderX
,
isInHBuilderXAlpha
,
isSupportSubPackages
,
getPlatforms
,
getPlatforms
,
getFlexDirection
,
getPlatformScss
,
getPlatformScss
,
getPlatformSass
,
getPlatformExts
,
getPlatformTarget
,
getPlatformTarget
,
getPlatformProject
,
getPlatformVue
,
getPlatformGlobal
,
getPlatformVue
,
getPlatformGlobal
,
getShadowCss
,
getPlatformCssVars
,
getPlatformCssVars
,
getPlatformCssnano
,
getPlatformCompiler
,
getPlatformCompiler
,
getShadowTemplate
,
parsePagesJson
,
parseManifestJson
,
parseManifestJson
,
getComponentName
,
convertStaticStyle
,
getTemplatePath
,
jsPreprocessOptions
,
cssPreprocessOptions
,
htmlPreprocessOptions
,
nvueJsPreprocessOptions
,
nvueJsPreprocessOptions
,
nvueCssPreprocessOptions
,
nvueHtmlPreprocessOptions
,
nvueHtmlPreprocessOptions
,
devtoolModuleFilenameTemplate
}
packages/uni-cli-shared/lib/util.js
浏览文件 @
09ccd140
...
...
@@ -115,5 +115,8 @@ module.exports = {
return
str
.
replace
(
'
wx-
'
,
'
weixin-
'
)
}
return
str
})
}
}),
getTemplatePath
()
{
return
path
.
join
(
__dirname
,
'
../template
'
)
}
}
packages/vue-cli-plugin-hbuilderx/build/webpack.nvue.conf.js
浏览文件 @
09ccd140
...
...
@@ -8,7 +8,8 @@ const {
getNVueMainEntry
,
nvueJsPreprocessOptions
,
nvueHtmlPreprocessOptions
,
devtoolModuleFilenameTemplate
devtoolModuleFilenameTemplate
,
getTemplatePath
}
=
require
(
'
@dcloudio/uni-cli-shared
'
)
const
WebpackAppPlusNVuePlugin
=
require
(
'
../packages/webpack-app-plus-nvue-plugin
'
)
...
...
@@ -95,7 +96,7 @@ const rules = [{
babelrc
:
false
}
},
jsPreprocessorLoader
jsPreprocessorLoader
],
exclude
(
modulePath
)
{
return
excludeModuleReg
.
test
(
modulePath
)
&&
modulePath
.
indexOf
(
'
@dcloudio
'
)
===
-
1
...
...
@@ -161,38 +162,56 @@ rules.unshift({
if
(
process
.
env
.
UNI_USING_NATIVE
)
{
plugins
.
push
(
new
WebpackUniMPPlugin
())
let
nativeTemplatePath
=
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/v8-native
'
)
if
(
!
fs
.
existsSync
(
nativeTemplatePath
))
{
// 兼容旧版本
nativeTemplatePath
=
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/v8
'
)
}
plugins
.
push
(
new
CopyWebpackPlugin
([{
const
array
=
[{
from
:
path
.
resolve
(
process
.
env
.
UNI_INPUT_DIR
,
'
static
'
),
to
:
'
static
'
},
{
from
:
nativeTemplatePath
,
to
:
process
.
env
.
UNI_OUTPUT_DIR
},
{
from
:
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/common
'
),
to
:
process
.
env
.
UNI_OUTPUT_DIR
,
ignore
:
[
'
*.js
'
,
'
*.json
'
,
'
__uniapppicker.html
'
,
'
__uniappview.html
'
]
}]))
}]
if
(
process
.
env
.
UNI_USING_NVUE_COMPILER
)
{
array
.
push
({
from
:
path
.
resolve
(
getTemplatePath
(),
'
common
'
),
to
:
process
.
env
.
UNI_OUTPUT_DIR
},
{
from
:
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/common
'
),
to
:
process
.
env
.
UNI_OUTPUT_DIR
,
ignore
:
[
'
*.js
'
,
'
*.json
'
,
'
__uniapppicker.html
'
,
'
__uniappview.html
'
,
'
__uniappmarker@3x.png
'
,
'
__uniappopenlocation.html
'
,
'
__uniapppicker.html
'
]
})
}
else
{
let
nativeTemplatePath
=
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/v8-native
'
)
if
(
!
fs
.
existsSync
(
nativeTemplatePath
))
{
// 兼容旧版本
nativeTemplatePath
=
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/v8
'
)
}
array
.
push
({
from
:
nativeTemplatePath
,
to
:
process
.
env
.
UNI_OUTPUT_DIR
},
{
from
:
path
.
resolve
(
process
.
env
.
UNI_HBUILDERX_PLUGINS
,
'
weapp-tools/template/common
'
),
to
:
process
.
env
.
UNI_OUTPUT_DIR
,
ignore
:
[
'
*.js
'
,
'
*.json
'
,
'
__uniapppicker.html
'
,
'
__uniappview.html
'
]
})
}
plugins
.
push
(
new
CopyWebpackPlugin
(
array
))
}
module
.
exports
=
function
()
{
...
...
@@ -296,4 +315,4 @@ module.exports = function () {
zlib
:
false
}
}
}
}
packages/vue-cli-plugin-uni/lib/env.js
浏览文件 @
09ccd140
...
...
@@ -70,7 +70,7 @@ process.UNI_STAT_CONFIG = {
let
usingComponentsAbsent
=
false
if
(
!
platformOptions
.
hasOwnProperty
(
'
usingComponents
'
))
{
usingComponentsAbsent
=
true
}
}
platformOptions
.
usingComponents
=
true
// }
...
...
@@ -109,10 +109,10 @@ if (process.env.UNI_PLATFORM === 'mp-qq') { // QQ小程序 强制自定义组件
platformOptions
.
usingComponents
=
true
}
let
isNVueCompiler
=
fals
e
let
isNVueCompiler
=
tru
e
if
(
process
.
env
.
UNI_PLATFORM
===
'
app-plus
'
)
{
if
(
platformOptions
.
nvueCompiler
===
'
uni-app
'
)
{
isNVueCompiler
=
tru
e
if
(
platformOptions
.
nvueCompiler
===
'
weex
'
)
{
isNVueCompiler
=
fals
e
}
if
(
platformOptions
.
renderer
===
'
native
'
)
{
process
.
env
.
UNI_USING_NATIVE
=
true
...
...
@@ -122,9 +122,9 @@ if (process.env.UNI_PLATFORM === 'app-plus') {
}
else
{
// 其他平台,待确认配置方案
if
(
manifestJsonObj
[
'
app-plus
'
]
&&
manifestJsonObj
[
'
app-plus
'
][
'
nvueCompiler
'
]
===
'
uni-app
'
manifestJsonObj
[
'
app-plus
'
][
'
nvueCompiler
'
]
===
'
weex
'
)
{
isNVueCompiler
=
tru
e
isNVueCompiler
=
fals
e
}
}
...
...
@@ -253,9 +253,9 @@ if (runByHBuilderX) {
}
}
}
console
.
log
(
`正在编译中...`
)
console
.
log
(
`正在编译中...`
)
module
.
exports
=
{
manifestPlatformOptions
:
platformOptions
}
}
packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js
浏览文件 @
09ccd140
...
...
@@ -209,11 +209,11 @@ module.exports = function (pagesJson, userManifestJson) {
let
flexDir
=
false
if
(
manifestJson
.
plus
.
nvueCompiler
&&
manifestJson
.
plus
.
nvueCompiler
===
'
uni-app
'
)
{
if
(
manifestJson
.
plus
.
nvueCompiler
&&
manifestJson
.
plus
.
nvueCompiler
===
'
weex
'
)
{
appJson
.
nvueCompiler
=
'
weex
'
}
else
{
appJson
.
nvueCompiler
=
'
uni-app
'
flexDir
=
getFlexDirection
(
manifestJson
.
plus
)
}
else
{
appJson
.
nvueCompiler
=
'
weex
'
}
if
(
manifestJson
.
plus
.
renderer
===
'
native
'
)
{
...
...
src/platforms/app-plus/service/api/device/scan-code-webview.js
0 → 100644
浏览文件 @
09ccd140
import
{
getStatusBarStyle
}
from
'
../util
'
import
{
invoke
}
from
'
../../bridge
'
import
{
ANI_SHOW
,
ANI_DURATION
}
from
'
../../constants
'
import
{
registerPlusMessage
,
consumePlusMessage
}
from
'
../../framework/plus-message
'
export
const
SCAN_ID
=
'
__UNIAPP_SCAN
'
export
const
SCAN_PATH
=
'
_www/__uniappscan.html
'
const
MESSAGE_TYPE
=
'
scanCode
'
export
function
scanCode
({
onlyFromCamera
=
false
,
scanType
},
callbackId
)
{
const
barcode
=
plus
.
barcode
const
SCAN_TYPES
=
{
'
qrCode
'
:
[
barcode
.
QR
,
barcode
.
AZTEC
,
barcode
.
MAXICODE
],
'
barCode
'
:
[
barcode
.
EAN13
,
barcode
.
EAN8
,
barcode
.
UPCA
,
barcode
.
UPCE
,
barcode
.
CODABAR
,
barcode
.
CODE128
,
barcode
.
CODE39
,
barcode
.
CODE93
,
barcode
.
ITF
,
barcode
.
RSS14
,
barcode
.
RSSEXPANDED
],
'
datamatrix
'
:
[
barcode
.
DATAMATRIX
],
'
pdf417
'
:
[
barcode
.
PDF417
]
}
const
SCAN_MAPS
=
{
[
barcode
.
QR
]:
'
QR_CODE
'
,
[
barcode
.
EAN13
]:
'
EAN_13
'
,
[
barcode
.
EAN8
]:
'
EAN_8
'
,
[
barcode
.
DATAMATRIX
]:
'
DATA_MATRIX
'
,
[
barcode
.
UPCA
]:
'
UPC_A
'
,
[
barcode
.
UPCE
]:
'
UPC_E
'
,
[
barcode
.
CODABAR
]:
'
CODABAR
'
,
[
barcode
.
CODE39
]:
'
CODE_39
'
,
[
barcode
.
CODE93
]:
'
CODE_93
'
,
[
barcode
.
CODE128
]:
'
CODE_128
'
,
[
barcode
.
ITF
]:
'
CODE_25
'
,
[
barcode
.
PDF417
]:
'
PDF_417
'
,
[
barcode
.
AZTEC
]:
'
AZTEC
'
,
[
barcode
.
RSS14
]:
'
RSS_14
'
,
[
barcode
.
RSSEXPANDED
]:
'
RSSEXPANDED
'
}
const
statusBarStyle
=
getStatusBarStyle
()
const
isDark
=
statusBarStyle
!==
'
light
'
let
result
let
filters
=
[]
if
(
Array
.
isArray
(
scanType
)
&&
scanType
.
length
)
{
scanType
.
forEach
(
type
=>
{
// 暂不考虑去重
const
types
=
SCAN_TYPES
[
type
]
if
(
types
)
{
filters
=
filters
.
concat
(
types
)
}
})
}
if
(
!
filters
.
length
)
{
filters
=
filters
.
concat
(
SCAN_TYPES
[
'
qrCode
'
]).
concat
(
SCAN_TYPES
[
'
barCode
'
]).
concat
(
SCAN_TYPES
[
'
datamatrix
'
]).
concat
(
SCAN_TYPES
[
'
pdf417
'
])
}
const
buttons
=
[]
if
(
!
onlyFromCamera
)
{
buttons
.
push
({
'
float
'
:
'
right
'
,
'
text
'
:
'
相册
'
,
'
fontSize
'
:
'
17px
'
,
'
width
'
:
'
60px
'
,
'
onclick
'
:
function
()
{
plus
.
gallery
.
pick
(
file
=>
{
barcode
.
scan
(
file
,
(
type
,
code
)
=>
{
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
isDark
'
)
}
result
=
{
type
,
code
}
webview
.
close
(
'
auto
'
)
},
()
=>
{
plus
.
nativeUI
.
toast
(
'
识别失败
'
)
},
filters
)
},
err
=>
{
if
(
err
.
code
!==
12
)
{
plus
.
nativeUI
.
toast
(
'
选择失败
'
)
}
},
{
multiple
:
false
,
system
:
false
})
}
})
}
const
webview
=
plus
.
webview
.
create
(
SCAN_PATH
,
SCAN_ID
,
{
titleNView
:
{
autoBackButton
:
true
,
type
:
'
float
'
,
backgroundColor
:
'
rgba(0,0,0,0)
'
,
titleColor
:
'
#ffffff
'
,
titleText
:
'
扫码
'
,
titleSize
:
'
17px
'
,
buttons
},
popGesture
:
'
close
'
,
backButtonAutoControl
:
'
close
'
},
{
__uniapp_type
:
'
scan
'
,
__uniapp_dark
:
isDark
,
__uniapp_scan_type
:
filters
,
'
uni-app
'
:
'
none
'
})
const
waiting
=
plus
.
nativeUI
.
showWaiting
()
webview
.
addEventListener
(
'
titleUpdate
'
,
()
=>
{
webview
.
show
(
ANI_SHOW
,
ANI_DURATION
,
()
=>
{
waiting
.
close
()
})
})
webview
.
addEventListener
(
'
close
'
,
()
=>
{
if
(
result
)
{
invoke
(
callbackId
,
{
result
:
result
.
code
,
scanType
:
SCAN_MAPS
[
result
.
type
]
||
''
,
charSet
:
'
utf8
'
,
path
:
''
,
errMsg
:
'
scanCode:ok
'
})
}
else
{
invoke
(
callbackId
,
{
errMsg
:
'
scanCode:fail cancel
'
})
}
consumePlusMessage
(
MESSAGE_TYPE
)
})
if
(
isDark
)
{
// 状态栏前景色
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
registerPlusMessage
(
MESSAGE_TYPE
,
function
(
res
)
{
if
(
res
&&
'
code
'
in
res
)
{
result
=
res
}
},
false
)
}
src/platforms/app-plus/service/api/device/scan-code-weex.js
0 → 100644
浏览文件 @
09ccd140
import
{
invoke
}
from
'
../../bridge
'
import
{
showPage
}
from
'
../page.js
'
function
getStatusBarStyle
()
{
let
style
=
plus
.
navigator
.
getStatusBarStyle
()
if
(
style
===
'
UIStatusBarStyleBlackTranslucent
'
||
style
===
'
UIStatusBarStyleBlackOpaque
'
||
style
===
'
null
'
)
{
style
=
'
light
'
}
else
if
(
style
===
'
UIStatusBarStyleDefault
'
)
{
style
=
'
dark
'
}
return
style
}
export
function
scanCode
(
options
,
callbackId
)
{
const
statusBarStyle
=
getStatusBarStyle
()
const
isDark
=
statusBarStyle
!==
'
light
'
let
result
const
page
=
showPage
({
url
:
'
__uniappscan
'
,
data
:
{
scanType
:
options
.
scanType
},
style
:
{
animationType
:
options
.
animationType
||
'
pop-in
'
,
titleNView
:
{
autoBackButton
:
true
,
type
:
'
float
'
,
titleText
:
options
.
titleText
||
'
扫码
'
,
titleColor
:
'
#ffffff
'
,
backgroundColor
:
'
rgba(0,0,0,0)
'
,
buttons
:
!
options
.
onlyFromCamera
?
[{
text
:
options
.
albumText
||
'
相册
'
,
fontSize
:
'
17px
'
,
onclick
:
()
=>
{
page
.
sendMessage
({
type
:
'
gallery
'
})
}
}]
:
[]
},
popGesture
:
'
close
'
,
backButtonAutoControl
:
'
close
'
},
onMessage
({
event
,
detail
})
{
result
=
detail
if
(
event
===
'
marked
'
)
{
result
.
errMsg
=
'
scanCode:ok
'
}
else
{
result
.
errMsg
=
'
scanCode:fail
'
+
detail
.
message
}
},
onClose
()
{
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
invoke
(
callbackId
,
result
||
{
errMsg
:
'
scanCode:fail cancel
'
})
}
})
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
page
.
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
}
src/platforms/app-plus/service/api/device/scan-code.js
浏览文件 @
09ccd140
import
{
invoke
}
from
'
../../bridge
'
import
*
as
webview
from
'
./scan-code-webview
'
import
*
as
weex
from
'
./scan-code-weex
'
import
{
showPage
}
from
'
../page.js
'
function
getStatusBarStyle
()
{
let
style
=
plus
.
navigator
.
getStatusBarStyle
()
if
(
style
===
'
UIStatusBarStyleBlackTranslucent
'
||
style
===
'
UIStatusBarStyleBlackOpaque
'
||
style
===
'
null
'
)
{
style
=
'
light
'
}
else
if
(
style
===
'
UIStatusBarStyleDefault
'
)
{
style
=
'
dark
'
}
return
style
}
export
function
scanCode
(
options
,
callbackId
)
{
const
statusBarStyle
=
getStatusBarStyle
()
const
isDark
=
statusBarStyle
!==
'
light
'
let
result
const
page
=
showPage
({
url
:
'
__uniappscan
'
,
data
:
{
scanType
:
options
.
scanType
},
style
:
{
animationType
:
options
.
animationType
||
'
pop-in
'
,
titleNView
:
{
autoBackButton
:
true
,
type
:
'
float
'
,
titleText
:
options
.
titleText
||
"
扫码
"
,
titleColor
:
'
#ffffff
'
,
backgroundColor
:
'
rgba(0,0,0,0)
'
,
buttons
:
!
options
.
onlyFromCamera
?
[{
text
:
options
.
albumText
||
"
相册
"
,
fontSize
:
"
17px
"
,
onclick
:
()
=>
{
page
.
sendMessage
({
type
:
"
gallery
"
})
}
}]
:
[]
},
popGesture
:
'
close
'
,
backButtonAutoControl
:
'
close
'
},
onMessage
({
event
,
detail
})
{
result
=
detail
if
(
event
===
'
marked
'
)
{
result
.
errMsg
=
'
scanCode:ok
'
}
else
{
result
.
errMsg
=
'
scanCode:fail
'
+
detail
.
message
}
},
onClose
()
{
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
invoke
(
callbackId
,
result
||
{
errMsg
:
'
scanCode:fail cancel
'
})
}
})
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
page
.
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
export
function
scanCode
(...
array
)
{
const
api
=
__uniConfig
.
nvueCompiler
===
'
uni-app
'
?
weex
:
webview
return
api
.
scanCode
(...
array
)
}
src/platforms/app-plus/service/api/location/choose-location-webview.js
0 → 100644
浏览文件 @
09ccd140
import
{
MAP_ID
}
from
'
../constants
'
import
{
invoke
}
from
'
../../bridge
'
import
{
ANI_DURATION
}
from
'
../../constants
'
import
{
registerPlusMessage
,
consumePlusMessage
}
from
'
../../framework/plus-message
'
const
CHOOSE_LOCATION_PATH
=
'
_www/__uniappchooselocation.html
'
const
MESSAGE_TYPE
=
'
chooseLocation
'
export
function
chooseLocation
(
params
,
callbackId
)
{
const
statusBarStyle
=
plus
.
navigator
.
getStatusBarStyle
()
const
webview
=
plus
.
webview
.
create
(
CHOOSE_LOCATION_PATH
,
MAP_ID
,
{
titleNView
:
{
autoBackButton
:
true
,
backgroundColor
:
'
#000000
'
,
titleColor
:
'
#ffffff
'
,
titleText
:
'
选择位置
'
,
titleSize
:
'
17px
'
,
buttons
:
[{
float
:
'
right
'
,
text
:
'
完成
'
,
fontSize
:
'
17px
'
,
onclick
:
function
()
{
webview
.
evalJS
(
'
__chooseLocationConfirm__()
'
)
}
}]
},
popGesture
:
'
close
'
,
scrollIndicator
:
'
none
'
},
{
__uniapp_type
:
'
map
'
,
__uniapp_statusbar_style
:
statusBarStyle
,
'
uni-app
'
:
'
none
'
}
)
if
(
statusBarStyle
===
'
dark
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
let
index
=
0
let
onShow
=
function
()
{
index
++
if
(
index
===
2
)
{
webview
.
evalJS
(
`__chooseLocation__(
${
JSON
.
stringify
(
params
)}
)`
)
}
}
webview
.
addEventListener
(
'
loaded
'
,
onShow
)
webview
.
show
(
'
slide-in-bottom
'
,
ANI_DURATION
,
onShow
)
let
result
webview
.
addEventListener
(
'
close
'
,
()
=>
{
if
(
result
)
{
invoke
(
callbackId
,
{
name
:
result
.
poiname
,
address
:
result
.
poiaddress
,
latitude
:
result
.
latlng
.
lat
,
longitude
:
result
.
latlng
.
lng
,
errMsg
:
'
chooseLocation:ok
'
})
}
else
{
consumePlusMessage
(
MESSAGE_TYPE
)
invoke
(
callbackId
,
{
errMsg
:
'
chooseLocation:fail cancel
'
})
}
})
registerPlusMessage
(
MESSAGE_TYPE
,
function
(
res
)
{
if
(
res
&&
'
latlng
'
in
res
)
{
result
=
res
}
},
false
)
}
src/platforms/app-plus/service/api/location/choose-location-weex.js
0 → 100644
浏览文件 @
09ccd140
import
{
invoke
}
from
'
../../bridge
'
import
{
showPage
}
from
'
../page.js
'
function
getStatusBarStyle
()
{
let
style
=
plus
.
navigator
.
getStatusBarStyle
()
if
(
style
===
'
UIStatusBarStyleBlackTranslucent
'
||
style
===
'
UIStatusBarStyleBlackOpaque
'
||
style
===
'
null
'
)
{
style
=
'
light
'
}
else
if
(
style
===
'
UIStatusBarStyleDefault
'
)
{
style
=
'
dark
'
}
return
style
}
export
function
chooseLocation
(
options
,
callbackId
)
{
const
statusBarStyle
=
getStatusBarStyle
()
const
isDark
=
statusBarStyle
!==
'
light
'
let
result
const
page
=
showPage
({
url
:
'
__uniappchooselocation
'
,
data
:
{
keyword
:
options
.
keyword
},
style
:
{
animationType
:
options
.
animationType
||
'
slide-in-bottom
'
,
titleNView
:
{
autoBackButton
:
false
,
titleText
:
options
.
titleText
||
'
选择位置
'
,
titleColor
:
'
#ffffff
'
,
backgroundColor
:
'
rgba(0,0,0,1)
'
,
buttons
:
[{
// text: options.cancelText || "取消",
// fontSize: "17px",
type
:
'
close
'
,
float
:
'
left
'
,
onclick
:
()
=>
{
page
.
close
()
}
},
{
text
:
options
.
doneText
||
'
完成
'
,
fontSize
:
'
17px
'
,
onclick
:
()
=>
{
page
.
sendMessage
({
type
:
'
done
'
})
}
}]
},
popGesture
:
'
close
'
,
scrollIndicator
:
'
none
'
},
onMessage
({
event
,
detail
})
{
if
(
event
===
'
selected
'
)
{
result
=
detail
result
.
errMsg
=
'
chooseLocation:ok
'
}
},
onClose
()
{
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
invoke
(
callbackId
,
result
||
{
errMsg
:
'
chooseLocation:fail cancel
'
})
}
})
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
page
.
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
}
src/platforms/app-plus/service/api/location/choose-location.js
浏览文件 @
09ccd140
import
{
invoke
}
from
'
../../bridge
'
import
*
as
webview
from
'
./choose-location-webview
'
import
*
as
weex
from
'
./choose-location-weex
'
import
{
showPage
}
from
'
../page.js
'
function
getStatusBarStyle
()
{
let
style
=
plus
.
navigator
.
getStatusBarStyle
()
if
(
style
===
'
UIStatusBarStyleBlackTranslucent
'
||
style
===
'
UIStatusBarStyleBlackOpaque
'
||
style
===
'
null
'
)
{
style
=
'
light
'
}
else
if
(
style
===
'
UIStatusBarStyleDefault
'
)
{
style
=
'
dark
'
}
return
style
}
export
function
chooseLocation
(
options
,
callbackId
)
{
const
statusBarStyle
=
getStatusBarStyle
()
const
isDark
=
statusBarStyle
!==
'
light
'
let
result
const
page
=
showPage
({
url
:
'
__uniappchooselocation
'
,
data
:
{
keyword
:
options
.
keyword
},
style
:
{
animationType
:
options
.
animationType
||
'
slide-in-bottom
'
,
titleNView
:
{
autoBackButton
:
false
,
titleText
:
options
.
titleText
||
"
选择位置
"
,
titleColor
:
'
#ffffff
'
,
backgroundColor
:
'
rgba(0,0,0,1)
'
,
buttons
:
[{
// text: options.cancelText || "取消",
// fontSize: "17px",
type
:
"
close
"
,
float
:
"
left
"
,
onclick
:
()
=>
{
page
.
close
()
}
},
{
text
:
options
.
doneText
||
"
完成
"
,
fontSize
:
"
17px
"
,
onclick
:
()
=>
{
page
.
sendMessage
({
type
:
"
done
"
})
}
}]
},
popGesture
:
'
close
'
,
scrollIndicator
:
'
none
'
},
onMessage
({
event
,
detail
})
{
if
(
event
===
'
selected
'
)
{
result
=
detail
result
.
errMsg
=
'
chooseLocation:ok
'
}
},
onClose
()
{
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
invoke
(
callbackId
,
result
||
{
errMsg
:
'
chooseLocation:fail cancel
'
})
}
})
if
(
isDark
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
page
.
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
})
}
export
function
chooseLocation
(...
array
)
{
const
api
=
__uniConfig
.
nvueCompiler
===
'
uni-app
'
?
weex
:
webview
return
api
.
chooseLocation
(...
array
)
}
src/platforms/app-plus/service/api/location/open-location-webview.js
0 → 100644
浏览文件 @
09ccd140
import
{
MAP_ID
}
from
'
../constants
'
import
{
ANI_SHOW
,
ANI_DURATION
}
from
'
../../constants
'
const
OPEN_LOCATION_PATH
=
'
_www/__uniappopenlocation.html
'
export
function
openLocation
(
params
)
{
const
statusBarStyle
=
plus
.
navigator
.
getStatusBarStyle
()
const
webview
=
plus
.
webview
.
create
(
OPEN_LOCATION_PATH
,
MAP_ID
,
{
titleNView
:
{
autoBackButton
:
true
,
titleColor
:
'
#ffffff
'
,
titleText
:
''
,
titleSize
:
'
17px
'
,
type
:
'
transparent
'
},
popGesture
:
'
close
'
,
scrollIndicator
:
'
none
'
},
{
__uniapp_type
:
'
map
'
,
__uniapp_statusbar_style
:
statusBarStyle
,
'
uni-app
'
:
'
none
'
}
)
if
(
statusBarStyle
===
'
light
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
webview
.
addEventListener
(
'
popGesture
'
,
({
type
,
result
})
=>
{
if
(
type
===
'
start
'
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
light
'
)
}
else
if
(
type
===
'
end
'
&&
!
result
)
{
plus
.
navigator
.
setStatusBarStyle
(
'
dark
'
)
}
})
}
webview
.
show
(
ANI_SHOW
,
ANI_DURATION
,
()
=>
{
webview
.
evalJS
(
`__openLocation__(
${
JSON
.
stringify
(
params
)}
)`
)
})
return
{
errMsg
:
'
openLocation:ok
'
}
}
src/platforms/app-plus/service/api/location/open-location-weex.js
0 → 100644
浏览文件 @
09ccd140
import
{
showPage
}
from
'
../page.js
'
export
function
openLocation
(
data
)
{
showPage
({
url
:
'
__uniappopenlocation
'
,
data
,
style
:
{
titleNView
:
{
type
:
'
transparent
'
}
}
})
return
{
errMsg
:
'
openLocation:ok
'
}
}
src/platforms/app-plus/service/api/location/open-location.js
浏览文件 @
09ccd140
import
{
showPage
}
from
'
../page.js
'
import
*
as
webview
from
'
./open-location-webview
'
import
*
as
weex
from
'
./open-location-weex
'
export
function
openLocation
(
data
)
{
showPage
({
url
:
'
__uniappopenlocation
'
,
data
,
style
:
{
titleNView
:
{
type
:
"
transparent
"
}
}
})
return
{
errMsg
:
'
openLocation:ok
'
}
}
export
function
openLocation
(...
array
)
{
const
api
=
__uniConfig
.
nvueCompiler
===
'
uni-app
'
?
weex
:
webview
return
api
.
openLocation
(...
array
)
}
src/platforms/app-plus/service/api/page.js
浏览文件 @
09ccd140
...
...
@@ -4,27 +4,27 @@ let uni_
let
runtime
function
getRuntime
()
{
function
getRuntime
()
{
return
runtime
||
(
runtime
=
typeof
window
===
'
object
'
&&
typeof
navigator
===
'
object
'
&&
typeof
document
===
'
object
'
?
'
webview
'
:
'
v8
'
)
'
object
'
?
'
webview
'
:
'
v8
'
)
}
function
setRuntime
(
value
)
{
function
setRuntime
(
value
)
{
runtime
=
value
}
function
getPageId
()
{
function
getPageId
()
{
return
plus_
.
webview
.
currentWebview
().
id
}
let
initedEventListener
=
false
const
callbacks
=
{}
function
addEventListener
(
pageId
,
callback
)
{
function
addEventListener
(
pageId
,
callback
)
{
const
runtime
=
getRuntime
()
function
onPlusMessage
(
res
)
{
function
onPlusMessage
(
res
)
{
const
message
=
res
.
data
&&
res
.
data
.
__message
if
(
!
message
||
!
message
.
__page
)
{
return
...
...
@@ -51,10 +51,10 @@ function addEventListener(pageId, callback) {
}
class
Page
{
constructor
(
webview
)
{
constructor
(
webview
)
{
this
.
webview
=
webview
}
sendMessage
(
data
)
{
sendMessage
(
data
)
{
const
runtime
=
getRuntime
()
const
message
=
{
__message
:
{
...
...
@@ -69,12 +69,12 @@ class Page {
plus_
.
webview
.
postMessageToUniNView
(
message
,
this
.
webview
.
id
)
}
}
close
()
{
close
()
{
this
.
webview
.
close
()
}
}
export
function
showPage
({
export
function
showPage
({
context
,
runtime
,
url
,
...
...
src/platforms/app-plus/service/api/plugin/payment.js
浏览文件 @
09ccd140
...
...
@@ -14,9 +14,8 @@ export function requestPayment (params, callbackId) {
})
}
else
{
plus
.
payment
.
request
(
service
,
params
.
orderInfo
,
res
=>
{
invoke
(
callbackId
,
{
errMsg
:
'
requestPayment:ok
'
})
res
.
errMsg
=
'
requestPayment:ok
'
invoke
(
callbackId
,
res
)
},
err
=>
{
invoke
(
callbackId
,
{
errMsg
:
'
requestPayment:fail:
'
+
err
.
message
...
...
src/platforms/mp-baidu/runtime/wrapper/component-parser.js
浏览文件 @
09ccd140
...
...
@@ -32,6 +32,12 @@ export default function parseComponent (vueOptions) {
}
// TODO 3.105.17以下基础库内百度 Component 作为页面时,methods 中的 onShow 不触发
!
newLifecycle
&&
this
.
$vm
.
__call_hook
(
'
onShow
'
)
}
else
{
// 百度小程序组件不触发methods内的onReady
if
(
this
.
$vm
)
{
this
.
$vm
.
_isMounted
=
true
this
.
$vm
.
__call_hook
(
'
mounted
'
)
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录