@gt6/sdk 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1402,6 +1402,350 @@ class UsersAPI {
1402
1402
  }
1403
1403
  return null;
1404
1404
  }
1405
+ /**
1406
+ * 获取用户资料
1407
+ * @returns 用户资料响应
1408
+ */
1409
+ async getUserProfile() {
1410
+ try {
1411
+ // 获取用户token
1412
+ const token = this.getToken();
1413
+ if (!token) {
1414
+ return {
1415
+ success: false,
1416
+ message: '用户未登录'
1417
+ };
1418
+ }
1419
+ const response = await this.client.request('/web/user/profile', {
1420
+ method: 'GET',
1421
+ headers: {
1422
+ 'Authorization': `Bearer ${token}`,
1423
+ 'Content-Type': 'application/json'
1424
+ }
1425
+ });
1426
+ return response;
1427
+ }
1428
+ catch (error) {
1429
+ // 如果是HTTP错误,尝试解析响应体
1430
+ if (error.statusCode && error.message) {
1431
+ // 对于401错误,返回认证失败信息
1432
+ if (error.statusCode === 401) {
1433
+ return {
1434
+ success: false,
1435
+ message: '认证失败,请重新登录'
1436
+ };
1437
+ }
1438
+ // 对于其他HTTP错误,返回状态码信息
1439
+ return {
1440
+ success: false,
1441
+ message: error.message || `HTTP ${error.statusCode} 错误`
1442
+ };
1443
+ }
1444
+ // 对于网络错误或其他错误
1445
+ return {
1446
+ success: false,
1447
+ message: error instanceof Error ? error.message : '获取用户资料失败'
1448
+ };
1449
+ }
1450
+ }
1451
+ /**
1452
+ * 获取用户资料(简化版本)
1453
+ * @returns 用户资料或null
1454
+ */
1455
+ async getProfile() {
1456
+ const result = await this.getUserProfile();
1457
+ return result.success && result.user ? result.user : null;
1458
+ }
1459
+ /**
1460
+ * 更新用户资料
1461
+ * @param profileData 用户资料数据
1462
+ * @returns 更新响应
1463
+ */
1464
+ async updateProfile(profileData) {
1465
+ try {
1466
+ // 获取用户token
1467
+ const token = this.getToken();
1468
+ if (!token) {
1469
+ return {
1470
+ success: false,
1471
+ message: '用户未登录'
1472
+ };
1473
+ }
1474
+ const response = await this.client.request('/web/user/profile', {
1475
+ method: 'PUT',
1476
+ headers: {
1477
+ 'Authorization': `Bearer ${token}`,
1478
+ 'Content-Type': 'application/json'
1479
+ },
1480
+ body: JSON.stringify(profileData)
1481
+ });
1482
+ return response;
1483
+ }
1484
+ catch (error) {
1485
+ // 如果是HTTP错误,尝试解析响应体
1486
+ if (error.statusCode && error.message) {
1487
+ // 对于401错误,返回认证失败信息
1488
+ if (error.statusCode === 401) {
1489
+ return {
1490
+ success: false,
1491
+ message: '认证失败,请重新登录'
1492
+ };
1493
+ }
1494
+ // 对于其他HTTP错误,返回状态码信息
1495
+ return {
1496
+ success: false,
1497
+ message: error.message || `HTTP ${error.statusCode} 错误`
1498
+ };
1499
+ }
1500
+ // 对于网络错误或其他错误
1501
+ return {
1502
+ success: false,
1503
+ message: error instanceof Error ? error.message : '更新用户资料失败'
1504
+ };
1505
+ }
1506
+ }
1507
+ /**
1508
+ * 修改密码
1509
+ * @param passwordData 密码数据
1510
+ * @returns 修改密码响应
1511
+ */
1512
+ async changePassword(passwordData) {
1513
+ try {
1514
+ // 获取用户token
1515
+ const token = this.getToken();
1516
+ if (!token) {
1517
+ return {
1518
+ success: false,
1519
+ message: '用户未登录'
1520
+ };
1521
+ }
1522
+ const response = await this.client.request('/web/user/password', {
1523
+ method: 'PUT',
1524
+ headers: {
1525
+ 'Authorization': `Bearer ${token}`,
1526
+ 'Content-Type': 'application/json'
1527
+ },
1528
+ body: JSON.stringify(passwordData)
1529
+ });
1530
+ return response;
1531
+ }
1532
+ catch (error) {
1533
+ // 如果是HTTP错误,尝试解析响应体
1534
+ if (error.statusCode && error.message) {
1535
+ // 对于401错误,返回认证失败信息
1536
+ if (error.statusCode === 401) {
1537
+ return {
1538
+ success: false,
1539
+ message: '认证失败,请重新登录'
1540
+ };
1541
+ }
1542
+ // 对于其他HTTP错误,返回状态码信息
1543
+ return {
1544
+ success: false,
1545
+ message: error.message || `HTTP ${error.statusCode} 错误`
1546
+ };
1547
+ }
1548
+ // 对于网络错误或其他错误
1549
+ return {
1550
+ success: false,
1551
+ message: error instanceof Error ? error.message : '修改密码失败'
1552
+ };
1553
+ }
1554
+ }
1555
+ /**
1556
+ * 创建地址
1557
+ * @param addressData 地址数据
1558
+ * @returns 创建地址响应
1559
+ */
1560
+ async createAddress(addressData) {
1561
+ try {
1562
+ // 获取用户token
1563
+ const token = this.getToken();
1564
+ if (!token) {
1565
+ return {
1566
+ success: false,
1567
+ message: '用户未登录'
1568
+ };
1569
+ }
1570
+ const response = await this.client.request('/web/user/addresses', {
1571
+ method: 'POST',
1572
+ headers: {
1573
+ 'Authorization': `Bearer ${token}`,
1574
+ 'Content-Type': 'application/json'
1575
+ },
1576
+ body: JSON.stringify(addressData)
1577
+ });
1578
+ return response;
1579
+ }
1580
+ catch (error) {
1581
+ // 如果是HTTP错误,尝试解析响应体
1582
+ if (error.statusCode && error.message) {
1583
+ // 对于401错误,返回认证失败信息
1584
+ if (error.statusCode === 401) {
1585
+ return {
1586
+ success: false,
1587
+ message: '认证失败,请重新登录'
1588
+ };
1589
+ }
1590
+ // 对于其他HTTP错误,返回状态码信息
1591
+ return {
1592
+ success: false,
1593
+ message: error.message || `HTTP ${error.statusCode} 错误`
1594
+ };
1595
+ }
1596
+ // 对于网络错误或其他错误
1597
+ return {
1598
+ success: false,
1599
+ message: error instanceof Error ? error.message : '创建地址失败'
1600
+ };
1601
+ }
1602
+ }
1603
+ /**
1604
+ * 更新地址
1605
+ * @param addressId 地址ID
1606
+ * @param addressData 地址数据
1607
+ * @returns 更新地址响应
1608
+ */
1609
+ async updateAddress(addressId, addressData) {
1610
+ try {
1611
+ // 获取用户token
1612
+ const token = this.getToken();
1613
+ if (!token) {
1614
+ return {
1615
+ success: false,
1616
+ message: '用户未登录'
1617
+ };
1618
+ }
1619
+ const response = await this.client.request(`/web/user/addresses/${addressId}`, {
1620
+ method: 'PUT',
1621
+ headers: {
1622
+ 'Authorization': `Bearer ${token}`,
1623
+ 'Content-Type': 'application/json'
1624
+ },
1625
+ body: JSON.stringify(addressData)
1626
+ });
1627
+ return response;
1628
+ }
1629
+ catch (error) {
1630
+ // 如果是HTTP错误,尝试解析响应体
1631
+ if (error.statusCode && error.message) {
1632
+ // 对于401错误,返回认证失败信息
1633
+ if (error.statusCode === 401) {
1634
+ return {
1635
+ success: false,
1636
+ message: '认证失败,请重新登录'
1637
+ };
1638
+ }
1639
+ // 对于其他HTTP错误,返回状态码信息
1640
+ return {
1641
+ success: false,
1642
+ message: error.message || `HTTP ${error.statusCode} 错误`
1643
+ };
1644
+ }
1645
+ // 对于网络错误或其他错误
1646
+ return {
1647
+ success: false,
1648
+ message: error instanceof Error ? error.message : '更新地址失败'
1649
+ };
1650
+ }
1651
+ }
1652
+ /**
1653
+ * 删除地址
1654
+ * @param addressId 地址ID
1655
+ * @returns 删除地址响应
1656
+ */
1657
+ async deleteAddress(addressId) {
1658
+ try {
1659
+ // 获取用户token
1660
+ const token = this.getToken();
1661
+ if (!token) {
1662
+ return {
1663
+ success: false,
1664
+ message: '用户未登录'
1665
+ };
1666
+ }
1667
+ const response = await this.client.request(`/web/user/addresses/${addressId}`, {
1668
+ method: 'DELETE',
1669
+ headers: {
1670
+ 'Authorization': `Bearer ${token}`,
1671
+ 'Content-Type': 'application/json'
1672
+ }
1673
+ });
1674
+ return response;
1675
+ }
1676
+ catch (error) {
1677
+ // 如果是HTTP错误,尝试解析响应体
1678
+ if (error.statusCode && error.message) {
1679
+ // 对于401错误,返回认证失败信息
1680
+ if (error.statusCode === 401) {
1681
+ return {
1682
+ success: false,
1683
+ message: '认证失败,请重新登录'
1684
+ };
1685
+ }
1686
+ // 对于其他HTTP错误,返回状态码信息
1687
+ return {
1688
+ success: false,
1689
+ message: error.message || `HTTP ${error.statusCode} 错误`
1690
+ };
1691
+ }
1692
+ // 对于网络错误或其他错误
1693
+ return {
1694
+ success: false,
1695
+ message: error instanceof Error ? error.message : '删除地址失败'
1696
+ };
1697
+ }
1698
+ }
1699
+ /**
1700
+ * 上传文件
1701
+ * @param file 文件对象
1702
+ * @returns 上传响应
1703
+ */
1704
+ async uploadFile(file) {
1705
+ try {
1706
+ // 获取用户token
1707
+ const token = this.getToken();
1708
+ if (!token) {
1709
+ return {
1710
+ success: false,
1711
+ message: '用户未登录'
1712
+ };
1713
+ }
1714
+ // 创建FormData
1715
+ const formData = new FormData();
1716
+ formData.append('file', file);
1717
+ const response = await this.client.request('/web/upload', {
1718
+ method: 'POST',
1719
+ headers: {
1720
+ 'Authorization': `Bearer ${token}`
1721
+ },
1722
+ body: formData
1723
+ });
1724
+ return response;
1725
+ }
1726
+ catch (error) {
1727
+ // 如果是HTTP错误,尝试解析响应体
1728
+ if (error.statusCode && error.message) {
1729
+ // 对于401错误,返回认证失败信息
1730
+ if (error.statusCode === 401) {
1731
+ return {
1732
+ success: false,
1733
+ message: '认证失败,请重新登录'
1734
+ };
1735
+ }
1736
+ // 对于其他HTTP错误,返回状态码信息
1737
+ return {
1738
+ success: false,
1739
+ message: error.message || `HTTP ${error.statusCode} 错误`
1740
+ };
1741
+ }
1742
+ // 对于网络错误或其他错误
1743
+ return {
1744
+ success: false,
1745
+ message: error instanceof Error ? error.message : '文件上传失败'
1746
+ };
1747
+ }
1748
+ }
1405
1749
  }
1406
1750
 
1407
1751
  /**
@@ -1729,6 +2073,54 @@ class GT6SDK {
1729
2073
  async getAddressById(addressId) {
1730
2074
  return this.users.getAddressById(addressId);
1731
2075
  }
2076
+ /**
2077
+ * 便捷方法:获取用户资料
2078
+ */
2079
+ async getUserProfile() {
2080
+ return this.users.getUserProfile();
2081
+ }
2082
+ /**
2083
+ * 便捷方法:获取用户资料(简化版本)
2084
+ */
2085
+ async getProfile() {
2086
+ return this.users.getProfile();
2087
+ }
2088
+ /**
2089
+ * 便捷方法:更新用户资料
2090
+ */
2091
+ async updateProfile(profileData) {
2092
+ return this.users.updateProfile(profileData);
2093
+ }
2094
+ /**
2095
+ * 便捷方法:修改密码
2096
+ */
2097
+ async changePassword(passwordData) {
2098
+ return this.users.changePassword(passwordData);
2099
+ }
2100
+ /**
2101
+ * 便捷方法:创建地址
2102
+ */
2103
+ async createAddress(addressData) {
2104
+ return this.users.createAddress(addressData);
2105
+ }
2106
+ /**
2107
+ * 便捷方法:更新地址
2108
+ */
2109
+ async updateAddress(addressId, addressData) {
2110
+ return this.users.updateAddress(addressId, addressData);
2111
+ }
2112
+ /**
2113
+ * 便捷方法:删除地址
2114
+ */
2115
+ async deleteAddress(addressId) {
2116
+ return this.users.deleteAddress(addressId);
2117
+ }
2118
+ /**
2119
+ * 便捷方法:上传文件
2120
+ */
2121
+ async uploadFile(file) {
2122
+ return this.users.uploadFile(file);
2123
+ }
1732
2124
  }
1733
2125
 
1734
2126
  export { ArticlesAPI, FormsAPI, GT6Client, GT6Error, GT6SDK, ProductsAPI, SettingsAPI, UsersAPI, GT6SDK as default };