feat(weibo): 修正绑定小程序码并增加账号批量操作
This commit is contained in:
@@ -222,6 +222,44 @@ def generate_weibo_bind_schemes(
|
||||
return result
|
||||
|
||||
|
||||
def generate_weibo_bind_qrcode(
|
||||
account: WeiboAccount,
|
||||
bind_url: str,
|
||||
channel: str,
|
||||
) -> dict[str, str]:
|
||||
"""生成指定渠道的小程序码,并尽力附带可复制的 Scheme。"""
|
||||
|
||||
_ = account
|
||||
label = {"wx": "微信", "qq": "QQ"}[channel]
|
||||
client = WeiboClient()
|
||||
try:
|
||||
qrcode = client.generate_bind_qrcode(bind_url, channel)
|
||||
except (WeiboError, ValueError) as exc:
|
||||
return {
|
||||
"channel": channel,
|
||||
"label": label,
|
||||
"scheme": "",
|
||||
"qrcode_image": "",
|
||||
"qrcode_token": "",
|
||||
"error": str(exc),
|
||||
}
|
||||
|
||||
scheme = ""
|
||||
try:
|
||||
scheme = client.generate_bind_scheme(bind_url, channel)
|
||||
except (WeiboError, ValueError):
|
||||
# 二维码图片是主结果,Scheme 仅用于复制,不影响扫码绑定。
|
||||
pass
|
||||
return {
|
||||
"channel": channel,
|
||||
"label": label,
|
||||
"scheme": scheme,
|
||||
"qrcode_image": qrcode.image_src,
|
||||
"qrcode_token": qrcode.token,
|
||||
"error": "",
|
||||
}
|
||||
|
||||
|
||||
def _effective_activity(account: WeiboAccount, fallback: str) -> str:
|
||||
return account.activity or fallback
|
||||
|
||||
|
||||
Reference in New Issue
Block a user