feat(api): 升级 HaveADrink 依赖并实现用户头像上传功能

- 将 HaveADrink 依赖从 1.0.15 升级至 1.0.16 版本
- 新增 UpdateUserAvatar API 接口用于更新用户头像
- 添加 isValidAvatar 工具函数验证头像 URL 有效性
- 在登录流程中集成头像上传逻辑,支持微信头像选择
- 更新多个组件中的头像显示逻辑,过滤无效头像地址
- 优化 tabBar 主题应用逻辑,修复异步错误处理问题
- 修复微信新规范下头像选择的临时路径处理机制
This commit is contained in:
cg
2026-08-16 22:19:10 +08:00
parent 81e7a3afa5
commit 019262289c
15 changed files with 269 additions and 39 deletions
+30 -1
View File
@@ -14,7 +14,7 @@
* 6. 社交模块 - 朋友圈动态、点赞
**版本:** v1.0.15
**版本:** v1.0.16
## 安装
@@ -355,6 +355,7 @@ client.GetFeed(req).then(...).catch(...)
### 上传照片
**已废弃:** 请使用 upload.api 上传照片
<font color="green">POST</font> `/api/have_a_drink/v1/photo/upload/photo`
@@ -382,6 +383,7 @@ client.UploadPhoto(req).then(...).catch(...)
### 批量上传照片
**已废弃:** 请使用 upload.api 批量上传照片
<font color="green">POST</font> `/api/have_a_drink/v1/photo/upload/photos`
@@ -1144,6 +1146,33 @@ const req = new GetUserBasicInfoReq()
client.GetUserBasicInfo(req).then(...).catch(...)
```
### 更新用户头像
<font color="green">PUT</font> `/api/have_a_drink/v1/user/user/avatar`
#### 请求参数
|名称|类型|校验规则|说明|
|:-|:-|:-|:-|
|avatar|`string`|| 头像URL|
#### 返回值
|名称|类型|说明|
|:-|:-:|:-|
|ok|`boolean`| 是否成功<br>|
```javascript
const req = new UpdateUserAvatarReq()
client.UpdateUserAvatar(req).then(...).catch(...)
```
### 上传文件
+56
View File
@@ -2573,6 +2573,52 @@ export declare class GetUserBasicInfoResp {
static fromObject(o: Object): GetUserBasicInfoResp;
}
/**
*
*/
export declare class UpdateUserAvatarReq {
[key: string]: any;
/**
* 头像URL
*/
avatar: string;
/**
* @param avatar string 头像URL
*/
constructor(avatar: string,);
/**
* 从对象创建 UpdateUserAvatarReq
*
* @param o Object
* - avatar: string, // 头像URL
*/
static fromObject(o: Object): UpdateUserAvatarReq;
}
/**
*
*/
export declare class UpdateUserAvatarResp {
[key: string]: any;
/**
* 是否成功
*/
ok: boolean;
/**
* @param ok boolean 是否成功
*/
constructor(ok: boolean,);
/**
* 从对象创建 UpdateUserAvatarResp
*
* @param o Object
* - ok: boolean, // 是否成功
*/
static fromObject(o: Object): UpdateUserAvatarResp;
}
/**
* 上传图片参数
*/
@@ -5118,6 +5164,7 @@ export default class HaveADrink {
/**
* 上传照片
*
* @deprecated 请使用 upload.api 上传照片
* @param req UploadPhotoReq 上传照片请求
* @return UploadPhotoResp 上传照片响应
*/
@@ -5126,6 +5173,7 @@ export default class HaveADrink {
/**
* 批量上传照片
*
* @deprecated 请使用 upload.api 批量上传照片
* @param req UploadPhotosReq 批量上传照片请求
* @return UploadPhotosResp 批量上传照片响应
*/
@@ -5219,6 +5267,14 @@ export default class HaveADrink {
*/
public GetUserBasicInfo(req: GetUserBasicInfoReq) : Promise<GetUserBasicInfoResp>;
/**
* 更新用户头像
*
* @param req UpdateUserAvatarReq
* @return UpdateUserAvatarResp
*/
public UpdateUserAvatar(req: UpdateUserAvatarReq) : Promise<UpdateUserAvatarResp>;
/**
* 上传文件
*
+64
View File
@@ -1864,6 +1864,38 @@ export class GetUserBasicInfoResp {
}
}
/**
*
*/
export class UpdateUserAvatarReq {
/**
* @param avatar: string 头像URL
*/
constructor(avatar,) {
this.avatar = avatar;
}
static fromObject(o) {
return new UpdateUserAvatarReq(o.avatar,);
}
}
/**
*
*/
export class UpdateUserAvatarResp {
/**
* @param ok: boolean 是否成功
*/
constructor(ok,) {
this.ok = ok;
}
static fromObject(o) {
return new UpdateUserAvatarResp(o.ok,);
}
}
/**
* 上传图片参数
*/
@@ -4152,6 +4184,38 @@ export default class HaveADrink {
});
}
/**
* 更新用户头像
*/
UpdateUserAvatar(req) {
return new Promise((reslove, reject)=>{
let data = req;
let url = `${this.host}/api/have_a_drink/v1/user/user/avatar`;
this.http_request(url, {
uri: '/api/have_a_drink/v1/user/user/avatar',
method: 'PUT',
data: data,
responseType: 'json',
headers: {
'Content-Type': 'application/json',
},
}).then((data)=>{
if (data.hasOwnProperty("fail")) {
if (data.fail) {
reject(data.msg);
} else {
reslove(data.data);
}
} else {
reslove(data);
}
}).catch((err)=>reject(err));
});
}
/**
* 上传文件
*/
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "HaveADrink",
"type": "module",
"version": "v1.0.15",
"version": "v1.0.16",
"description": "喝酒了么 API 服务",
"main": "index.js",
"scripts": {