提交 a821048a 编写于 作者: fxy060608's avatar fxy060608

Merge branch 'dev' of https://github.com/dcloudio/uni-app into dev

...@@ -624,12 +624,12 @@ export default { ...@@ -624,12 +624,12 @@ export default {
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|Vue.config.silent |支持 |支持 |支持 |支持 |- | |Vue.config.silent |支持 |支持 |支持 |支持 |- |
|Vue.config.optionMergeStrategies |支持 |支持 |支持 |支持 |- | |Vue.config.optionMergeStrategies |支持 |支持 |支持 |支持 |- |
|Vue.config.devtools |支持 |不支持 |不支持 |不支持 |只在`Web`环境下支持 | |Vue.config.devtools |支持 |× |× |× |只在`Web`环境下支持 |
|Vue.config.errorHandler |支持 |支持 |支持 |支持 |- | |Vue.config.errorHandler |支持 |支持 |支持 |支持 |- |
|Vue.config.warnHandler |支持 |支持 |支持 |支持 |- | |Vue.config.warnHandler |支持 |支持 |支持 |支持 |- |
|Vue.config.ignoredElements |支持 |支持 |支持 |支持 |强烈不推荐,会覆盖`uni-app`框架配置的内置组件| |Vue.config.ignoredElements |支持 |支持 |支持 |支持 |`强烈不推荐`,会覆盖`uni-app`框架配置的内置组件|
|Vue.config.keyCodes |支持 |不支持 |不支持 |不支持 |- | |Vue.config.keyCodes |支持 |× |× |× |- |
|Vue.config.performance |支持 |不支持 |不支持 |不支持 |只在`Web`环境下支持 | |Vue.config.performance |支持 |× |× |× |只在`Web`环境下支持 |
|Vue.config.productionTip |支持 |支持 |支持 |支持 |- | |Vue.config.productionTip |支持 |支持 |支持 |支持 |- |
...@@ -637,17 +637,17 @@ export default { ...@@ -637,17 +637,17 @@ export default {
|Vue 全局 API |H5 |App端旧版|App端V3|微信小程序|说明 | |Vue 全局 API |H5 |App端旧版|App端V3|微信小程序|说明 |
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|Vue.extend |支持 |不支持 |支持 |不支持 |不可作为组件使用 | |Vue.extend |支持 |× |支持 |× |不可作为组件使用 |
|Vue.nextTick |支持 |不支持 |不支持 |不支持 |- | |Vue.nextTick |支持 |× |× |× |- |
|Vue.set |支持 |支持 |支持 |支持 |- | |Vue.set |支持 |支持 |支持 |支持 |- |
|Vue.delete |支持 |支持 |支持 |支持 |- | |Vue.delete |支持 |支持 |支持 |支持 |- |
|Vue.directive|支持 |不支持 |支持 |不支持 |- | |Vue.directive|支持 |× |支持 |× |- |
|Vue.filter |支持 |支持 |支持 |支持 |App端旧版不可以在`class`中使用 | |Vue.filter |支持 |支持 |支持 |支持 |`App端旧版`不可以在`class`中使用 |
|Vue.component|支持 |支持 |支持 |支持 |- | |Vue.component|支持 |支持 |支持 |支持 |- |
|Vue.use |支持 |支持 |支持 |支持 |- | |Vue.use |支持 |支持 |支持 |支持 |- |
|Vue.mixin |支持 |支持 |支持 |支持 |- | |Vue.mixin |支持 |支持 |支持 |支持 |- |
|Vue.version |支持 |支持 |支持 |支持 |- | |Vue.version |支持 |支持 |支持 |支持 |- |
|Vue.compile |支持 |不支持 |不支持 |不支持 |`uni-app`使用的`vue`是只包含运行时的版本 | |Vue.compile |支持 |× |× |× |`uni-app`使用的`vue`是只包含运行时的版本 |
#### 选项 #### 选项
...@@ -655,28 +655,28 @@ export default { ...@@ -655,28 +655,28 @@ export default {
|Vue 选项 |H5 |App端旧版|App端V3|微信小程序|说明 | |Vue 选项 |H5 |App端旧版|App端V3|微信小程序|说明 |
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|data |支持 |支持 |支持 |支持 |- | |data |支持 |支持 |支持 |支持 |- |
|props |支持 |支持 |支持 |支持 |App端旧版不可以传递函数 | |props |支持 |支持 |支持 |支持 |`App端旧版`不可以传递函数 |
|propsData |支持 |支持 |支持 |支持 |- | |propsData |支持 |支持 |支持 |支持 |- |
|computed |支持 |支持 |支持 |支持 |- | |computed |支持 |支持 |支持 |支持 |- |
|methods |支持 |支持 |支持 |支持 |- | |methods |支持 |支持 |支持 |支持 |- |
|watch |支持 |支持 |支持 |支持 |- | |watch |支持 |支持 |支持 |支持 |- |
|el |支持 |不支持 |不支持 |不支持 | | |el |支持 |× |× |× | |
|template |支持 |不支持 |不支持 |不支持 |`uni-app`使用的`vue`是只包含运行时的版本 | |template |支持 |× |× |× |`uni-app`使用的`vue`是只包含运行时的版本 |
|render |支持 |不支持 |不支持 |不支持 |- | |render |支持 |× |× |× |- |
|renderError |支持 |不支持 |不支持 |不支持 |- | |renderError |支持 |× |× |× |- |
|directives |支持 |不支持 |支持 |不支持 |- | |directives |支持 |× |支持 |× |- |
|filters |支持 |支持 |支持 |支持 |App端旧版不可以在`class`中使用 | |filters |支持 |支持 |支持 |支持 |`App端旧版`不可以在`class`中使用 |
|components |支持 |支持 |支持 |支持 |- | |components |支持 |支持 |支持 |支持 |- |
|parent |支持 |支持 |支持 |支持 |不推荐 | |parent |支持 |支持 |支持 |支持 |不推荐 |
|mixins |支持 |支持 |支持 |支持 |- | |mixins |支持 |支持 |支持 |支持 |- |
|extends |支持 |支持 |支持 |支持 |- | |extends |支持 |支持 |支持 |支持 |- |
|provide/inject |支持 |支持 |支持 |支持 |App端旧版部分支持 | |provide/inject |支持 |支持 |支持 |支持 |`App端旧版`部分支持 |
|name |支持 |支持 |支持 |支持 |App端旧版不支持递归组件 | |name |支持 |支持 |支持 |支持 |`App端旧版`不支持递归组件 |
|delimiters |支持 |不支持 |不支持 |不支持 |- | |delimiters |支持 |× |× |× |- |
|functional |支持 |不支持 |不支持 |不支持 |- | |functional |支持 |× |× |× |- |
|model |支持 |不支持 |支持 |不支持 |- | |model |支持 |× |支持 |× |- |
|inheritAttrs |支持 |不支持 |支持 |不支持 |- | |inheritAttrs |支持 |× |支持 |× |- |
|comments |支持 |不支持 |不支持 |不支持 |- | |comments |支持 |× |× |× |- |
#### 生命周期钩子 #### 生命周期钩子
...@@ -689,8 +689,8 @@ export default { ...@@ -689,8 +689,8 @@ export default {
|mounted |支持 |支持 |支持 |支持 |- | |mounted |支持 |支持 |支持 |支持 |- |
|beforeUpdate |支持 |支持 |支持 |支持 |- | |beforeUpdate |支持 |支持 |支持 |支持 |- |
|updated |支持 |支持 |支持 |支持 |- | |updated |支持 |支持 |支持 |支持 |- |
|activated |支持 |不支持 |支持 |不支持 |- | |activated |支持 |× |支持 |× |- |
|deactivated |支持 |不支持 |支持 |不支持 |- | |deactivated |支持 |× |支持 |× |- |
|beforeDestroy |支持 |支持 |支持 |支持 |- | |beforeDestroy |支持 |支持 |支持 |支持 |- |
|destroyed |支持 |支持 |支持 |支持 |- | |destroyed |支持 |支持 |支持 |支持 |- |
|errorCaptured |支持 |支持 |支持 |支持 |- | |errorCaptured |支持 |支持 |支持 |支持 |- |
...@@ -701,17 +701,17 @@ export default { ...@@ -701,17 +701,17 @@ export default {
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|vm.$data |支持 |支持 |支持 |支持 |- | |vm.$data |支持 |支持 |支持 |支持 |- |
|vm.$props |支持 |支持 |支持 |支持 |- | |vm.$props |支持 |支持 |支持 |支持 |- |
|vm.$el |支持 |不支持 |不支持 |不支持 |- | |vm.$el |支持 |× |× |× |- |
|vm.$options |支持 |支持 |支持 |支持 |- | |vm.$options |支持 |支持 |支持 |支持 |- |
|vm.$parent |支持 |支持 |支持 |支持 |H5端 `view`、`text` 等内置标签是以 Vue 组件方式实现,`$parent` 会获取这些内置组件 | |vm.$parent |支持 |支持 |支持 |支持 |`H5端`:`view`、`text` 等内置标签是以 Vue 组件方式实现,`$parent` 会获取这些内置组件 |
|vm.$root |支持 |支持 |支持 |支持 |- | |vm.$root |支持 |支持 |支持 |支持 |- |
|vm.$children |支持 |支持 |支持 |支持 |H5端 `view`、`text` 等内置标签是以 Vue 组件方式实现,`$children` 会获取这些内置组件| |vm.$children |支持 |支持 |支持 |支持 |`H5端`:`view`、`text` 等内置标签是以 Vue 组件方式实现,`$children` 会获取这些内置组件|
|vm.$slots |支持 |支持 |不支持 |支持 |App端旧版获取值为`{'slotName':true/false}`比如:`{"footer":true}` | |vm.$slots |支持 |支持 |× |支持 |`App端旧版`:获取值为`{'slotName':true/false}`比如:`{"footer":true}` |
|vm.$scopedSlots|支持 |支持 |支持 |支持 |App端旧版获取值为`{'slotName':true/false}`比如:`{"footer":true}` | |vm.$scopedSlots|支持 |支持 |支持 |支持 |`App端旧版`:获取值为`{'slotName':true/false}`比如:`{"footer":true}` |
|vm.$refs |支持 |支持 |支持 |支持 |非H5端只能用于获取自定义组件,不能用于获取内置组件实例(如:view、text)| |vm.$refs |支持 |支持 |支持 |支持 |`非H5端`只能用于获取自定义组件,不能用于获取内置组件实例(如:view、text)|
|vm.$isServer |支持 |不支持 |支持 |不支持 |App端V3总是返回false | |vm.$isServer |支持 |× |支持 |× |`App端V3`总是返回false |
|vm.$attrs |支持 |不支持 |支持 |不支持 |- | |vm.$attrs |支持 |× |支持 |× |- |
|vm.$listeners |支持 |不支持 |支持 |不支持 |- | |vm.$listeners |支持 |× |支持 |× |- |
#### 实例方法 #### 实例方法
...@@ -725,7 +725,7 @@ export default { ...@@ -725,7 +725,7 @@ export default {
|vm.$once() |支持 |支持 |支持 |支持 |- | |vm.$once() |支持 |支持 |支持 |支持 |- |
|vm.$off() |支持 |支持 |支持 |支持 |- | |vm.$off() |支持 |支持 |支持 |支持 |- |
|vm.$emit() |支持 |支持 |支持 |支持 |- | |vm.$emit() |支持 |支持 |支持 |支持 |- |
|vm.$mount() |支持 |不支持 |不支持 |不支持 |- | |vm.$mount() |支持 |× |× |× |- |
|vm.$forceUpdate()|支持 |支持 |支持 |支持 |- | |vm.$forceUpdate()|支持 |支持 |支持 |支持 |- |
|vm.$nextTick() |支持 |支持 |支持 |支持 |- | |vm.$nextTick() |支持 |支持 |支持 |支持 |- |
|vm.$destroy() |支持 |支持 |支持 |支持 |- | |vm.$destroy() |支持 |支持 |支持 |支持 |- |
...@@ -733,38 +733,38 @@ export default { ...@@ -733,38 +733,38 @@ export default {
#### 模板指令 #### 模板指令
|Vue 指令 |H5 |App端旧版|App端V3|微信小程序|说明 | |Vue 指令|H5|App端旧版|App端V3|微信小程序|说明 |
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|v-text |支持 |支持 |支持 |支持 |- | |v-text |支持 |支持 |支持 |支持 |- |
|v-html |支持 |不支持 |支持 |不支持 |- | |v-html |支持 |× |支持 |× |- |
|v-show |支持 |支持 |支持 |支持 |- | |v-show |支持 |支持 |支持 |支持 |- |
|v-if |支持 |支持 |支持 |支持 |- | |v-if |支持 |支持 |支持 |支持 |- |
|v-else |支持 |支持 |支持 |支持 |- | |v-else |支持 |支持 |支持 |支持 |- |
|v-else-if|支持 |支持 |支持 |支持 |- | |v-else-if|支持 |支持 |支持 |支持 |- |
|v-for |支持 |支持 |支持 |支持 |- | |v-for |支持 |支持 |支持 |支持 |- |
|v-on |支持 |支持 |支持 |支持 |- | |v-on |支持 |支持 |支持 |支持 |- |
|v-bind |支持 |支持 |支持 |支持 |App端旧版不支持`v-bind="{key:value}"`类似用法| |v-bind |支持 |支持 |支持 |支持 |`App端旧版`和`微信小程序`不支持`v-bind="{key:value}"`类似用法|
|v-model |支持 |支持 |支持 |支持 |- | |v-model |支持 |支持 |支持 |支持 |- |
|v-pre |支持 |不支持 |支持 |不支持 |- | |v-pre |支持 |× |支持 |× |- |
|v-cloak |支持 |不支持 |不支持 |不支持 |- | |v-cloak |支持 |× |× |× |- |
|v-once |支持 |不支持 |支持 |不支持 |- | |v-once |支持 |× |支持 |× |- |
#### 特殊属性 #### 特殊属性
|Vue 特殊属性 |H5 |App端旧版|App端V3|微信小程序|说明 | |Vue 特殊属性 |H5 |App端旧版|App端V3|微信小程序|说明 |
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|key |支持 |支持 |支持 |支持 |App端旧版不支持表达式| |key |支持 |支持 |支持 |支持 |`App端旧版`不支持表达式|
|ref |支持 |支持 |支持 |支持 |- | |ref |支持 |支持 |支持 |支持 |- |
|is |支持 |不支持 |支持 |不支持 |- | |is |支持 |× |支持 |× |- |
#### 内置组件 #### 内置组件
|Vue 内置组件 |H5 |App端旧版|App端V3|微信小程序 |说明 | |Vue 内置组件 |H5 |App端旧版|App端V3|微信小程序 |说明 |
|-- |-- |-- |-- |-- |-- | |-- |-- |-- |-- |-- |-- |
|component |支持 |不支持 |支持 |不支持 |- | |component |支持 |× |支持 |× |- |
|transition |支持 |不支持 |不支持 |不支持 |- | |transition |支持 |× |× |× |- |
|transition-group |支持 |不支持 |不支持 |不支持 |- | |transition-group |支持 |× |× |× |- |
|keep-alive |支持 |不支持 |支持 |不支持 |- | |keep-alive |支持 |× |支持 |× |- |
|slot |支持 |支持 |支持 |支持 |- | |slot |支持 |支持 |支持 |支持 |- |
...@@ -246,7 +246,7 @@ function processCss(css) { ...@@ -246,7 +246,7 @@ function processCss(css) {
.replace(VAR_WINDOW_LEFT, '0px') .replace(VAR_WINDOW_LEFT, '0px')
.replace(VAR_WINDOW_RIGHT, '0px') .replace(VAR_WINDOW_RIGHT, '0px')
} }
return css.replace(/\{[\s\S]+?\}/g, function (css) { return css.replace(/\{[\s\S]+?\}|@media.+\{/g, function (css) {
return css.replace(UPX_RE, function (a, b) { return css.replace(UPX_RE, function (a, b) {
return uni.upx2px(b) + 'px' return uni.upx2px(b) + 'px'
}) })
......
...@@ -245,17 +245,17 @@ function processCss(css) { ...@@ -245,17 +245,17 @@ function processCss(css) {
var offset = getWindowOffset() var offset = getWindowOffset()
css = css.replace(VAR_STATUS_BAR_HEIGHT, '0px') css = css.replace(VAR_STATUS_BAR_HEIGHT, '0px')
.replace(VAR_WINDOW_TOP, offset.top + 'px') .replace(VAR_WINDOW_TOP, offset.top + 'px')
.replace(VAR_WINDOW_BOTTOM, offset.bottom + 'px') .replace(VAR_WINDOW_BOTTOM, offset.bottom + 'px')
.replace(VAR_WINDOW_LEFT, '0px') .replace(VAR_WINDOW_LEFT, '0px')
.replace(VAR_WINDOW_RIGHT, '0px') .replace(VAR_WINDOW_RIGHT, '0px')
} }
return css return css
.replace(BODY_SCOPED_RE, page) .replace(BODY_SCOPED_RE, page)
.replace(BODY_RE, '') .replace(BODY_RE, '')
.replace(PAGE_SCOPED_RE, 'body.' + page + ' uni-page-body') .replace(PAGE_SCOPED_RE, 'body.' + page + ' uni-page-body')
.replace(/\{[\s\S]+?\}/g, function (css) { .replace(/\{[\s\S]+?\}|@media.+\{/g, function (css) {
if(typeof uni === 'undefined'){ if(typeof uni === 'undefined'){
return css return css
} }
return css.replace(UPX_RE, function (a, b) { return css.replace(UPX_RE, function (a, b) {
return uni.upx2px(b) + 'px' return uni.upx2px(b) + 'px'
......
...@@ -57,8 +57,8 @@ if (process.env.UNI_USING_V3) { ...@@ -57,8 +57,8 @@ if (process.env.UNI_USING_V3) {
) )
} }
const tranformValue = function (decl, opts) { const tranformValue = function (value, opts) {
return valueParser(decl.value) return valueParser(value)
.walk(node => { .walk(node => {
if (node.type === 'word') { if (node.type === 'word') {
parseWord(node, opts) parseWord(node, opts)
...@@ -205,10 +205,16 @@ if (process.env.UNI_USING_V3) { ...@@ -205,10 +205,16 @@ if (process.env.UNI_USING_V3) {
} }
} }
// Transform each property declaration here // Transform each property declaration here
decl.value = tranformValue(decl, opts) decl.value = tranformValue(decl.value, opts)
}) })
}) })
root.walkAtRules(rule => {
if (rule.name === 'media') {
rule.params = tranformValue(rule.params, opts)
}
})
if (bgDecls.length) { if (bgDecls.length) {
const rule = postcss.rule({ const rule = postcss.rule({
selector: 'body.?%PAGE?%' selector: 'body.?%PAGE?%'
...@@ -240,7 +246,7 @@ if (process.env.UNI_USING_V3) { ...@@ -240,7 +246,7 @@ if (process.env.UNI_USING_V3) {
} }
} }
// Transform each property declaration here // Transform each property declaration here
decl.value = tranformValue(decl, opts) decl.value = tranformValue(decl.value, opts)
}) })
if (process.env.UNI_PLATFORM !== 'quickapp-native') { if (process.env.UNI_PLATFORM !== 'quickapp-native') {
rule.selectors = rule.selectors.map(complexSelector => { rule.selectors = rule.selectors.map(complexSelector => {
......
...@@ -30,7 +30,7 @@ function parseTitleNViewButtons (titleNView) { ...@@ -30,7 +30,7 @@ function parseTitleNViewButtons (titleNView) {
export function parseTitleNView (routeOptions) { export function parseTitleNView (routeOptions) {
const windowOptions = routeOptions.window const windowOptions = routeOptions.window
const titleNView = windowOptions.titleNView const titleNView = windowOptions.titleNView
routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light' routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light'
if ( // 无头 if ( // 无头
titleNView === false || titleNView === false ||
...@@ -54,12 +54,13 @@ export function parseTitleNView (routeOptions) { ...@@ -54,12 +54,13 @@ export function parseTitleNView (routeOptions) {
always: 'float' always: 'float'
} }
const navigationBarBackgroundColor = windowOptions.navigationBarBackgroundColor
const ret = { const ret = {
autoBackButton: !routeOptions.meta.isQuit, autoBackButton: !routeOptions.meta.isQuit,
titleText: titleImage === '' ? windowOptions.navigationBarTitleText || '' : '', titleText: titleImage === '' ? windowOptions.navigationBarTitleText || '' : '',
titleColor: windowOptions.navigationBarTextStyle === 'black' ? '#000000' : '#ffffff', titleColor: windowOptions.navigationBarTextStyle === 'black' ? '#000000' : '#ffffff',
type: titleNViewTypeList[transparentTitle], type: titleNViewTypeList[transparentTitle],
backgroundColor: windowOptions.navigationBarBackgroundColor || '#f8f8f8', backgroundColor: (/^#[a-z0-9]{6}$/i.test(navigationBarBackgroundColor) || navigationBarBackgroundColor === 'transparent') ? navigationBarBackgroundColor : '#f7f7f7',
tags: titleImage === '' ? [] : [{ tags: titleImage === '' ? [] : [{
tag: 'img', tag: 'img',
src: titleImage, src: titleImage,
...@@ -77,4 +78,4 @@ export function parseTitleNView (routeOptions) { ...@@ -77,4 +78,4 @@ export function parseTitleNView (routeOptions) {
} }
return ret return ret
} }
...@@ -45,7 +45,7 @@ export function parseWebviewStyle (id, path, routeOptions = {}) { ...@@ -45,7 +45,7 @@ export function parseWebviewStyle (id, path, routeOptions = {}) {
}) })
const backgroundColor = routeOptions.window.backgroundColor const backgroundColor = routeOptions.window.backgroundColor
if (backgroundColor) { if (/^#[a-z0-9]{6}$/i.test(backgroundColor) || backgroundColor === 'transparent') {
if (!webviewStyle.background) { if (!webviewStyle.background) {
webviewStyle.background = backgroundColor webviewStyle.background = backgroundColor
} }
...@@ -94,4 +94,4 @@ export function parseWebviewStyle (id, path, routeOptions = {}) { ...@@ -94,4 +94,4 @@ export function parseWebviewStyle (id, path, routeOptions = {}) {
} }
return webviewStyle return webviewStyle
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册