diff --git a/App.vue b/App.vue index 37d64e9..8a02f6c 100644 --- a/App.vue +++ b/App.vue @@ -59,17 +59,12 @@ export default { } } catch (e) { /* ignore */ } }, - // 启动时检查登录与引导状态,决定跳转目标 + // 启动时检查引导状态,决定跳转目标 checkLaunchRoute() { const isFirst = uni.getStorageSync('is_first_launch') - const isLoggedIn = uni.getStorageSync('is_logged_in') - if (!isFirst || isFirst === 'true') { // 首次使用 → 引导页 uni.reLaunch({ url: '/pages/onboarding/onboarding' }) - } else if (!isLoggedIn || isLoggedIn !== 'true') { - // 未登录 → 登录页 - uni.reLaunch({ url: '/pages/login/login' }) } // 否则正常进入首页(index) } @@ -98,6 +93,7 @@ page { background-color: $bg-base; color: $text-primary; padding-bottom: env(safe-area-inset-bottom); + box-sizing: border-box; } .card { @@ -255,6 +251,35 @@ page { } } +/* 添加酒水按钮(Step 1 底部) */ +.btn-add-drink { + background: linear-gradient(135deg, $amber, $amber-deep); + color: $text-on-amber; + font-size: $fs-md; + font-weight: $fw-bold; + padding: $sp-md $sp-xl; + border-radius: $radius-full; + border: none; + text-align: center; + box-shadow: $shadow-amber; + transition: all $duration-fast $ease-out; + display: flex; + align-items: center; + justify-content: center; + + &:active { + transform: scale(0.97); + box-shadow: 0 4rpx 16rpx rgba(232, 168, 56, 0.2); + } + + &[disabled] { + background: transparent; + color: $text-tertiary; + border: 2rpx solid var(--border-subtle, rgba(255, 255, 255, 0.10)); + box-shadow: none; + } +} + .btn-text { background: none; border: none; diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index 5f675e1..f9cc112 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -4,9 +4,9 @@ "requires": true, "packages": { "node_modules/HaveADrink": { - "version": "1.0.2", - "resolved": "https://npm.wash-painting.cn/HaveADrink/-/HaveADrink-1.0.2.tgz", - "integrity": "sha512-rhcILwsr6F1SBK7z+C4HMemUHHd63pl5ggxHisky0ZDgCOL7bITf3TGgvoiqXRoAGe4qmV+4FT8E6oCbvD1PIg==", + "version": "1.0.3", + "resolved": "https://npm.wash-painting.cn/HaveADrink/-/HaveADrink-1.0.3.tgz", + "integrity": "sha512-Mp4WRwqFmrf9CQhlF+gdJQ4YGRZkrBSbcu1l+XF4nq5dZmrFW7iggzFH4XSIXewBME1svk+cMhN6vetZVVOA6Q==", "license": "ISC" } } diff --git a/node_modules/HaveADrink/README.md b/node_modules/HaveADrink/README.md index 9196d80..4b1a0f1 100644 --- a/node_modules/HaveADrink/README.md +++ b/node_modules/HaveADrink/README.md @@ -14,7 +14,7 @@ * 6. 社交模块 - 朋友圈动态、点赞 -**版本:** v1.0.2 +**版本:** v1.0.3 ## 安装 @@ -816,18 +816,12 @@ client.DeleteRecord(req).then(...).catch(...) #### 返回值 |名称|类型|说明| |:-|:-:|:-| -|data|`CalendarData`| 日历数据
| +|year|`number`| 年份
| +|month|`number`| 月份
| +|days|`Array`| 每天的打卡数据,null表示当天无记录
| -**CalendarData** -|名称|类型|说明| -|:-|:-|:-| -|year|`number`| 年份| -|month|`number`| 月份| -|days|`Array`| 每天的打卡数据,null表示当天无记录| - - **CalendarDayData** |名称|类型|说明| |:-|:-|:-| @@ -835,6 +829,57 @@ client.DeleteRecord(req).then(...).catch(...) |hasRecord|`boolean`| 是否有记录| |mode|`Mode`| 打卡模式| |standardCupsTotal|`number`| 标准杯总数| +|id|`string\|number`| 记录ID| +|drinks|`Array`| 酒水列表| +|food|`FoodInfo`| 配餐信息| +|feeling|`Feeling`| 感受| +|photos|`Array`| 照片URL数组| +|visibility|`Visibility`| 可见范围| +|quote|`string`| 酒言酒语| +|createdAt|`string`| 创建时间| + + +**Mode** +|名称|值|类型|说明| +|:-|:-:|:-|:-| +|Drank|"drank"|`Mode`|今日喝了| +|Abstain|"abstain"|`Mode`|今日未喝| + + +**DrinkItem** +|名称|类型|说明| +|:-|:-|:-| +|category|`Category`| 酒类分类ID| +|brand|`string`| 品牌名称| +|product|`string`| 产品名| +|amount|`number`| 饮用量数值| +|unit|`Unit`| 单位| +|degree|`number`| 酒精度数(%)| +|standardCups|`number`| 标准杯数(前端计算,后端应校验)| + + +**FoodInfo** +|名称|类型|说明| +|:-|:-|:-| +|category|`FoodCategory`| 配餐分类ID| +|name|`string`| 具体菜名| + + +**Feeling** +|名称|值|类型|说明| +|:-|:-:|:-|:-| +|Tipsy|"tipsy"|`Feeling`|微醺| +|Buzzed|"buzzed"|`Feeling`|到位| +|Drunk|"drunk"|`Feeling`|醉了| +|Blackout|"blackout"|`Feeling`|断片| + + +**Visibility** +|名称|值|类型|说明| +|:-|:-:|:-|:-| +|Public|"public"|`Visibility`|公开| +|Friends|"friends"|`Visibility`|仅好友| +|Private|"private"|`Visibility`|仅自己| diff --git a/node_modules/HaveADrink/index.d.ts b/node_modules/HaveADrink/index.d.ts index 9aa88e2..192ac28 100644 --- a/node_modules/HaveADrink/index.d.ts +++ b/node_modules/HaveADrink/index.d.ts @@ -1594,14 +1594,54 @@ export declare class CalendarDayData { * 标准杯总数 */ standardCupsTotal: number; + /** + * 记录ID + */ + id: string|number; + /** + * 酒水列表 + */ + drinks: Array; + /** + * 配餐信息 + */ + food: FoodInfo; + /** + * 感受 + */ + feeling: Feeling; + /** + * 照片URL数组 + */ + photos: Array; + /** + * 可见范围 + */ + visibility: Visibility; + /** + * 酒言酒语 + */ + quote: string; + /** + * 创建时间 + */ + createdAt: string; /** * @param date string 日期YYYY-MM-DD * @param hasRecord boolean 是否有记录 * @param mode Mode 打卡模式 * @param standardCupsTotal number 标准杯总数 + * @param id string|number 记录ID + * @param drinks Array 酒水列表 + * @param food FoodInfo 配餐信息 + * @param feeling Feeling 感受 + * @param photos Array 照片URL数组 + * @param visibility Visibility 可见范围 + * @param quote string 酒言酒语 + * @param createdAt string 创建时间 */ - constructor(date: string,hasRecord: boolean,mode: Mode,standardCupsTotal: number,); + constructor(date: string,hasRecord: boolean,mode: Mode,standardCupsTotal: number,id: string|number,drinks: Array,food: FoodInfo,feeling: Feeling,photos: Array,visibility: Visibility,quote: string,createdAt: string,); /** * 从对象创建 CalendarDayData * @@ -1610,6 +1650,14 @@ export declare class CalendarDayData { * - hasRecord: boolean, // 是否有记录 * - mode: Mode, // 打卡模式 * - standardCupsTotal: number, // 标准杯总数 + * - id: string|number, // 记录ID + * - drinks: Array, // 酒水列表 + * - food: FoodInfo, // 配餐信息 + * - feeling: Feeling, // 感受 + * - photos: Array, // 照片URL数组 + * - visibility: Visibility, // 可见范围 + * - quote: string, // 酒言酒语 + * - createdAt: string, // 创建时间 */ static fromObject(o: Object): CalendarDayData; } @@ -1620,19 +1668,31 @@ export declare class CalendarDayData { export declare class GetCalendarResp { [key: string]: any; /** - * 日历数据 + * 年份 */ - data: CalendarData; + year: number; + /** + * 月份 + */ + month: number; + /** + * 每天的打卡数据,null表示当天无记录 + */ + days: Array; /** - * @param data CalendarData 日历数据 + * @param year number 年份 + * @param month number 月份 + * @param days Array 每天的打卡数据,null表示当天无记录 */ - constructor(data: CalendarData,); + constructor(year: number,month: number,days: Array,); /** * 从对象创建 GetCalendarResp * * @param o Object - * - data: CalendarData, // 日历数据 + * - year: number, // 年份 + * - month: number, // 月份 + * - days: Array, // 每天的打卡数据,null表示当天无记录 */ static fromObject(o: Object): GetCalendarResp; } diff --git a/node_modules/HaveADrink/index.js b/node_modules/HaveADrink/index.js index 6202c4b..d130d35 100644 --- a/node_modules/HaveADrink/index.js +++ b/node_modules/HaveADrink/index.js @@ -1165,16 +1165,32 @@ export class CalendarDayData { * @param hasRecord: boolean 是否有记录 * @param mode: Mode 打卡模式 * @param standardCupsTotal: number 标准杯总数 + * @param id: string|number 记录ID + * @param drinks: Array 酒水列表 + * @param food: FoodInfo 配餐信息 + * @param feeling: Feeling 感受 + * @param photos: Array 照片URL数组 + * @param visibility: Visibility 可见范围 + * @param quote: string 酒言酒语 + * @param createdAt: string 创建时间 */ - constructor(date,hasRecord,mode,standardCupsTotal,) { + constructor(date,hasRecord,mode,standardCupsTotal,id,drinks,food,feeling,photos,visibility,quote,createdAt,) { this.date = date; this.hasRecord = hasRecord; this.mode = mode; this.standardCupsTotal = standardCupsTotal; + this.id = id; + this.drinks = drinks; + this.food = food; + this.feeling = feeling; + this.photos = photos; + this.visibility = visibility; + this.quote = quote; + this.createdAt = createdAt; } static fromObject(o) { - return new CalendarDayData(o.date,o.hasRecord,o.mode,o.standardCupsTotal,); + return new CalendarDayData(o.date,o.hasRecord,o.mode,o.standardCupsTotal,o.id,o.drinks,o.food,o.feeling,o.photos,o.visibility,o.quote,o.createdAt,); } } @@ -1183,14 +1199,18 @@ export class CalendarDayData { */ export class GetCalendarResp { /** - * @param data: CalendarData 日历数据 + * @param year: number 年份 + * @param month: number 月份 + * @param days: Array 每天的打卡数据,null表示当天无记录 */ - constructor(data,) { - this.data = data; + constructor(year,month,days,) { + this.year = year; + this.month = month; + this.days = days; } static fromObject(o) { - return new GetCalendarResp(o.data,); + return new GetCalendarResp(o.year,o.month,o.days,); } } diff --git a/node_modules/HaveADrink/package.json b/node_modules/HaveADrink/package.json index 7e8edbe..39e6d7d 100644 --- a/node_modules/HaveADrink/package.json +++ b/node_modules/HaveADrink/package.json @@ -1,7 +1,7 @@ { "name": "HaveADrink", "type": "module", - "version": "v1.0.2", + "version": "v1.0.3", "description": "喝酒了么 API 服务", "main": "index.js", "scripts": { diff --git a/package-lock.json b/package-lock.json index a114846..a39a457 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,13 +5,13 @@ "packages": { "": { "dependencies": { - "HaveADrink": "^1.0.2" + "HaveADrink": "^1.0.3" } }, "node_modules/HaveADrink": { - "version": "1.0.2", - "resolved": "https://npm.wash-painting.cn/HaveADrink/-/HaveADrink-1.0.2.tgz", - "integrity": "sha512-rhcILwsr6F1SBK7z+C4HMemUHHd63pl5ggxHisky0ZDgCOL7bITf3TGgvoiqXRoAGe4qmV+4FT8E6oCbvD1PIg==", + "version": "1.0.3", + "resolved": "https://npm.wash-painting.cn/HaveADrink/-/HaveADrink-1.0.3.tgz", + "integrity": "sha512-Mp4WRwqFmrf9CQhlF+gdJQ4YGRZkrBSbcu1l+XF4nq5dZmrFW7iggzFH4XSIXewBME1svk+cMhN6vetZVVOA6Q==", "license": "ISC" } } diff --git a/package.json b/package.json index 1771a26..d37c6c3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "HaveADrink": "^1.0.2" + "HaveADrink": "^1.0.3" } } diff --git a/pages/card/card.vue b/pages/card/card.vue index 8cd1f74..f39514f 100644 --- a/pages/card/card.vue +++ b/pages/card/card.vue @@ -1,6 +1,6 @@