1.一种终端小程序的用户识别方法,其特征在于,包括:
利用canvas创建画布实例并获取所述画布实例的对象属性;
获取所述终端的设备属性;
根据所述对象属性和所述设备属性确定用户属性;
利用哈希算法将所述用户属性转换为哈希值;
根据所述哈希值生成用户id以识别所述终端小程序的所述用户。
2.根据权利要求1所述的用户识别方法,其特征在于,所述利用canvas创建画布实例包括:
利用离屏canvas创建预设尺寸及内容的所述预设画布。
3.根据权利要求2所述的用户识别方法,其特征在于,所述利用canvas创建画布实例并获取所述画布实例的对象属性包括:
判断所述小程序所属的应用程序是否支持所述离屏canvas;
若所述应用程序支持所述离屏canvas,通过离屏canvasapi创建所述预设画布以生成canvas实例;
根据所述canvas实例获取所述画布的所述对象属性,其中,所述对象属性包括basic64格式图片,或basic64格式图片、材质最大支持数量和扩展支持信息。
4.根据权利要求1所述的用户识别方法,其特征在于,所述获取所述终端的设备属性包括:
判断所述小程序所属的应用程序是否支持获取设备属性;
若所述应用程序支持所述获取设备属性,通过getsysteminfoasyncapi获取所述设备属性,其中,所述设备属性包括设备品牌、设备型号、像素比、屏幕宽度、屏幕高度、可使用窗口宽度、可使用窗口高度、操作系统及版本中的任意一种或多种。
5.根据权利要求1所述的用户识别方法,其特征在于,所述用户识别方法还包括:
获取所述终端的功能模块属性;
所述根据所述对象属性和所述设备属性确定用户属性包括:
根据所述对象属性、所述设备属性和所述功能模块属性确定所述用户属性。
6.根据权利要求5所述的用户识别方法,其特征在于,所述获取所述终端的功能模块属性包括:
判断所述小程序所属的应用程序是否支持获取功能模块属性;
若所述应用程序支持所述获取功能模块属性,通过所述小程序的api获取所述功能模块属性,其中,所述功能模块属性包括nfc属性。
7.根据权利要求1或5所述的用户识别方法,其特征在于,所述用户识别方法还包括:
获取所述用户的openid或unionid;
所述根据所述哈希值生成用户id以识别所述用户包括:
根据所述哈希值,以及所述openid或所述unionid生成所述用户id以识别所述用户。
8.一种终端小程序的用户识别装置,其特征在于,包括:
创建模块,用于利用canvas创建画布实例并获取所述画布实例的对象属性;
第一获取模块,用于获取所述终端的设备属性;
确定模块,用于根据所述对象属性和所述设备属性确定用户属性;
计算模块,用于利用哈希算法将所述用户属性转换为哈希值;
生成模块,用于根据所述哈希值生成用户id以识别所述终端小程序的所述用户。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1-7任一项所述的用户识别方法。
10.一种计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,实现权利要求1-7任一项所述的用户识别方法。