

"""
基于wps多维表格的用户管理系统
此package提供的用户注册登录、设置有效期、积分管理、绑定机器等功能, 需要与wps多维表格的AirScript配套使用。
作者: 大聪明RPA
QQ: 2414108420
接口:
- login(token, key, is_debug=False, **kwargs): 用户注册登录
* 参数: token (字符串): wps脚本令牌,不要泄露!!!
* 参数: key (字符串): 类似token的签名用的随机字符串,不要泄露!!!
* 参数: is_debug (布尔值): 默认False, 为True时会打印wps返回的结果
* 参数: **kwargs: 自定义关键字参数
* 返回: (字典)
* 返回失败示例: {"success": False, "msg": "用户未激活"}
* 返回成功示例: {'success': True, 'mobile': '18800002222', 'expire_date': '2025-10-23 14:59', 'is_expire': True, 'points': 10, 'is_same_mac': True, 'sign': 'j4n6aMKnZQe5YzvPtZoucJxXU8/XS3SN4YtJWVewK90=', 'password': '123654'}
* 返回参数: success (布尔值): True=成功, False=失败
* 返回参数: mobile (字符串): 手机号
* 返回参数: password (字符串): 密码
* 返回参数: points (整数): 剩余积分
* 返回参数: expire_date (字符串): 有效期
* 返回参数: is_expire (布尔值): True=已过期, False=未过期
* 返回参数: is_same_mac (布尔值): True=注册账号时的机器与当前机器一致, False=注册账号时的机器不是当前机器
* 返回参数: sign (字符串): 校验用的签名,防止请求被篡改
- check(token, key, mobile, password, unchecked=1, is_debug=False, **kwargs): 积分扣除
* 参数: token (字符串): wps脚本令牌,不要泄露!!!
* 参数: key (字符串): 类似token的签名用的随机字符串,不要泄露!!!
* 参数: mobile (字符串): 手机号
* 参数: password (字符串): 密码
* 参数: unchecked (整数): 需要扣除的积分
* 参数: is_debug (布尔值): 默认False, 为True时会打印wps返回的结果
* 参数: **kwargs: 自定义关键字参数
* 返回: (字典)
* 返回失败示例: {"success": False, "msg": "密码不正确"}
* 返回成功示例: {'success': True, 'mobile': '18800002222', 'expire_date': '2025-10-23 14:59', 'is_expire': True, 'points': 10, 'is_same_mac': True, 'sign': 'j4n6aMKnZQe5YzvPtZoucJxXU8/XS3SN4YtJWVewK90=', 'password': '123654'}
* 返回参数: success (布尔值): True=成功, False=失败
* 返回参数: mobile (字符串): 手机号
* 返回参数: password (字符串): 密码
* 返回参数: points (整数): 剩余积分
* 返回参数: expire_date (字符串): 有效期
* 返回参数: is_expire (布尔值): True=已过期, False=未过期
* 返回参数: is_same_mac (布尔值): True=注册账号时的机器与当前机器一致, False=注册账号时的机器不是当前机器
* 返回参数: sign (字符串): 校验用的签名,防止请求被篡改
* 备注:如果扣除积分失败,待扣除积分会记录在本地,下次登录时再扣除
编码版使用示例:
>>> from . import user
>>> print(user.__doc__)
>>> login_result = user.login('your_wps_token', 'your_sign_key')
# 使用自定义参数 coins
>>> check_result = user.check('your_wps_token', 'your_sign_key', login_result['mobile'], login_result['password'], unchecked=0, coins=1)
可视化指令版使用示例参见影刀社区文章: https://www.yingdao.com/community/detaildiscuss?id=875299182009294848
版本历史:
- v1.0.0 (2025-10-11): 初始版本,包含用户注册登录和积分扣除功能
- v1.1.0 (2025-10-23): 返回参数中增加is_expire(是否过期)和is_same_mac(当前机器是否是注册机器)
- v1.2.0 (2025-11-02): 将usage_left改名为points, 新增自定义关键字参数
"""
from .wps import login, check
__all__ = ["login", "check"]