From c17bdb8627c77e74aefbdbd07c154596c798a02f Mon Sep 17 00:00:00 2001 From: limqhz <540344226@qq.com> Date: Wed, 4 Jan 2023 10:10:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E6=9D=BF=E4=BB=BB=E5=8A=A1=E6=B8=85?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++ components/divider/README.md | 57 ------------------ components/divider/divider.d.ts | 13 ---- components/divider/divider.js | 30 ---------- components/divider/divider.json | 3 - components/divider/divider.wxml | 11 ---- components/divider/divider.wxss | 100 ------------------------------- components/divider/props.d.ts | 3 - components/divider/props.js | 29 --------- components/divider/type.d.ts | 37 ------------ components/divider/type.js | 2 - pages/anniversary/index.js | 14 ++--- pages/anniversary/index.json | 3 +- pages/anniversary/index.wxml | 1 - pages/myself/account/index.js | 2 +- pages/task/taskDetail/index.js | 73 ++++++++++++++++++++++ pages/task/taskDetail/index.json | 9 +++ pages/task/taskDetail/index.wxml | 70 ++++++++++++++++++++++ pages/task/taskDetail/index.wxss | 17 ++++++ pages/task/taskView/index.wxml | 4 +- 20 files changed, 188 insertions(+), 298 deletions(-) create mode 100644 README.md delete mode 100644 components/divider/README.md delete mode 100644 components/divider/divider.d.ts delete mode 100644 components/divider/divider.js delete mode 100644 components/divider/divider.json delete mode 100644 components/divider/divider.wxml delete mode 100644 components/divider/divider.wxss delete mode 100644 components/divider/props.d.ts delete mode 100644 components/divider/props.js delete mode 100644 components/divider/type.d.ts delete mode 100644 components/divider/type.js create mode 100644 pages/task/taskDetail/index.js create mode 100644 pages/task/taskDetail/index.json create mode 100644 pages/task/taskDetail/index.wxml create mode 100644 pages/task/taskDetail/index.wxss diff --git a/README.md b/README.md new file mode 100644 index 0000000..22e4ce6 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +## 项目背景 + +该项目一个偶然的机会看到知乎todo清单哪个使用的评测,看到很多使用的痛点,于是就尝试自己开发一个看是否可用,纯是个人爱好,之前没有接触过微信小程序,但是还是有些前端和后端的基础的 +该项目使用微信原生的语言使用腾讯的开源的TDesign + +- [什么是TDesign?](https://tdesign.tencent.com/about/introduce) + +TDesign 是腾讯各业务团队在服务业务过程中沉淀的一套企业级设计体系。 diff --git a/components/divider/README.md b/components/divider/README.md deleted file mode 100644 index 4773659..0000000 --- a/components/divider/README.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Divider 分割符 -description: 用于分割、组织、细化有一定逻辑的组织元素内容和页面结构。 -spline: message -isComponent: true ---- - - -## 引入 - -全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。 - -```json -"usingComponents": { - "t-divider": "/components/divider/divider" -} -``` - -### 主题定制 - -CSS 变量名|说明 ---|-- ---td-divider-color | 分割线颜色 ---td-divider-content-color | 分割线文本颜色 - - -## 代码演示 - -### 基础分割符 - -分割符主要是由直线和文字组成,通过`slot`传入分割线文案或者其他自定义内容,通过`layout`控制分隔符是垂直还是横向,`line-color`属性可定义线条颜色 - - - -{{ base }} - -### 文字 + 直线 - -{{ text-line }} - -### 纯文字 + 分割 - -{{ text-only }} - -## API - -### Divider Props - -| 名称 | 类型 | 默认值 | 说明 | 必传 | -| ---------------- | ------------- | ---------- | ---------------------------------------------------------------------------------------------------- | ---- | -| align | String | center | 文本位置(仅在水平分割线有效)。可选项:left/right/center | N | -| content | String / Slot | - | 子元素 | N | -| dashed | Boolean | false | 是否虚线(仅在水平分割线有效) | N | -| external-classes | Array | - | 组件类名,分别用于设置 组件外层类名、分隔线类名 等。`['t-class', 't-class-line', 't-class-content']` | N | -| layout | String | horizontal | 分隔线类型有两种:水平和垂直。可选项:horizontal/vertical | N | -| line-color | String | - | 分隔线颜色 | N | -| theme | String | horizontal | 已废弃。请更为使用 `layout`。分隔线类型有两种:水平和垂直。可选项:horizontal/vertical | N | diff --git a/components/divider/divider.d.ts b/components/divider/divider.d.ts deleted file mode 100644 index f1cec01..0000000 --- a/components/divider/divider.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { SuperComponent } from '../common/src/index'; -export default class Divider extends SuperComponent { - externalClasses: string[]; - options: { - addGlobalClass: boolean; - multipleSlots: boolean; - }; - properties: import("./type").TdDividerProps; - data: { - prefix: string; - classPrefix: string; - }; -} diff --git a/components/divider/divider.js b/components/divider/divider.js deleted file mode 100644 index f8ff10f..0000000 --- a/components/divider/divider.js +++ /dev/null @@ -1,30 +0,0 @@ -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -import { SuperComponent, wxComponent } from '../common/src/index'; -import config from '../common/config'; -import props from './props'; -const { prefix } = config; -const name = `${prefix}-divider`; -let Divider = class Divider extends SuperComponent { - constructor() { - super(...arguments); - this.externalClasses = ['t-class', 't-class-content']; - this.options = { - addGlobalClass: true, - multipleSlots: true, - }; - this.properties = props; - this.data = { - prefix, - classPrefix: name, - }; - } -}; -Divider = __decorate([ - wxComponent() -], Divider); -export default Divider; diff --git a/components/divider/divider.json b/components/divider/divider.json deleted file mode 100644 index 467ce29..0000000 --- a/components/divider/divider.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "component": true -} diff --git a/components/divider/divider.wxml b/components/divider/divider.wxml deleted file mode 100644 index f4ed8a0..0000000 --- a/components/divider/divider.wxml +++ /dev/null @@ -1,11 +0,0 @@ - - - - {{content}} - - - - diff --git a/components/divider/divider.wxss b/components/divider/divider.wxss deleted file mode 100644 index 035b9e5..0000000 --- a/components/divider/divider.wxss +++ /dev/null @@ -1,100 +0,0 @@ -.t-float-left { - float: left; -} -.t-float-right { - float: right; -} -@keyframes tdesign-fade-out { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.hotspot-expanded.relative { - position: relative; -} -.hotspot-expanded::after { - content: ''; - display: block; - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - transform: scale(1.5); -} -page { - --td-divider-color: #e7e7e7; - --td-divider-content-color: rgba(0, 0, 0, 0.4); -} -.t-divider--horizontal { - display: flex; - align-items: center; - color: var(--td-divider-color); - border-color: var(--td-divider-color); - border-style: solid; - border-width: 0; - margin-top: 20rpx; - margin-bottom: 20rpx; -} -.t-divider--horizontal::before, -.t-divider--horizontal::after { - display: block; - flex: 1; - box-sizing: border-box; - border-color: inherit; - border-style: inherit; - border-width: 1rpx 0 0; -} -.t-divider--horizontal::before { - content: ''; -} -.t-divider--horizontal .t-divider__content:not(:empty) { - margin: 0 24rpx; -} -.t-divider--vertical { - display: flex; - flex-direction: column; - height: 1em; - margin: 0 16rpx; - color: var(--td-divider-color); - border-color: var(--td-divider-color); - border-style: solid; - border-width: 0; -} -.t-divider--vertical::before, -.t-divider--vertical::after { - content: ''; - display: block; - flex: 1; - box-sizing: border-box; - border-color: inherit; - border-style: inherit; - border-width: 0 1rpx 0 0; -} -.t-divider--vertical-center { - display: flex; - align-items: center; - height: 100%; -} -.t-divider--dashed { - border-style: dashed; -} -.t-divider__content { - font-size: 24rpx; - line-height: 40rpx; - color: var(--td-divider-content-color); -} -.t-divider--center::after, -.t-divider--left::after, -.t-divider--right::after { - content: ''; -} -.t-divider--left::before { - max-width: 60rpx; -} -.t-divider--right::after { - max-width: 60rpx; -} diff --git a/components/divider/props.d.ts b/components/divider/props.d.ts deleted file mode 100644 index 806aab2..0000000 --- a/components/divider/props.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { TdDividerProps } from './type'; -declare const props: TdDividerProps; -export default props; diff --git a/components/divider/props.js b/components/divider/props.js deleted file mode 100644 index 32a0a83..0000000 --- a/components/divider/props.js +++ /dev/null @@ -1,29 +0,0 @@ -const props = { - align: { - type: String, - value: 'center', - }, - content: { - type: String, - }, - dashed: { - type: Boolean, - value: false, - }, - externalClasses: { - type: Array, - }, - layout: { - type: String, - value: 'horizontal', - }, - lineColor: { - type: String, - value: '', - }, - theme: { - type: String, - value: 'horizontal', - }, -}; -export default props; diff --git a/components/divider/type.d.ts b/components/divider/type.d.ts deleted file mode 100644 index 1c39340..0000000 --- a/components/divider/type.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export interface TdDividerProps { - align?: { - type: StringConstructor; - value?: 'left' | 'right' | 'center'; - required?: boolean; - }; - content?: { - type: StringConstructor; - value?: string; - required?: boolean; - }; - dashed?: { - type: BooleanConstructor; - value?: boolean; - required?: boolean; - }; - externalClasses?: { - type: ArrayConstructor; - value?: ['t-class', 't-class-line', 't-class-content']; - required?: boolean; - }; - layout?: { - type: StringConstructor; - value?: 'horizontal' | 'vertical'; - required?: boolean; - }; - lineColor?: { - type: StringConstructor; - value?: string; - required?: boolean; - }; - theme?: { - type: StringConstructor; - value?: 'horizontal' | 'vertical'; - required?: boolean; - }; -} diff --git a/components/divider/type.js b/components/divider/type.js deleted file mode 100644 index 95da36c..0000000 --- a/components/divider/type.js +++ /dev/null @@ -1,2 +0,0 @@ -; -export {}; diff --git a/pages/anniversary/index.js b/pages/anniversary/index.js index bd87469..f024eba 100644 --- a/pages/anniversary/index.js +++ b/pages/anniversary/index.js @@ -3,13 +3,13 @@ Page({ aIconList: ['check-rectangle','star-filled','notification','circle'], dataEmpty: false, anniversaryList: [ - {'title':'老公的工作纪念日','type':'life','dateType':'农历','totalDay':88,'today':false,'date':'2018-12-28','repeat':'3','nextDate':'2022-12-28'}, - {'title':'结婚纪念日','type':'love','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, - {'title':'真正的操作的纪念日','type':'life','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, - {'title':'宝宝出生日期','type':'baby','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, - {'title':'王xx的生日','type':'birthday','dateType':'公历','totalDay':88,'today':false,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, - {'title':'天才的生日','type':'birthday','dateType':'公历','totalDay':88,'today':false,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, - {'title':'大家爱送到家我i的生日','type':'birthday','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2022-12-28'}, + {'title':'老公的工作纪念日','type':'life','dateType':'农历','totalDay':88,'today':false,'date':'2018-12-28','repeat':'3','nextDate':'2023-01-28'}, + {'title':'结婚纪念日','type':'love','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2023-12-28'}, + {'title':'真正的操作的纪念日','type':'life','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2023-02-28'}, + {'title':'宝宝出生日期','type':'baby','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2023-02-28'}, + {'title':'王xx的生日','type':'birthday','dateType':'公历','totalDay':88,'today':false,'date':'2017-12-28','repeat':'4','nextDate':'2023-02-28'}, + {'title':'天才的生日','type':'birthday','dateType':'公历','totalDay':88,'today':false,'date':'2017-12-28','repeat':'4','nextDate':'2023-02-28'}, + {'title':'大家爱送到家我i的生日','type':'birthday','dateType':'公历','totalDay':88,'today':true,'date':'2017-12-28','repeat':'4','nextDate':'2023-02-28'}, ], }, diff --git a/pages/anniversary/index.json b/pages/anniversary/index.json index 47fc6ae..888ce85 100644 --- a/pages/anniversary/index.json +++ b/pages/anniversary/index.json @@ -3,7 +3,6 @@ "foot-tab": "../foot-tab/foot-tab", "t-empty": "/components/empty/empty", "t-fab": "/components/fab/fab", - "t-countdown": "/components/countdown/index", - "t-divider": "/components/divider/divider" + "t-countdown": "/components/countdown/index" } } diff --git a/pages/anniversary/index.wxml b/pages/anniversary/index.wxml index 5d770a2..d5425e7 100644 --- a/pages/anniversary/index.wxml +++ b/pages/anniversary/index.wxml @@ -18,7 +18,6 @@ 今天{{item.repeat}}周年啦! - diff --git a/pages/myself/account/index.js b/pages/myself/account/index.js index 932f654..9505e42 100644 --- a/pages/myself/account/index.js +++ b/pages/myself/account/index.js @@ -22,7 +22,7 @@ Page({ exitLogin(){ wx.clearStorageSync(); - wx.reLaunch({url:"/pages/login/index"}) + git ({url:"/pages/login/index"}) } }); diff --git a/pages/task/taskDetail/index.js b/pages/task/taskDetail/index.js new file mode 100644 index 0000000..77524a5 --- /dev/null +++ b/pages/task/taskDetail/index.js @@ -0,0 +1,73 @@ +let taskId = ''; +Page({ + data: { + mode: '', + alertVisible: false, + completeVisible: false, + repeatVisible: false, + repeatKey: [ + { label: '每1天', value: '1' }, + { label: '工作日', value: '2' }, + { label: '每1周', value: '3' }, + { label: '每1月', value: '4' }, + { label: '每1年', value: '5' }, + ], + date: new Date('2021-12-23').getTime(), // 支持时间戳传入 + alertText: '', + completeText: '', + repeatText: '', + repeatValue: '', + // 指定选择区间起始值 + start: '2008-01-01 00:00:00', + end: '2040-12-31 23:59:59', + }, + onLoad: function (options) { + taskId = options.id; + }, + + showPicker(e) { + const { mode } = e?.currentTarget?.dataset; + this.setData({ + mode, + [`${mode}Visible`]: true, + }); + }, + hidePicker() { + const { mode } = this.data; + this.setData({ + [`${mode}Visible`]: false, + }); + }, + onConfirm(e) { + const { value } = e?.detail; + const { mode } = this.data; + + console.log('confim', value); + + this.setData({ + [mode]: value, + [`${mode}Text`]: value, + }); + + this.hidePicker(); + }, + + onPickerConfirm(e) { + const { label,value } = e?.detail; + this.setData({ + repeatText : label, + repeatValue: value + }); + this.hidePicker(); + }, + + submitTask() { + //TODO 新增或者修改 + console.log('保存成功') + wx.redirectTo({ + url: '../task/index' + }) + } + + +}); diff --git a/pages/task/taskDetail/index.json b/pages/task/taskDetail/index.json new file mode 100644 index 0000000..d0e8daf --- /dev/null +++ b/pages/task/taskDetail/index.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "t-date-time-picker": "/components/date-time-picker/date-time-picker", + "t-picker": "/components/picker/picker", + "t-picker-item": "/components/picker/picker-item", + "t-switch": "/components/switch/switch", + "t-button": "/components/button/button" + } +} diff --git a/pages/task/taskDetail/index.wxml b/pages/task/taskDetail/index.wxml new file mode 100644 index 0000000..4376f0d --- /dev/null +++ b/pages/task/taskDetail/index.wxml @@ -0,0 +1,70 @@ + + + + + +保存 + + + + + + diff --git a/pages/task/taskDetail/index.wxss b/pages/task/taskDetail/index.wxss new file mode 100644 index 0000000..c7c7789 --- /dev/null +++ b/pages/task/taskDetail/index.wxss @@ -0,0 +1,17 @@ +.pannel-item { + font-size: 32rpx; +} + +.pannel-item::after { + border: 0; +} + +.sub-text { + color: #000; + opacity: 0.9; +} + +.empty { + color: #000; + opacity: 0.32; +} diff --git a/pages/task/taskView/index.wxml b/pages/task/taskView/index.wxml index 17282a4..cf76223 100644 --- a/pages/task/taskView/index.wxml +++ b/pages/task/taskView/index.wxml @@ -1,4 +1,4 @@ - + -