Repository: AlistGo/alist (language: go)

Issue:
天翼云盘客户端 刷新token有问题
### Please make sure of the following things

- [X] I have read the [documentation](https://alist.nn.ci).
我已经阅读了[文档](https://alist.nn.ci)。

- [X] I'm sure there are no duplicate issues or discussions.
我确定没有重复的issue或讨论。

- [X] I'm sure it's due to `AList` and not something else(such as [Network](https://alist.nn.ci/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host) ,`Dependencies` or `Operational`).
我确定是`AList`的问题，而不是其他原因（例如[网络](https://alist.nn.ci/zh/faq/howto.html#tls-handshake-timeout-read-connection-reset-by-peer-dns-lookup-failed-connect-connection-refused-client-timeout-exceeded-while-awaiting-headers-no-such-host)，`依赖`或`操作`）。

- [X] I'm sure this issue is not fixed in the latest version.
我确定这个问题在最新版本中没有被修复。


### AList Version / AList 版本

v3.36.0

### Driver used / 使用的存储驱动

天翼云盘客户端

### Describe the bug / 问题描述

用s3接口使用天翼云盘 后一段时间重新使用接口报错
serve s3: code: InvalidSessionKey ,msg: sessionKey=bf6efc95-7a9c-4f5a-8d2b-1963d7415e45_family,invalid sessionKey, requestId=a31b0a1d-5ca6-4404-8a21-cc7b05fd7a1c 

查看了下代码
天翼云盘驱动 alist/drivers/189pc/utils.go  
func (y *Cloud189PC) refreshSession() (err error) 
这里 y.tokenInfo.UserSessionResp = userSessionResp 感觉应该是 y.tokenInfo = userSessionResp 
另外 refreshSession 后 需要重新 发送请求  y.request(url, method, callback, params, resp)  是否少了参数 isFamily

### Reproduction / 复现链接

无

### Config / 配置

默认配置

### Logs / 日志

_No response_


Discussion / hints:
Thanks for opening your first issue here! Be sure to follow the issue template!


Fix patch:
diff --git a/drivers/189pc/utils.go b/drivers/189pc/utils.go
index a000a84e005..f5a44455d2e 100644
--- a/drivers/189pc/utils.go
+++ b/drivers/189pc/utils.go
@@ -114,17 +114,19 @@ func (y *Cloud189PC) request(url, method string, callback base.ReqCallback, para
 		if err = y.refreshSession(); err != nil {
 			return nil, err
 		}
-		return y.request(url, method, callback, params, resp)
+		return y.request(url, method, callback, params, resp, isFamily...)
+	}
+
+	// if erron.ErrorCode == "InvalidSessionKey" || erron.Code == "InvalidSessionKey" {
+	if strings.Contains(res.String(), "InvalidSessionKey") {
+		if err = y.refreshSession(); err != nil {
+			return nil, err
+		}
+		return y.request(url, method, callback, params, resp, isFamily...)
 	}
 
 	// 处理错误
 	if erron.HasError() {
-		if erron.ErrorCode == "InvalidSessionKey" {
-			if err = y.refreshSession(); err != nil {
-				return nil, err
-			}
-			return y.request(url, method, callback, params, resp)
-		}
 		return nil, &erron
 	}
 	return res.Body(), nil


Test patch: