feat(app): 项目重命名为干杯日记并优化UI设计

- 将应用名称从"喝了么"更改为"干杯日记"
- 更新所有相关文件中的品牌标识和描述信息
- 升级HaveADrink依赖包从1.0.3到1.0.4版本
- 在pages.json中新增分享个人资料页面配置
- 重构DrinkCard组件UI,增加装饰背景、酒类图标支持、饮酒感受徽章等功能
- 优化API错误处理逻辑,增加静默模式支持
- 修改白酒类别图标为 urn emoji,黄酒图标为 tea emoji
- 添加分享功能按钮并优化页面返回交互体验
- 引入新的工具函数用于获取酒类图标和路径判断
- 更新主题混入、常量定义等基础配置文件
- 调整全局样式和设计令牌以匹配新品牌形象
This commit is contained in:
cg
2026-07-20 22:12:27 +08:00
parent adf6b684b9
commit 9f5c69e1e5
25 changed files with 2333 additions and 571 deletions
+22 -11
View File
@@ -1,4 +1,4 @@
/* 喝了么 - API 服务层
/* 干杯日记 - API 服务层
* 基于 HaveADrink SDK 封装后端接口
*/
import HaveADrink from 'HaveADrink'
@@ -13,6 +13,8 @@ const API_HOST = 'https://dev.wash-painting.cn'
// 参考 goodBooth 项目的 fetchsomething
// ==========================================
function httpRequest(url, params) {
// 支持静默模式(如后台刷新token),不弹 toast 不跳转
const silent = params.silent === true
return new Promise((resolve, reject) => {
// 自动注入 Authorization token
const headers = Object.assign({}, params.headers || {})
@@ -31,23 +33,31 @@ function httpRequest(url, params) {
const code = res.statusCode
if (code === 200 || code === 201 || code === 204) {
resolve(res.data)
} else if (code === 401) {
// token 过期,清除登录态并跳转登录页
} else if (code === 401 || code === 418) {
// token/refresh_token 过期或无效,清除登录态
uni.removeStorageSync('auth_token')
uni.removeStorageSync('refresh_token')
uni.removeStorageSync('is_logged_in')
uni.reLaunch({ url: '/pages/login/login' })
reject({ msg: '登录已过期,请重新登录' })
if (!silent) {
uni.reLaunch({ url: '/pages/login/login' })
uni.showToast({ title: '登录已过期,请重新登录', icon: 'none', duration: 2500 })
}
reject({ msg: '登录已过期,请重新登录', code })
} else {
const rawMsg = (res.data && res.data.msg) || (res.data && res.data.errmsg) || '请求失败'
const errMsg = `[${code}] ${rawMsg}`
uni.showToast({ title: errMsg, icon: 'none', duration: 2500 })
if (!silent) {
uni.showToast({ title: errMsg, icon: 'none', duration: 2500 })
}
reject({ msg: errMsg, code })
}
},
fail: (err) => {
uni.showToast({ title: err.errMsg || '网络请求失败', icon: 'none', duration: 2500 })
reject({ msg: err.errMsg || '网络请求失败' })
const msg = (err && err.errMsg) || '网络请求失败'
if (!silent) {
uni.showToast({ title: msg, icon: 'none', duration: 2500 })
}
reject({ msg })
}
})
})
@@ -127,19 +137,20 @@ export function clearAuth() {
client.setToken('')
}
/** 尝试用 refresh_token 刷新 token */
/** 尝试用 refresh_token 刷新 token(静默,不弹提示不跳转) */
export async function refreshAuthToken() {
const refreshToken = uni.getStorageSync('refresh_token')
if (!refreshToken) return false
try {
const res = await client.RefreshToken({ refresh_token: refreshToken })
const res = await client.RefreshToken({ refresh_token: refreshToken, silent: true })
if (res && res.token) {
saveAuthTokens(res)
return true
}
return false
} catch (e) {
console.warn('刷新 token 失败:', e)
// 静默失败:refresh token 无效时清除残留凭证
uni.removeStorageSync('refresh_token')
return false
}
}