diff --git a/docs/frame.md b/docs/frame.md index 9144071656e04a587a33e236744b9fe17f34ff0c..943ab3b2d398a14fd3c5209720e5a4ba4fac9035 100644 --- a/docs/frame.md +++ b/docs/frame.md @@ -1207,7 +1207,8 @@ uni-app 2.5.5+ 在 [WXS](?id=wxs) 的基础上扩展了 renderjs,以 vue 组 * view 层和 service 层通讯方式与 [WXS](?id=wxs) 一致 * 观测更新的数据在 view 层可以直接访问到 * 不要直接引用大型类库,推荐通过动态创建 script 方式引用 -* view 层的页面引用资源的路径相对于根目录计算,例如:./static/test.js +* view 层的页面引用资源的路径相对于根目录计算,例如:./static/test.js +* 目前仅支持内联使用 ## 致谢 diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js index c5f4e9499aa7879ed8532babd1e8b48d21678f24..abac05b3d888733b2b3d4055352e59e8991d9d6e 100644 --- a/packages/uni-app-plus/dist/index.v3.js +++ b/packages/uni-app-plus/dist/index.v3.js @@ -2328,7 +2328,7 @@ var serviceContext = (function () { } else if (res.errMsg.indexOf(':cancel') !== -1) { res.errMsg = apiName + ':cancel'; } else if (res.errMsg.indexOf(':fail') !== -1) { - res.errMsg = apiName + ':fail'; + res.errMsg = apiName + ':fail' + res.errMsg.substr(res.errMsg.indexOf(' ')); } const errMsg = res.errMsg; @@ -6275,7 +6275,7 @@ var serviceContext = (function () { requestTaskId, state: 'fail', statusCode, - errMsg: 'abort' + errMsg: 'abort statusCode:' + statusCode }); } }); diff --git a/packages/uni-app-plus/dist/service.runtime.esm.js b/packages/uni-app-plus/dist/service.runtime.esm.js index 556e2cd3535c6a62806dede91f9ace99f643259a..569e529b581e66e9ccc6971db5419190f5c7a04c 100644 --- a/packages/uni-app-plus/dist/service.runtime.esm.js +++ b/packages/uni-app-plus/dist/service.runtime.esm.js @@ -6693,7 +6693,12 @@ function parseDataset(attrs) { var dataset = Object.create(null); Object.keys(attrs).forEach(function (name) { if (name.indexOf('data-') === 0) { - dataset[camelize(name.replace('data-', ''))] = JSON.parse(attrs[name]); + var camelizeName = camelize(name.replace('data-', '')); + try { + dataset[camelizeName] = JSON.parse(attrs[name]); + } catch (e) { + dataset[camelizeName] = attrs[name]; + } } }); return dataset diff --git a/packages/uni-cli-shared/lib/platform.js b/packages/uni-cli-shared/lib/platform.js index 63d972149f0159bdfca1791009770d8bee176bc7..45698b7652968ad1b993875ae15473f4d667af74 100644 --- a/packages/uni-cli-shared/lib/platform.js +++ b/packages/uni-cli-shared/lib/platform.js @@ -566,7 +566,8 @@ module.exports = { orderedValues: false, mergeLonghand: false, mergeRules: false, - cssDeclarationSorter: false, + cssDeclarationSorter: false, + uniqueSelectors: false, // 标签排序影响头条小程序 discardComments: false, discardDuplicates: false // 条件编译会导致重复 } diff --git a/packages/webpack-uni-mp-loader/lib/plugin/generate-json.js b/packages/webpack-uni-mp-loader/lib/plugin/generate-json.js index d5816c5e977ea77c681c0142627133beb48fc0f0..f7193fce7d89fee3ab729d1de3a58e5b31c502da 100644 --- a/packages/webpack-uni-mp-loader/lib/plugin/generate-json.js +++ b/packages/webpack-uni-mp-loader/lib/plugin/generate-json.js @@ -92,7 +92,7 @@ module.exports = function generateJson (compilation) { for (let name of jsonFileMap.keys()) { const jsonObj = JSON.parse(jsonFileMap.get(name)) if (process.env.UNI_PLATFORM === 'app-plus') { // App平台默认增加usingComponents,激活__wxAppCode__ - jsonObj.usingComponents = {} + jsonObj.usingComponents = jsonObj.usingComponents || {} } // customUsingComponents if (jsonObj.customUsingComponents && Object.keys(jsonObj.customUsingComponents).length) { @@ -187,4 +187,4 @@ module.exports = function generateJson (compilation) { require('@dcloudio/uni-cli-shared/lib/cache').store() }, 50) } -} +} diff --git a/src/core/helpers/api.js b/src/core/helpers/api.js index 0c0e7fba12084183e745f886461bf324cb24ec40..9b7a2a8b2afbdcc8d64f28e1ac8e242198170a10 100644 --- a/src/core/helpers/api.js +++ b/src/core/helpers/api.js @@ -164,7 +164,7 @@ function createApiCallback (apiName, params = {}, extras = {}) { } else if (res.errMsg.indexOf(':cancel') !== -1) { res.errMsg = apiName + ':cancel' } else if (res.errMsg.indexOf(':fail') !== -1) { - res.errMsg = apiName + ':fail' + res.errMsg = apiName + ':fail' + res.errMsg.substr(res.errMsg.indexOf(' ')) } const errMsg = res.errMsg diff --git a/src/core/view/components/input/index.vue b/src/core/view/components/input/index.vue index c3a27a73ea0300cb39441c2373125e8fbab15c89..89a9cef92bca9a64a3327804c9ed21b0c5035372 100644 --- a/src/core/view/components/input/index.vue +++ b/src/core/view/components/input/index.vue @@ -282,10 +282,12 @@ uni-input[hidden] { .uni-input-wrapper, .uni-input-form { - display: block; + display: flex; position: relative; width: 100%; height: 100%; + flex-direction: column; + justify-content: center; } .uni-input-placeholder, @@ -295,15 +297,15 @@ uni-input[hidden] { .uni-input-placeholder { position: absolute; - top: 50%; + top: auto !important; left: 0; - transform: translateY(-50%); color: gray; overflow: hidden; text-overflow: clip; white-space: pre; word-break: keep-all; pointer-events: none; + line-height: inherit; } .uni-input-input { diff --git a/src/platforms/app-plus/service/api/network/request.js b/src/platforms/app-plus/service/api/network/request.js index 7e3936a2bc704464b94ce3fa40e4b6a098dc2812..4aa4c1369a76b795173fc976636a18d617be1ffd 100644 --- a/src/platforms/app-plus/service/api/network/request.js +++ b/src/platforms/app-plus/service/api/network/request.js @@ -102,7 +102,7 @@ export function createRequestTaskById (requestTaskId, { requestTaskId, state: 'fail', statusCode, - errMsg: 'abort' + errMsg: 'abort statusCode:' + statusCode }) } }) diff --git a/src/platforms/app-plus/view/components/ad/index.vue b/src/platforms/app-plus/view/components/ad/index.vue index 02ae7b54725faf49db035ef756a8df8ec36a90b1..b8ed9fee4f105c2b1b3a108f4d5e4a17d3185e36 100644 --- a/src/platforms/app-plus/view/components/ad/index.vue +++ b/src/platforms/app-plus/view/components/ad/index.vue @@ -13,6 +13,35 @@ import { } from 'uni-mixins' import native from '../../mixins/native' +const _adDataCache = {} +function getAdData (adpid, adWidth, onsuccess, onerror) { + const key = adpid + '-' + adWidth + const adDataList = _adDataCache[key] + if (adDataList && adDataList.length > 0) { + onsuccess(adDataList.splice(0, 1)[0]) + return + } + + plus.ad.getAds( + { + adpid: adpid, + count: 10, + width: adWidth + }, + (res) => { + const list = res.ads + onsuccess(list.splice(0, 1)[0]) + _adDataCache[key] = adDataList ? adDataList.concat(list) : list + }, + (err) => { + onerror({ + errCode: err.code, + errMsg: err.message + }) + } + ) +} + const methods = [ 'draw' ] @@ -135,19 +164,10 @@ export default { } }, _loadData (adpid) { - plus.ad.getAds({ - adpid: adpid || this.adpid, - count: 1, - width: this.position.width - }, - (res) => { - this._fillData(res.ads[0]) - }, - (err) => { - this.$trigger('error', {}, { - errCode: err.code, - errMsg: err.message - }) + getAdData(adpid || this.adpid, this.position.width, (data) => { + this._fillData(data) + }, (err) => { + this.$trigger('error', err) }) }, _fillData (data) {