更新记录
1.1.0(2024-07-01) 下载此版本
验证密码接口增加传入参数类型,不局限于UID,使用更方便
1.0.0(2023-12-16) 下载此版本
初次提交
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
简介
本插件是一个uniCloud云对象,主要用户给用户密码加密
、验证密码
两个功能。
本插件也不算是原创,是从 uni-id-co 剥离整合出来的,核心代码一字未改,主要是把这两个接口给开放出来,可以根据自身业务自由发挥,从而解决 uni-id-co 一些操蛋的限制。
简直要被官方的插件给气死了,各种不合理、蹩脚,提建议也没人搭理,但是不用又不行啊,uni-id 牵扯的太多,完全去掉也不现实,等了几个月也没改变,所以就费力的进行删减整合。
之前的解决办法是在 uni-id-co 的基础上扩展了一个密码加密的接口,可是每次更新版本都要再加回去,改了好几次,真是好烦。。。最终决定还是单独剥离出来吧。
提醒
佛渡有缘人,不明白为啥剥离的兄弟别安装,如果觉得官方的 uni-id-co 用起来很顺手,那完全不需要安装这个,我的强迫症犯了谁也拦不住。。。
至于加密结果是否准确,我觉得问题不大,因为核心部分全部是复制官方的,我只是开放了接口出来,理论上不会有问题,我自身也测试过很多次,完全没问题。
使用
生成密码
const {passwordHash, version} = await uniCloud.importObject('user_password').create('密码');
验证密码
//传入用户ID
await uniCloud.importObject('user_password').check('密码', '用户的uid').then((res) => {
if (!res.success) throw '登录密码不正确';
});
//传入其他条件(手机号、邮箱、其他能查询的字段)
await uniCloud.importObject('user_password').check('密码', {
mobile:
}).then((res) => {
if (!res.success) throw '登录密码不正确';
});
报错
内部依赖
Cannot find module 'uni-config-center'
是因为没有选择公共依赖模块uni-config-center
,用开发工具打开uni_modules/dm-user-password/uniCloud/cloudfunctions/user_password
--> 右键 --> 管理公共模块或扩展库依赖 --> 选择公共模块uni-config-center
即可
外部依赖
uni-id-co缺少依赖,请在uniCloud/cloudfunctions/common/uni-id-co目录执行 npm install 安装依赖
是因为没有安装依赖,用开发工具打开uni_modules/dm-user-password/uniCloud/cloudfunctions/user_password
--> 右键 --> 使用命令行窗口打开所在目录 --> 输入npm install
并执行即可解决