From 101e0f463b4af2465214241b5a7d948dfa8737db Mon Sep 17 00:00:00 2001 From: rex Date: Wed, 11 Nov 2020 11:20:31 +0800 Subject: [PATCH] build(typings): use miniprogram-api-typings & update quickstart (#3746) fix #3699 --- docs/markdown/quickstart.md | 28 +++++++++---- example/project.config.json | 8 +--- package.json | 5 +-- packages/action-sheet/index.ts | 2 +- packages/area/index.ts | 7 ++-- packages/cell/index.ts | 2 +- packages/circle/canvas.ts | 4 +- packages/count-down/index.ts | 2 +- packages/definitions/weapp.ts | 59 --------------------------- packages/dropdown-item/index.ts | 2 +- packages/dropdown-menu/index.ts | 3 +- packages/field/index.ts | 23 +++++++---- packages/goods-action-button/index.ts | 3 +- packages/goods-action-icon/index.ts | 5 +-- packages/mixins/open-type.ts | 12 +++--- packages/mixins/touch.ts | 6 +-- packages/notice-bar/index.ts | 3 +- packages/notify/index.ts | 3 +- packages/picker-column/index.ts | 7 ++-- packages/picker/index.ts | 18 +------- packages/rate/index.ts | 5 +-- packages/search/index.ts | 11 +++-- packages/share-sheet/index.ts | 3 +- packages/slider/index.ts | 7 ++-- packages/stepper/index.ts | 11 +++-- packages/steps/index.ts | 3 +- packages/submit-bar/index.ts | 3 +- packages/swipe-cell/index.ts | 7 ++-- packages/tabs/index.ts | 9 ++-- packages/tree-select/index.ts | 7 ++-- tsconfig.json | 2 + yarn.lock | 10 ++--- 32 files changed, 103 insertions(+), 177 deletions(-) diff --git a/docs/markdown/quickstart.md b/docs/markdown/quickstart.md index 6be4746a..8be2c189 100644 --- a/docs/markdown/quickstart.md +++ b/docs/markdown/quickstart.md @@ -23,19 +23,20 @@ npm i vant-weapp -S --production ### 步骤二 修改 app.json -将 app.json 中的 `"style": "v2"` 去除,小程序的[新版基础组件](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#style)强行加上了许多样式,难以去除,不关闭将造成部分组件样式混乱。 +将 app.json 中的 `"style": "v2"` 去除,小程序的[新版基础组件](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#style)强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。 ### 步骤三 修改 project.config.json 开发者工具创建的项目,`miniprogramRoot` 默认为 `miniprogram`,`package.json` 在其外部,npm 构建无法正常工作。 -需要手动在 `project.config.json` 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置 +需要手动在 `project.config.json` 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。 ```json { ... "setting": { ... + "packNpmManually": true, "packNpmRelationList": [ { "packageJsonPath": "./package.json", @@ -48,15 +49,27 @@ npm i vant-weapp -S --production ### 步骤四 构建 npm 包 -打开微信开发者工具,点击 **工具 -> 构建 npm**,并勾选 **使用 npm 模块** 选项,构建完成后,即可引入组件 +打开微信开发者工具,点击 **工具 -> 构建 npm**,并勾选 **使用 npm 模块** 选项,构建完成后,即可引入组件。 -### 步骤三 修改 tsconfig.json +### 步骤五 typescript 支持 -如果你使用 typescript 开发小程序,需要在 `tsconfig.json` 中增加如下配置,防止 tsc 编译报错 +如果你使用 typescript 开发小程序,还需要做如下操作,以获得顺畅的开发体验。 -请将`path/to/node_modules/@vant/weapp`修改为项目的 `node_modules` 中 @vant/weapp 所在的目录 +#### 安装 miniprogram-api-typings + +```bash +# 通过 npm 安装 +npm i -D miniprogram-api-typings + +# 通过 yarn 安装 +yarn add -D miniprogram-api-typings +``` + +#### 在 tsconfig.json 中增加如下配置,以防止 tsc 编译报错。 + +请将`path/to/node_modules/@vant/weapp`修改为项目的 `node_modules` 中 @vant/weapp 所在的目录。 ```json { @@ -64,10 +77,11 @@ npm i vant-weapp -S --production "compilerOptions": { ... "baseUrl": ".", + "types": ["miniprogram-api-typings"], "paths": { "@vant/weapp/*": ["path/to/node_modules/@vant/weapp/dist/*"] }, - "lib": ["es6"] + "lib": ["ES6"] } } ``` diff --git a/example/project.config.json b/example/project.config.json index 6dc3dfad..db449356 100644 --- a/example/project.config.json +++ b/example/project.config.json @@ -33,7 +33,8 @@ "useCompilerModule": true, "userConfirmedUseCompilerModuleSwitch": false, "packNpmManually": false, - "packNpmRelationList": [] + "packNpmRelationList": [], + "minifyWXSS": true }, "compileType": "miniprogram", "cloudfunctionRoot": "functions/", @@ -48,26 +49,21 @@ "simulatorPluginLibVersion": {}, "condition": { "search": { - "current": -1, "list": [] }, "conversation": { - "current": -1, "list": [] }, "plugin": { - "current": -1, "list": [] }, "game": { "list": [] }, "gamePlugin": { - "current": -1, "list": [] }, "miniprogram": { - "current": 42, "list": [ { "id": -1, diff --git a/package.json b/package.json index 5e26c9c6..7b388212 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "less": "^3.9.0", "less-loader": "^7.0.0", "lint-staged": "^10.0.0", + "miniprogram-api-typings": "^3.1.6", "miniprogram-ci": "^1.0.27", "postcss": "^8.1.1", "postcss-loader": "^4.0.0", @@ -94,7 +95,5 @@ "ChromeAndroid >= 53", "iOS >= 8" ], - "dependencies": { - "@types/wechat-miniprogram": "^3.0.0" - } + "dependencies": {} } diff --git a/packages/action-sheet/index.ts b/packages/action-sheet/index.ts index 437257cd..a539e980 100644 --- a/packages/action-sheet/index.ts +++ b/packages/action-sheet/index.ts @@ -40,7 +40,7 @@ VantComponent({ }, methods: { - onSelect(event: WechatMiniprogram.TapEvent) { + onSelect(event: WechatMiniprogram.TouchEvent) { const { index } = event.currentTarget.dataset; const item = this.data.actions[index]; if (item && !item.disabled && !item.loading) { diff --git a/packages/area/index.ts b/packages/area/index.ts index 12ed3cd2..8d0e24bd 100644 --- a/packages/area/index.ts +++ b/packages/area/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { pickerProps } from '../picker/shared'; -import { Weapp } from 'definitions/weapp'; import { requestAnimationFrame } from '../common/utils'; type AreaItem = { @@ -70,11 +69,11 @@ VantComponent({ return this.picker; }, - onCancel(event: Weapp.Event) { + onCancel(event: WechatMiniprogram.CustomEvent) { this.emit('cancel', event.detail); }, - onConfirm(event: Weapp.Event) { + onConfirm(event: WechatMiniprogram.CustomEvent) { const { index } = event.detail; let { value } = event.detail; value = this.parseOutputValues(value); @@ -103,7 +102,7 @@ VantComponent({ }); }, - onChange(event: Weapp.Event) { + onChange(event: WechatMiniprogram.CustomEvent) { const { index, picker, value } = event.detail; this.code = value[index].code; this.setValues().then(() => { diff --git a/packages/cell/index.ts b/packages/cell/index.ts index 04e11039..7bac7270 100644 --- a/packages/cell/index.ts +++ b/packages/cell/index.ts @@ -34,7 +34,7 @@ VantComponent({ }, methods: { - onClick(event: WechatMiniprogram.TapEvent) { + onClick(event: WechatMiniprogram.TouchEvent) { this.$emit('click', event.detail); this.jumpLink(); }, diff --git a/packages/circle/canvas.ts b/packages/circle/canvas.ts index c82724a9..3276febc 100644 --- a/packages/circle/canvas.ts +++ b/packages/circle/canvas.ts @@ -1,8 +1,8 @@ type CanvasContext = WechatMiniprogram.CanvasContext; export function adaptor( - ctx: CanvasRenderingContext2D -): CanvasContext & CanvasRenderingContext2D { + ctx: CanvasContext & Record +): CanvasContext { // @ts-ignore return Object.assign(ctx, { setStrokeStyle(val) { diff --git a/packages/count-down/index.ts b/packages/count-down/index.ts index 8c1507f9..9460d6eb 100644 --- a/packages/count-down/index.ts +++ b/packages/count-down/index.ts @@ -1,7 +1,7 @@ import { VantComponent } from '../common/component'; import { isSameSecond, parseFormat, parseTimeData } from './utils'; -function simpleTick(fn: Function) { +function simpleTick(fn: WechatMiniprogram.SetTimeoutCompleteCallback) { return setTimeout(fn, 30); } diff --git a/packages/definitions/weapp.ts b/packages/definitions/weapp.ts index 214bf4af..1363e992 100644 --- a/packages/definitions/weapp.ts +++ b/packages/definitions/weapp.ts @@ -7,65 +7,6 @@ export namespace Weapp { }; } - interface Target { - id: string; - tagName: string; - dataset: { - [key: string]: any; - }; - } - - export interface Event { - /** - * 代表事件的类型。 - */ - type: string; - /** - * 页面打开到触发事件所经过的毫秒数。 - */ - timeStamp: number; - /** - * 触发事件的源组件。 - */ - target: Target; - /** - * 事件绑定的当前组件。 - */ - currentTarget: Target; - /** - * 额外的信息 - */ - detail: any; - } - - interface Touch { - /** - * 触摸点的标识符 - */ - identifier: number; - /** - * 距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y轴 - */ - pageX: number; - /** - * 距离文档左上角的距离,文档的左上角为原点 ,横向为X轴,纵向为Y轴 - */ - pageY: number; - /** - * 距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴 - */ - clientX: number; - /** - * 距离页面可显示区域(屏幕除去导航条)左上角距离,横向为X轴,纵向为Y轴 - */ - clientY: number; - } - - export interface TouchEvent extends Event { - touches: Array; - changedTouches: Array; - } - /** * relation定义,miniprogram-api-typings缺少this定义 */ diff --git a/packages/dropdown-item/index.ts b/packages/dropdown-item/index.ts index 32bcdaf6..b93bfd53 100644 --- a/packages/dropdown-item/index.ts +++ b/packages/dropdown-item/index.ts @@ -86,7 +86,7 @@ VantComponent({ this.setData({ showWrapper: false }); }, - onOptionTap(event: WechatMiniprogram.TapEvent) { + onOptionTap(event: WechatMiniprogram.TouchEvent) { const { option } = event.currentTarget.dataset; const { value } = (option as unknown) as Option; diff --git a/packages/dropdown-menu/index.ts b/packages/dropdown-menu/index.ts index 032194b1..a5cc262e 100644 --- a/packages/dropdown-menu/index.ts +++ b/packages/dropdown-menu/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { addUnit } from '../common/utils'; type TrivialInstance = WechatMiniprogram.Component.TrivialInstance; @@ -121,7 +120,7 @@ VantComponent({ ); }, - onTitleTap(event: Weapp.Event) { + onTitleTap(event: WechatMiniprogram.TouchEvent) { const { index } = event.currentTarget.dataset; const child = this.children[index]; diff --git a/packages/field/index.ts b/packages/field/index.ts index 9ecc3975..f7991443 100644 --- a/packages/field/index.ts +++ b/packages/field/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { commonProps, inputProps, textareaProps } from './props'; VantComponent({ @@ -59,7 +58,7 @@ VantComponent({ }, methods: { - onInput(event: Weapp.Event) { + onInput(event: WechatMiniprogram.Input | WechatMiniprogram.TextareaInput) { const { value = '' } = event.detail || {}; this.value = value; @@ -67,13 +66,17 @@ VantComponent({ this.emitChange(); }, - onFocus(event: Weapp.Event) { + onFocus( + event: WechatMiniprogram.InputFocus | WechatMiniprogram.TextareaFocus + ) { this.focused = true; this.setShowClear(); this.$emit('focus', event.detail); }, - onBlur(event: Weapp.Event) { + onBlur( + event: WechatMiniprogram.InputBlur | WechatMiniprogram.TextareaBlur + ) { this.focused = false; this.setShowClear(); this.$emit('blur', event.detail); @@ -94,7 +97,9 @@ VantComponent({ }); }, - onConfirm(event) { + onConfirm( + event: WechatMiniprogram.InputConfirm | WechatMiniprogram.TextareaConfirm + ) { const { value = '' } = event.detail || {}; this.value = value; this.setShowClear(); @@ -112,11 +117,15 @@ VantComponent({ this.emitChange(); }, - onLineChange(event) { + onLineChange(event: WechatMiniprogram.TextareaLineChange) { this.$emit('linechange', event.detail); }, - onKeyboardHeightChange(event) { + onKeyboardHeightChange( + event: + | WechatMiniprogram.InputKeyboardHeightChange + | WechatMiniprogram.TextareaKeyboardHeightChange + ) { this.$emit('keyboardheightchange', event.detail); }, diff --git a/packages/goods-action-button/index.ts b/packages/goods-action-button/index.ts index 21634001..517ff005 100644 --- a/packages/goods-action-button/index.ts +++ b/packages/goods-action-button/index.ts @@ -2,7 +2,6 @@ import { VantComponent } from '../common/component'; import { link } from '../mixins/link'; import { button } from '../mixins/button'; import { openType } from '../mixins/open-type'; -import { Weapp } from 'definitions/weapp'; VantComponent({ mixins: [link, button, openType], @@ -24,7 +23,7 @@ VantComponent({ }, methods: { - onClick(event: Weapp.Event) { + onClick(event: WechatMiniprogram.CustomEvent) { this.$emit('click', event.detail); this.jumpLink(); }, diff --git a/packages/goods-action-icon/index.ts b/packages/goods-action-icon/index.ts index c116f7c2..89dcfa9a 100644 --- a/packages/goods-action-icon/index.ts +++ b/packages/goods-action-icon/index.ts @@ -1,8 +1,7 @@ import { VantComponent } from '../common/component'; -import { link } from '../mixins/link'; import { button } from '../mixins/button'; +import { link } from '../mixins/link'; import { openType } from '../mixins/open-type'; -import { Weapp } from 'definitions/weapp'; VantComponent({ classes: ['icon-class', 'text-class'], @@ -19,7 +18,7 @@ VantComponent({ }, methods: { - onClick(event: Weapp.Event) { + onClick(event: WechatMiniprogram.CustomEvent) { this.$emit('click', event.detail); this.jumpLink(); }, diff --git a/packages/mixins/open-type.ts b/packages/mixins/open-type.ts index 007677a1..0c0fa510 100644 --- a/packages/mixins/open-type.ts +++ b/packages/mixins/open-type.ts @@ -6,27 +6,27 @@ export const openType = Behavior({ }, methods: { - bindGetUserInfo(event: WechatMiniprogram.TapEvent) { + bindGetUserInfo(event: WechatMiniprogram.ButtonGetUserInfo) { this.$emit('getuserinfo', event.detail); }, - bindContact(event: WechatMiniprogram.TapEvent) { + bindContact(event: WechatMiniprogram.ButtonContact) { this.$emit('contact', event.detail); }, - bindGetPhoneNumber(event: WechatMiniprogram.TapEvent) { + bindGetPhoneNumber(event: WechatMiniprogram.ButtonGetPhoneNumber) { this.$emit('getphonenumber', event.detail); }, - bindError(event: WechatMiniprogram.TapEvent) { + bindError(event: WechatMiniprogram.ButtonError) { this.$emit('error', event.detail); }, - bindLaunchApp(event: WechatMiniprogram.TapEvent) { + bindLaunchApp(event: WechatMiniprogram.ButtonLaunchApp) { this.$emit('launchapp', event.detail); }, - bindOpenSetting(event: WechatMiniprogram.TapEvent) { + bindOpenSetting(event: WechatMiniprogram.ButtonOpenSetting) { this.$emit('opensetting', event.detail); }, }, diff --git a/packages/mixins/touch.ts b/packages/mixins/touch.ts index 128106bb..022d6a0c 100644 --- a/packages/mixins/touch.ts +++ b/packages/mixins/touch.ts @@ -1,6 +1,4 @@ // @ts-nocheck -import { Weapp } from 'definitions/weapp'; - const MIN_DISTANCE = 10; function getDirection(x: number, y: number) { @@ -25,14 +23,14 @@ export const touch = Behavior({ this.offsetY = 0; }, - touchStart(event: Weapp.TouchEvent) { + touchStart(event: WechatMiniprogram.TouchEvent) { this.resetTouchStatus(); const touch = event.touches[0]; this.startX = touch.clientX; this.startY = touch.clientY; }, - touchMove(event: Weapp.TouchEvent) { + touchMove(event: WechatMiniprogram.TouchEvent) { const touch = event.touches[0]; this.deltaX = touch.clientX - this.startX; this.deltaY = touch.clientY - this.startY; diff --git a/packages/notice-bar/index.ts b/packages/notice-bar/index.ts index f741a0a3..85b0a9f8 100644 --- a/packages/notice-bar/index.ts +++ b/packages/notice-bar/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { getRect, requestAnimationFrame } from '../common/utils'; VantComponent({ @@ -137,7 +136,7 @@ VantComponent({ } }, - onClick(event: Weapp.Event) { + onClick(event: WechatMiniprogram.TouchEvent) { this.$emit('click', event); }, }, diff --git a/packages/notify/index.ts b/packages/notify/index.ts index bcac08b0..2179d4cd 100644 --- a/packages/notify/index.ts +++ b/packages/notify/index.ts @@ -1,4 +1,3 @@ -import { Weapp } from 'definitions/weapp'; import { VantComponent } from '../common/component'; import { WHITE } from '../common/color'; @@ -63,7 +62,7 @@ VantComponent({ wx.nextTick(onClose); }, - onTap(event: Weapp.Event) { + onTap(event: WechatMiniprogram.TouchEvent) { const { onClick } = this.data; if (onClick) { onClick(event.detail); diff --git a/packages/picker-column/index.ts b/packages/picker-column/index.ts index cba27d78..23e8e487 100644 --- a/packages/picker-column/index.ts +++ b/packages/picker-column/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { isObj, range } from '../common/utils'; -import { Weapp } from 'definitions/weapp'; const DEFAULT_DURATION = 200; @@ -50,7 +49,7 @@ VantComponent({ return this.data.options.length; }, - onTouchStart(event: Weapp.TouchEvent) { + onTouchStart(event: WechatMiniprogram.TouchEvent) { this.setData({ startY: event.touches[0].clientY, startOffset: this.data.offset, @@ -58,7 +57,7 @@ VantComponent({ }); }, - onTouchMove(event: Weapp.TouchEvent) { + onTouchMove(event: WechatMiniprogram.TouchEvent) { const { data } = this; const deltaY = event.touches[0].clientY - data.startY; this.setData({ @@ -84,7 +83,7 @@ VantComponent({ } }, - onClickItem(event: Weapp.Event) { + onClickItem(event: WechatMiniprogram.TouchEvent) { const { index } = event.currentTarget.dataset; this.setIndex(index, true); }, diff --git a/packages/picker/index.ts b/packages/picker/index.ts index 601c9f24..deeac83e 100644 --- a/packages/picker/index.ts +++ b/packages/picker/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { pickerProps } from './shared'; -import { Weapp } from 'definitions/weapp'; interface Column { values: object[]; @@ -54,22 +53,7 @@ VantComponent({ return Promise.all(stack); }, - emit(event: Weapp.Event) { - const { type } = event.currentTarget.dataset; - if (this.simple) { - this.$emit(type, { - value: this.getColumnValue(0), - index: this.getColumnIndex(0), - }); - } else { - this.$emit(type, { - value: this.getValues(), - index: this.getIndexes(), - }); - } - }, - - onChange(event: Weapp.Event) { + onChange(event: WechatMiniprogram.CustomEvent) { if (this.simple) { this.$emit('change', { picker: this, diff --git a/packages/rate/index.ts b/packages/rate/index.ts index bb5d106b..c3150e91 100644 --- a/packages/rate/index.ts +++ b/packages/rate/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { canIUseModel } from '../common/version'; VantComponent({ @@ -60,7 +59,7 @@ VantComponent({ }, methods: { - onSelect(event: Weapp.Event) { + onSelect(event: WechatMiniprogram.CustomEvent) { const { data } = this; const { score } = event.currentTarget.dataset; if (!data.disabled && !data.readonly) { @@ -77,7 +76,7 @@ VantComponent({ } }, - onTouchMove(event: Weapp.TouchEvent) { + onTouchMove(event: WechatMiniprogram.TouchEvent) { const { touchable } = this.data; if (!touchable) return; diff --git a/packages/search/index.ts b/packages/search/index.ts index 27f3c8cc..cd44e391 100644 --- a/packages/search/index.ts +++ b/packages/search/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { canIUseModel } from '../common/version'; VantComponent({ @@ -48,7 +47,7 @@ VantComponent({ }, methods: { - onChange(event: Weapp.Event) { + onChange(event: WechatMiniprogram.CustomEvent) { if (canIUseModel()) { this.setData({ value: event.detail }); } @@ -69,19 +68,19 @@ VantComponent({ }, 200); }, - onSearch(event) { + onSearch(event: WechatMiniprogram.CustomEvent) { this.$emit('search', event.detail); }, - onFocus(event) { + onFocus(event: WechatMiniprogram.CustomEvent) { this.$emit('focus', event.detail); }, - onBlur(event) { + onBlur(event: WechatMiniprogram.CustomEvent) { this.$emit('blur', event.detail); }, - onClear(event) { + onClear(event: WechatMiniprogram.CustomEvent) { this.$emit('clear', event.detail); }, }, diff --git a/packages/share-sheet/index.ts b/packages/share-sheet/index.ts index 5315c029..d7f2e47d 100644 --- a/packages/share-sheet/index.ts +++ b/packages/share-sheet/index.ts @@ -1,4 +1,3 @@ -import { Weapp } from 'definitions/weapp'; import { VantComponent } from '../common/component'; VantComponent({ @@ -50,7 +49,7 @@ VantComponent({ this.$emit('cancel'); }, - onSelect(event: Weapp.Event) { + onSelect(event: WechatMiniprogram.CustomEvent) { this.$emit('select', event.detail); }, diff --git a/packages/slider/index.ts b/packages/slider/index.ts index 99bd0970..e98ab77a 100644 --- a/packages/slider/index.ts +++ b/packages/slider/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { touch } from '../mixins/touch'; -import { Weapp } from 'definitions/weapp'; import { canIUseModel } from '../common/version'; VantComponent({ @@ -43,7 +42,7 @@ VantComponent({ }, methods: { - onTouchStart(event: Weapp.TouchEvent) { + onTouchStart(event: WechatMiniprogram.TouchEvent) { if (this.data.disabled) return; this.touchStart(event); @@ -51,7 +50,7 @@ VantComponent({ this.dragStatus = 'start'; }, - onTouchMove(event: Weapp.TouchEvent) { + onTouchMove(event: WechatMiniprogram.TouchEvent) { if (this.data.disabled) return; if (this.dragStatus === 'start') { @@ -79,7 +78,7 @@ VantComponent({ } }, - onClick(event: Weapp.TouchEvent) { + onClick(event: WechatMiniprogram.TouchEvent) { if (this.data.disabled) return; const { min } = this.data; diff --git a/packages/stepper/index.ts b/packages/stepper/index.ts index 0a646769..ad95ac72 100644 --- a/packages/stepper/index.ts +++ b/packages/stepper/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; import { isDef } from '../common/utils'; const LONG_PRESS_START_TIME = 600; @@ -107,11 +106,11 @@ VantComponent({ ); }, - onFocus(event: Weapp.Event) { + onFocus(event: WechatMiniprogram.InputFocus) { this.$emit('focus', event.detail); }, - onBlur(event: Weapp.Event) { + onBlur(event: WechatMiniprogram.InputBlur) { const value = this.format(event.detail.value); this.emitChange(value); this.$emit('blur', { @@ -147,7 +146,7 @@ VantComponent({ return value; }, - onInput(event: Weapp.Event) { + onInput(event: WechatMiniprogram.Input) { const { value = '' } = event.detail || {}; // allow input to be empty @@ -196,13 +195,13 @@ VantComponent({ }, LONG_PRESS_INTERVAL); }, - onTap(event: Weapp.Event) { + onTap(event: WechatMiniprogram.TouchEvent) { const { type } = event.currentTarget.dataset; this.type = type; this.onChange(); }, - onTouchStart(event: Weapp.Event) { + onTouchStart(event: WechatMiniprogram.TouchEvent) { if (!this.data.longPress) { return; } diff --git a/packages/steps/index.ts b/packages/steps/index.ts index 18eb26ca..6384299a 100644 --- a/packages/steps/index.ts +++ b/packages/steps/index.ts @@ -1,4 +1,3 @@ -import { Weapp } from 'definitions/weapp'; import { VantComponent } from '../common/component'; import { GREEN, GRAY_DARK } from '../common/color'; @@ -29,7 +28,7 @@ VantComponent({ }, methods: { - onClick(event: Weapp.Event) { + onClick(event: WechatMiniprogram.TouchEvent) { const { index } = event.currentTarget.dataset; this.$emit('click-step', index); }, diff --git a/packages/submit-bar/index.ts b/packages/submit-bar/index.ts index df172218..899145f6 100644 --- a/packages/submit-bar/index.ts +++ b/packages/submit-bar/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; VantComponent({ classes: ['bar-class', 'price-class', 'button-class'], @@ -56,7 +55,7 @@ VantComponent({ this.setData({ hasTip: typeof this.data.tip === 'string' }); }, - onSubmit(event: Weapp.Event) { + onSubmit(event: WechatMiniprogram.CustomEvent) { this.$emit('submit', event.detail); }, }, diff --git a/packages/swipe-cell/index.ts b/packages/swipe-cell/index.ts index b4b0bba8..8856dc21 100644 --- a/packages/swipe-cell/index.ts +++ b/packages/swipe-cell/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { touch } from '../mixins/touch'; -import { Weapp } from 'definitions/weapp'; import { range } from '../common/utils'; const THRESHOLD = 0.3; @@ -98,7 +97,7 @@ VantComponent({ this.setData({ catchMove: false }); }, - startDrag(event: Weapp.TouchEvent) { + startDrag(event: WechatMiniprogram.TouchEvent) { if (this.data.disabled) { return; } @@ -109,7 +108,7 @@ VantComponent({ noop() {}, - onDrag(event: Weapp.TouchEvent) { + onDrag(event: WechatMiniprogram.TouchEvent) { if (this.data.disabled) { return; } @@ -135,7 +134,7 @@ VantComponent({ this.swipeLeaveTransition(); }, - onClick(event: Weapp.Event) { + onClick(event: WechatMiniprogram.TouchEvent) { const { key: position = 'outside' } = event.currentTarget.dataset; this.$emit('click', position); diff --git a/packages/tabs/index.ts b/packages/tabs/index.ts index 427840ba..a2838527 100644 --- a/packages/tabs/index.ts +++ b/packages/tabs/index.ts @@ -1,6 +1,5 @@ import { VantComponent } from '../common/component'; import { touch } from '../mixins/touch'; -import { Weapp } from 'definitions/weapp'; import { getAllRect, getRect, isDef } from '../common/utils'; type TrivialInstance = WechatMiniprogram.Component.TrivialInstance; @@ -150,7 +149,7 @@ VantComponent({ }); }, - onTap(event: Weapp.Event) { + onTap(event: WechatMiniprogram.TouchEvent) { const { index } = event.currentTarget.dataset; const child = this.children[index]; @@ -274,17 +273,17 @@ VantComponent({ }); }, - onTouchScroll(event: Weapp.TouchEvent) { + onTouchScroll(event: WechatMiniprogram.CustomEvent) { this.$emit('scroll', event.detail); }, - onTouchStart(event: Weapp.TouchEvent) { + onTouchStart(event: WechatMiniprogram.TouchEvent) { if (!this.data.swipeable) return; this.touchStart(event); }, - onTouchMove(event: Weapp.TouchEvent) { + onTouchMove(event: WechatMiniprogram.TouchEvent) { if (!this.data.swipeable) return; this.touchMove(event); diff --git a/packages/tree-select/index.ts b/packages/tree-select/index.ts index 89b61abe..f02ea320 100644 --- a/packages/tree-select/index.ts +++ b/packages/tree-select/index.ts @@ -1,5 +1,4 @@ import { VantComponent } from '../common/component'; -import { Weapp } from 'definitions/weapp'; VantComponent({ classes: [ @@ -42,7 +41,7 @@ VantComponent({ methods: { // 当一个子项被选择时 - onSelectItem(event: Weapp.Event) { + onSelectItem(event: WechatMiniprogram.TouchEvent) { const { item } = event.currentTarget.dataset; const isArray = Array.isArray(this.data.activeId); // 判断有没有超出右侧选择的最大数 @@ -58,8 +57,8 @@ VantComponent({ }, // 当一个导航被点击时 - onClickNav(event: Weapp.Event) { - const index = event.detail; + onClickNav(event: WechatMiniprogram.CustomEvent) { + const index = (event.detail as unknown) as number; const item = this.data.items[index]; if (!item.disabled) { this.$emit('click-nav', { index }); diff --git a/tsconfig.json b/tsconfig.json index d55b0935..3c4b4b08 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,8 @@ "outDir": "dist", "baseUrl": ".", "strict": true, + "lib": ["ES6"], + "types": ["miniprogram-api-typings"], "paths": { "definitions/*": ["./packages/definitions/*"], "packages/*": ["./packages/*"] diff --git a/yarn.lock b/yarn.lock index 2d446295..86e5adc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1648,11 +1648,6 @@ "@types/webpack-sources" "*" source-map "^0.6.0" -"@types/wechat-miniprogram@^3.0.0": - version "3.0.0" - resolved "https://registry.npm.taobao.org/@types/wechat-miniprogram/download/@types/wechat-miniprogram-3.0.0.tgz#401d0bf4f437dd9463e8ca99209e4742302d1e54" - integrity sha1-QB0L9PQ33ZRj6MqZIJ5HQjAtHlQ= - "@typescript-eslint/eslint-plugin@^2.28.0": version "2.34.0" resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz?cache=0&sync_timestamp=1602523203775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" @@ -8086,6 +8081,11 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= +miniprogram-api-typings@^3.1.6: + version "3.1.6" + resolved "https://registry.npm.taobao.org/miniprogram-api-typings/download/miniprogram-api-typings-3.1.6.tgz?cache=0&sync_timestamp=1604494894079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminiprogram-api-typings%2Fdownload%2Fminiprogram-api-typings-3.1.6.tgz#d4fcb47d6dddc041205adbab9161010f459b9f33" + integrity sha1-1Py0fW3dwEEgWturkWEBD0WbnzM= + miniprogram-ci@^1.0.27: version "1.0.83" resolved "https://registry.npm.taobao.org/miniprogram-ci/download/miniprogram-ci-1.0.83.tgz#90bce4439e8f3d7ec278b32a76e0246e9fca66f8"