diff --git a/docs-vuepress/api/compile.md b/docs-vuepress/api/compile.md index 82a6ccc22a..6676a80c1a 100644 --- a/docs-vuepress/api/compile.md +++ b/docs-vuepress/api/compile.md @@ -1600,57 +1600,6 @@ npm install -D pug pug-plain-loader 在构建过程中忽略特定 `pre-loader` 对文件的处理,仅支持正则表达式,默认值为 `/eslint-loader/`。 -### proxyComponentEventsRules - -- **类型**:`Array | Object` - - `option.include` 同webpack的include规则 - - `option.exclude` 同webpack的exclude规则 - - `option.events` 需要在支付宝环境代理的事件,数组形式的支付宝事件名,例如['onTap', 'onTouchMove'] - -- **详细**: - -在微信小程序中,自定义组件本身的那个节点是一个“普通”的节点,使用时可以在这个节点上设置 class style、事件、 flex 布局等,就如同普通的 view 组件节点一样。 - -在支付宝平台下,自定义组件节点默认是虚拟节点,会展示自定义组件内部的第一层节点,自定义组件节点本身设置的 class style 等不会生效。 - -跨端输出支付宝时,当自定义组件未开启 virtualHost 时,为了保持和微信一直,Mpx 框架会在自定义组件根节点包裹添加一个 view 节点来保持和微信一致,并将用户在自定义组件节点上设置的 -style、class、绑定事件等 copy 至包裹节点,对于事件来说,由于在编译自定义组件时,我们无法感知外部父组件是否绑定事件,我们不能无脑给所有自定义组件包裹节点都绑定上小程序的事件监听, -这样会导致整体运行时开销很大,因此当你需要在支付宝环境中自定义组件根节点上绑定事件时,需要通过次配置来告诉框架需要帮你代理抹平哪些事件。 - -跨端输出Web时,为了和微信小程序保持一致,在非virtualHost的自定义组件节点上,默认也会插入一个包裹节点,同理对于事件的代理也需要用户进行配置告诉框架来对哪些自定义组件的哪些事件进行代理。 - -- **示例**: - -当我们在小程序开发时存在以下代码时 -```html - - - -``` -支付宝环境的自定义组件节点绑定事件并不会触发,但微信环境可以,若想在支付宝环境下使用该功能,则需配置此规则 -```js -const path = require('path') - -new MpxWebpackPlugin({ - proxyComponentEventsRules: [ - { - include: path.resolve('src/packageA'), // 输出支付宝时,对src/packageA文件夹中的所有自定义组件添加 onTap, onToucheMove 事件代理 - exclude: path.resolve('lib'), - events: ['bindtap', 'bindtouchstart'] - }, - { - include: path.resolve('src/packageB'), // 输出支付宝时,对src/packageB文件夹中的所有自定义组件添加 onTap, onLongTap 事件代理 - events: ['bindtap'] - }, - ] -}) -``` - -需要注意的是,所有的事件名配置,我们以微信事件为基准,例如虽然你是跨端输出支付宝,也请配置bindtap,而不是onTap。 - -请注意,在跨端输出 Web 时,只支持配置 tap 、longtap、longpress 这三个事件代理,且最好不要同时配置了两个事件,不然有可能会导致同一个事件触发两次。 - - ### MpxWebpackPlugin.pluginLoader :::warning diff --git a/docs-vuepress/guide/advance/i18n.md b/docs-vuepress/guide/advance/i18n.md index e240a4a99d..0c3573dab1 100644 --- a/docs-vuepress/guide/advance/i18n.md +++ b/docs-vuepress/guide/advance/i18n.md @@ -260,7 +260,7 @@ createComponent({ // 全局locale变更,生效范围为项目全局,locale 是一个 ref 变量 locale.value = 'zh-CN' // 或者通过mpx.i18n来修改,也能起到全局locale修改作用 - mpx.i18n.global.locale.value = 'zh-CN' + mpx.i18n.locale = 'zh-CN' }, 1000) return { t @@ -313,7 +313,7 @@ import mpx, { createComponent } from '@mpxjs/core' createComponent({ ready () { // 修改全局 locale - mpx.i18n.global.locale = 'en-US' + mpx.i18n.locale = 'en-US' } }) ``` diff --git a/examples/mpx-webview/H5/webviewbridge.min.js b/examples/mpx-webview/H5/webviewbridge.min.js index 31e192d0d3..7c24aee855 100644 --- a/examples/mpx-webview/H5/webviewbridge.min.js +++ b/examples/mpx-webview/H5/webviewbridge.min.js @@ -8,4 +8,4 @@ * (c) 2023 @mpxjs team * @license Apache */ -var e,t;e=this,t=function(){"use strict";function e(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function t(e,t,o){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var o=function(o){for(var n=1;n-1?n="my":i.toLowerCase().indexOf("miniprogram")>-1?n=i.indexOf("QQ")>-1?"qq":"wx":i.indexOf("swan")>-1?n="swan":i.indexOf("toutiao")>-1?n="tt":(n="web",window.addEventListener("message",(function(e){e.data.isMpxWebview&&(n="web",window.parent.postMessage({type:"load",detail:{load:!0}},"*"));var t=e.data,o=t.callbackId,a=t.error,i=t.result;void 0!==o&&r[o]&&(a?r[o](a):r[o](null,i),delete r[o])}),!1));var c={config:function(e){if("wx"===n){if(window.wx){if(!e)return void console.log("\u5fae\u4fe1\u73af\u5883\u4e0b\u9700\u8981\u914d\u7f6ewx.config\u624d\u80fd\u6302\u8f7d\u65b9\u6cd5");window.wx.config(e)}}else console.log("\u975e\u5fae\u4fe1\u73af\u5883\u4e0d\u9700\u8981\u914d\u7f6econfig")}};function s(e){if("[object Object]"!==Object.prototype.toString.call(e))return e;var t={};for(var o in e)"function"!=typeof e[o]&&(t[o]=e[o]);return t}function p(e,t){if("getEnv"!==e){var o=++a;r[o]=function(e,n){e?(t.fail&&t.fail(e),t.complete&&t.complete(e)):(t.success&&t.success(n),t.complete&&t.complete(n)),delete r[o]},window.parent.postMessage&&window.parent.postMessage({type:e,callbackId:a,detail:{data:s(t)}},"*")}else t({miniprogram:!1})}var d=function(e){var t={wx:{keyName:"miniProgram",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","postMessage","getEnv"]},tt:{keyName:"miniProgram",api:["redirectTo","navigateTo","switchTab","reLaunch","navigateBack","setSwipeBackModeSync","postMessage","getEnv","checkJsApi","chooseImage","compressImage","previewImage","uploadFile","getNetworkType","openLocation","getLocation"]},swan:{keyName:"webView",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage"]},qq:{keyName:"miniProgram",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage"]}}[n]||{},o={wx:["checkJSApi","chooseImage","previewImage","uploadImage","downloadImage","getLocalImgData","startRecord","stopRecord","onVoiceRecordEnd","playVoice","pauseVoice","stopVoice","onVoicePlayEnd","uploadVoice","downloadVoice","translateVoice","getNetworkType","openLocation","getLocation","startSearchBeacons","stopSearchBeacons","onSearchBeacons","scanQRCode","chooseCard","addCard","openCard"],my:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","chooseImage","previewImage","getLocation","openLocation","alert","showLoading","hideLoading","getNetworkType","startShare","tradePay","postMessage","onMessage","getEnv"],swan:["makePhoneCall","setClipboardData","getNetworkType","openLocation","getLocation","chooseLocation","chooseImage","previewImage","openShare","navigateToSmartProgram"],web:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage","getLoadError","getLocation"]}[n]||{};(t.api||[]).forEach((function(o){c[o]=function(){for(var a=arguments.length,r=new Array(a),i=0;i1&&void 0!==arguments[1]?arguments[1]:{},o=t.time,n=void 0===o?5e3:o,a=t.crossOrigin,r=void 0!==a&&a;function i(){return new Promise((function(t,o){var n=document.createElement("script");n.type="text/javascript",n.async="async",r&&(n.crossOrigin="anonymous"),n.onload=n.onreadystatechange=function(){this.readyState&&!/^(loaded|complete)$/.test(this.readyState)||(t(),n.onload=n.onreadystatechange=null)},n.onerror=function(){o(new Error("load ".concat(e," error"))),n.onerror=null},n.src=e,document.getElementsByTagName("head")[0].appendChild(n)}))}function c(){return new Promise((function(t,o){setTimeout((function(){o(new Error("load ".concat(e," timeout")))}),n)}))}return Promise.race([i(),c()])}(o[n].url,{crossOrigin:!!o[n].crossOrigin}):Promise.reject(new Error("\u672a\u627e\u5230\u5bf9\u5e94\u7684sdk"));d(e)}(),c},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).mpx=t(); \ No newline at end of file +var e,t;e=this,t=function(){"use strict";function e(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function t(e,t,o){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}var o,n=function(o){for(var n=1;n-1?a="my":c.toLowerCase().indexOf("miniprogram")>-1?a=c.indexOf("QQ")>-1?"qq":"wx":c.indexOf("swan")>-1?a="swan":c.indexOf("toutiao")>-1?a="tt":(a="web",window.addEventListener("message",(function(e){var t=e.data,o=t.callbackId,n=t.error,a=t.result;void 0!==o&&i[o]&&(n?i[o](n):i[o](null,a),delete i[o])}),!1));var s=!1;function p(e){s?e():o.then((function(){s=!0,e()}))}var u={config:function(e){"wx"===a?p((function(){window.wx&&window.wx.config(e)})):console.warn("\u975e\u5fae\u4fe1\u73af\u5883\u4e0d\u9700\u8981\u914d\u7f6econfig")}};function d(e){if("[object Object]"!==Object.prototype.toString.call(e))return e;var t={};for(var o in e)"function"!=typeof e[o]&&(t[o]=e[o]);return t}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("getEnv"!==e){var o=++r;i[o]=function(e,n){e?(t.fail&&t.fail(e),t.complete&&t.complete(e)):(t.success&&t.success(n),t.complete&&t.complete(n)),delete i[o]},window.parent.postMessage&&window.parent.postMessage({type:e,callbackId:r,payload:d(t)},"*")}else t({webapp:!0})}var g=function(){var e={wx:{keyName:"miniProgram",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","postMessage","getEnv"]},tt:{keyName:"miniProgram",api:["redirectTo","navigateTo","switchTab","reLaunch","navigateBack","setSwipeBackModeSync","postMessage","getEnv","checkJsApi","chooseImage","compressImage","previewImage","uploadFile","getNetworkType","openLocation","getLocation"]},swan:{keyName:"webView",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage"]},qq:{keyName:"miniProgram",api:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage"]}}[a]||{},t={wx:["checkJSApi","chooseImage","previewImage","uploadImage","downloadImage","getLocalImgData","startRecord","stopRecord","onVoiceRecordEnd","playVoice","pauseVoice","stopVoice","onVoicePlayEnd","uploadVoice","downloadVoice","translateVoice","getNetworkType","openLocation","getLocation","startSearchBeacons","stopSearchBeacons","onSearchBeacons","scanQRCode","chooseCard","addCard","openCard"],my:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","chooseImage","previewImage","getLocation","openLocation","alert","showLoading","hideLoading","getNetworkType","startShare","tradePay","postMessage","onMessage","getEnv"],swan:["makePhoneCall","setClipboardData","getNetworkType","openLocation","getLocation","chooseLocation","chooseImage","previewImage","openShare","navigateToSmartProgram"],web:["navigateTo","navigateBack","switchTab","reLaunch","redirectTo","getEnv","postMessage","getLoadError","getLocation"]}[a]||{};(e.api||[]).forEach((function(t){u[t]=function(){for(var o=arguments.length,n=new Array(o),r=0;r1&&void 0!==arguments[1]?arguments[1]:{},o=t.time,n=void 0===o?5e3:o,a=t.crossOrigin,r=void 0!==a&&a;function i(){return new Promise((function(t,o){var n=document.createElement("script");n.type="text/javascript",n.async="async",r&&(n.crossOrigin="anonymous"),n.onload=n.onreadystatechange=function(){this.readyState&&!/^(loaded|complete)$/.test(this.readyState)||(t(),n.onload=n.onreadystatechange=null)},n.onerror=function(){o(new Error("load ".concat(e," error"))),n.onerror=null},n.src=e,document.getElementsByTagName("head")[0].appendChild(n)}))}function c(){return new Promise((function(t,o){setTimeout((function(){o(new Error("load ".concat(e," timeout")))}),n)}))}return Promise.race([i(),c()])}(n[a].url):Promise.reject(new Error("\u672a\u627e\u5230\u5bf9\u5e94\u7684sdk")):Promise.resolve(),g(),u},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).mpx=t(); \ No newline at end of file diff --git a/lerna.json b/lerna.json index e02345c260..fc6f2edacc 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": [ "packages/*" ], - "version": "2.8.53" + "version": "2.8.58" } diff --git a/packages/api-proxy/package.json b/packages/api-proxy/package.json index 09ea9d0c45..f517254b9f 100644 --- a/packages/api-proxy/package.json +++ b/packages/api-proxy/package.json @@ -1,6 +1,6 @@ { "name": "@mpxjs/api-proxy", - "version": "2.8.49", + "version": "2.8.58", "description": "convert miniprogram API at each end", "module": "src/index.js", "types": "@types/index.d.ts", diff --git a/packages/api-proxy/src/web/api/request/index.js b/packages/api-proxy/src/web/api/request/index.js index 28f3c43cfc..905ebb27be 100644 --- a/packages/api-proxy/src/web/api/request/index.js +++ b/packages/api-proxy/src/web/api/request/index.js @@ -39,7 +39,17 @@ function request (options = { url: '' }) { headers: header, responseType, timeout, - cancelToken: source.token + cancelToken: source.token, + transitional: { + // silent JSON parsing mode + // `true` - ignore JSON parsing errors and set response.data to null if parsing failed (old behaviour) + // `false` - throw SyntaxError if JSON parsing failed (Note: responseType must be set to 'json') + silentJSONParsing: true, // default value for the current Axios version + // try to parse the response string as JSON even if `responseType` is not 'json' + forcedJSONParsing: false, + // throw ETIMEDOUT error instead of generic ECONNABORTED on request timeouts + clarifyTimeoutError: false + } } if (method === 'GET') { @@ -49,7 +59,7 @@ function request (options = { url: '' }) { const promise = axios(rOptions).then(res => { let data = res.data - if (responseType === 'text' && dataType === 'json') { + if (dataType === 'json' && typeof data === 'string') { try { data = JSON.parse(data) } catch (e) { diff --git a/packages/api-proxy/src/web/api/route/index.js b/packages/api-proxy/src/web/api/route/index.js index 3410d67347..cfe75a22b5 100644 --- a/packages/api-proxy/src/web/api/route/index.js +++ b/packages/api-proxy/src/web/api/route/index.js @@ -81,7 +81,11 @@ function navigateTo (options = {}) { function navigateBack (options = {}) { const router = global.__mpxRouter if (router) { - const delta = options.delta || 1 + let delta = options.delta || 1 + const stackLength = router.stack.length + if (stackLength > 1 && delta >= stackLength) { + delta = stackLength - 1 + } router.__mpxAction = { type: 'back', delta diff --git a/packages/core/@types/index.d.ts b/packages/core/@types/index.d.ts index f688652d79..379d785e11 100644 --- a/packages/core/@types/index.d.ts +++ b/packages/core/@types/index.d.ts @@ -86,7 +86,7 @@ type PropValueType = Def extends { : Def extends FullPropType ? T : Def extends PropType - ? T + ? T : any; type GetPropsType = { @@ -250,6 +250,11 @@ interface AnyConstructor { prototype: any } +interface WebviewConfig { + hostWhitelists?: Array + apiImplementations?: object +} + interface MpxConfig { useStrictDiff: boolean ignoreWarning: boolean | string | RegExp | ((msg: string, location: string, e: Error) => boolean) @@ -259,7 +264,8 @@ interface MpxConfig { proxyEventHandler: (e: Event) => any | null setDataHandler: (data: object, target: ComponentIns<{}, {}, {}, {}, []>) => any | null forceFlushSync: boolean, - webRouteConfig: object + webRouteConfig: object, + webviewConfig?: WebviewConfig } type SupportedMode = 'wx' | 'ali' | 'qq' | 'swan' | 'tt' | 'web' | 'qa' diff --git a/packages/core/package.json b/packages/core/package.json index ef26ebdb2a..fc09fe7f3c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@mpxjs/core", - "version": "2.8.53", + "version": "2.8.56", "description": "mpx runtime core", "keywords": [ "miniprogram", diff --git a/packages/core/src/core/proxy.js b/packages/core/src/core/proxy.js index 81754b2c03..27129d02ba 100644 --- a/packages/core/src/core/proxy.js +++ b/packages/core/src/core/proxy.js @@ -607,7 +607,9 @@ export default class MpxProxy { export let currentInstance = null -export const getCurrentInstance = () => currentInstance?.target +export const getCurrentInstance = () => { + return currentInstance && { proxy: currentInstance?.target } +} export const setCurrentInstance = (instance) => { currentInstance = instance diff --git a/packages/core/src/platform/builtInMixins/proxyEventMixin.js b/packages/core/src/platform/builtInMixins/proxyEventMixin.js index bb32562c1f..e0d409e579 100644 --- a/packages/core/src/platform/builtInMixins/proxyEventMixin.js +++ b/packages/core/src/platform/builtInMixins/proxyEventMixin.js @@ -89,34 +89,22 @@ export default function proxyEventMixin () { } if (__mpx_mode__ === 'ali') { Object.assign(methods, { - triggerEvent (eventName, eventDetail, e) { + triggerEvent (eventName, eventDetail) { const handlerName = eventName.replace(/^./, matched => matched.toUpperCase()).replace(/-([a-z])/g, (match, p1) => p1.toUpperCase()) const handler = this.props && (this.props['on' + handlerName] || this.props['catch' + handlerName]) if (handler && typeof handler === 'function') { - let eventObj = {} - if (e) { - e.detail = Object.assign(e.detail, eventDetail) - eventObj = e - } else { - const dataset = collectDataset(this.props) - const id = this.props.id || '' - const timeStamp = +new Date() - eventObj = { - type: eventName, - timeStamp, - target: { id, dataset, targetDataset: dataset }, - currentTarget: { id, dataset }, - detail: eventDetail - } + const dataset = collectDataset(this.props) + const id = this.props.id || '' + const timeStamp = +new Date() + const eventObj = { + type: eventName, + timeStamp, + target: { id, dataset, targetDataset: dataset }, + currentTarget: { id, dataset }, + detail: eventDetail } handler.call(this, eventObj) } - }, - __proxyEvent (e) { - const eventName = e.type - // 保持和微信一致 - e.target = e.currentTarget - this.triggerEvent(eventName, {}, e) } }) } diff --git a/packages/core/src/platform/builtInMixins/proxyEventMixin.web.js b/packages/core/src/platform/builtInMixins/proxyEventMixin.web.js index 02cbc8eb34..62cd045032 100644 --- a/packages/core/src/platform/builtInMixins/proxyEventMixin.web.js +++ b/packages/core/src/platform/builtInMixins/proxyEventMixin.web.js @@ -18,12 +18,6 @@ export default function proxyEventMixin () { const originValue = valuePath.reduce((acc, cur) => acc[cur], $event.detail) const value = filterMethod ? (innerFilter[filterMethod] ? innerFilter[filterMethod](originValue) : typeof this[filterMethod] === 'function' && this[filterMethod]) : originValue setByPath(this, expr, value) - }, - __proxyEvent (e) { - const type = e.type - // 保持和微信一致 target 和 currentTarget 相同 - e.target = e.currentTarget - this.triggerEvent(type, {}, e) } } } diff --git a/packages/core/src/platform/export/index.web.js b/packages/core/src/platform/export/index.web.js index 048f06d82d..e0c3c4cd82 100644 --- a/packages/core/src/platform/export/index.web.js +++ b/packages/core/src/platform/export/index.web.js @@ -1,6 +1,6 @@ import { effectScope as vueEffectScope, - getCurrentScope as getCurrentVueScope, + getCurrentScope as vueGetCurrentScope, onScopeDispose } from 'vue' @@ -42,7 +42,7 @@ const fixEffectScope = (scope) => { } const effectScope = (detached) => fixEffectScope(vueEffectScope(detached)) -const getCurrentScope = () => fixEffectScope(getCurrentVueScope()) +const getCurrentScope = () => fixEffectScope(vueGetCurrentScope()) export { // effectScope diff --git a/packages/core/src/vuePlugin.js b/packages/core/src/vuePlugin.js index 758801cf64..9c580ee4ed 100644 --- a/packages/core/src/vuePlugin.js +++ b/packages/core/src/vuePlugin.js @@ -16,22 +16,17 @@ function collectDataset (attrs) { } export default function install (Vue) { - Vue.prototype.triggerEvent = function (eventName, eventDetail, e) { + Vue.prototype.triggerEvent = function (eventName, eventDetail) { let eventObj = {} - if (e) { - e.detail = Object.assign(e.detail, eventDetail) - eventObj = e - } else { - const dataset = collectDataset(this.$attrs) - const id = this.$attrs.id || '' - const timeStamp = +new Date() - eventObj = { - type: eventName, - timeStamp, - target: { id, dataset, targetDataset: dataset }, - currentTarget: { id, dataset }, - detail: eventDetail - } + const dataset = collectDataset(this.$attrs) + const id = this.$attrs.id || '' + const timeStamp = +new Date() + eventObj = { + type: eventName, + timeStamp, + target: { id, dataset, targetDataset: dataset }, + currentTarget: { id, dataset }, + detail: eventDetail } return this.$emit(eventName, eventObj) } diff --git a/packages/webpack-plugin/lib/index.js b/packages/webpack-plugin/lib/index.js index 8d019cb710..5ab77c7912 100644 --- a/packages/webpack-plugin/lib/index.js +++ b/packages/webpack-plugin/lib/index.js @@ -173,12 +173,6 @@ class MpxWebpackPlugin { options.retryRequireAsync = options.retryRequireAsync || false options.enableAliRequireAsync = options.enableAliRequireAsync || false options.optimizeSize = options.optimizeSize || false - let proxyComponentEventsRules = [] - const proxyComponentEventsRulesRaw = options.proxyComponentEventsRules - if (proxyComponentEventsRulesRaw) { - proxyComponentEventsRules = Array.isArray(proxyComponentEventsRulesRaw) ? proxyComponentEventsRulesRaw : [proxyComponentEventsRulesRaw] - } - options.proxyComponentEventsRules = proxyComponentEventsRules this.options = options // Hack for buildDependencies const rawResolveBuildDependencies = FileSystemInfo.prototype.resolveBuildDependencies @@ -646,7 +640,6 @@ class MpxWebpackPlugin { enableRequireAsync: this.options.mode === 'wx' || (this.options.mode === 'ali' && this.options.enableAliRequireAsync), partialCompile: this.options.partialCompile, asyncSubpackageRules: this.options.asyncSubpackageRules, - proxyComponentEventsRules: this.options.proxyComponentEventsRules, pathHash: (resourcePath) => { if (this.options.pathHashMode === 'relative' && this.options.projectRoot) { return hash(path.relative(this.options.projectRoot, resourcePath)) diff --git a/packages/webpack-plugin/lib/runtime/components/web/mpx-video.vue b/packages/webpack-plugin/lib/runtime/components/web/mpx-video.vue index c9bf40d34b..2b9359f108 100755 --- a/packages/webpack-plugin/lib/runtime/components/web/mpx-video.vue +++ b/packages/webpack-plugin/lib/runtime/components/web/mpx-video.vue @@ -1,20 +1,14 @@ - - + + + + .mpx-no-show_mute_btn + .vjs-mute-control + display none !important + diff --git a/packages/webpack-plugin/lib/runtime/components/web/mpx-web-view.vue b/packages/webpack-plugin/lib/runtime/components/web/mpx-web-view.vue index fca2f2d549..8737dab68c 100644 --- a/packages/webpack-plugin/lib/runtime/components/web/mpx-web-view.vue +++ b/packages/webpack-plugin/lib/runtime/components/web/mpx-web-view.vue @@ -1,5 +1,5 @@