微信小程序的URLScheme有以下限制:
1. 长度限制:URLScheme的长度不能超过64个字符,包括协议、域名和路径。如果超过这个长度,将无法创建URLScheme。
2. 特殊字符限制:URLScheme中的特殊字符(如"/"、"?"、"&"等)需要用双斜杠(//)进行转义,否则会导致解析错误。例如,"/?name=John"应该写成"/?name=%E5%8C%97%E4%BA%AC"。
3. 路径分隔符限制:URLScheme中的路径分隔符只能使用"/",不能使用其他字符。例如,"/home/user/profile"是正确的路径,而"home:user:profile"是非法的。
4. 域名限制:URLScheme中的域名只能是一级域名,不能包含二级域名或子域名。例如,"www.example.com"是正确的域名,而"www.example.com/subdomain"是非法的。
5. 协议限制:URLScheme中的协议只能是HTTP或HTTPS,不能是其他协议。例如,"http://www.example.com"是正确的协议,而"http://example.com"或"https://example.com"是错误的。
6. 文件扩展名限制:URLScheme中的文件扩展名必须是有效的文件类型,不能是未知的文件类型。例如,"image/png"是正确的文件扩展名,而"image/unknown"是错误的。
7. 文件名限制:URLScheme中的文件名只能是字母、数字、下划线和减号(-),不能包含空格或特殊字符。例如,"image.png"是正确的文件名,而"image_name.png"是错误的。
8. 文件大小限制:URLScheme中的文件大小必须是整数,不能是浮点数。例如,"1000000000"是正确的文件大小,而"1000000001"是错误的。
9. 文件内容限制:URLScheme中的文件内容必须是字符串,不能是字节数组或其他数据类型。例如,"Hello, world!"是正确的文件内容,而"[object Blob]"是错误的。
10. 文件编码限制:URLScheme中的文件编码必须是UTF-8,不能是其他编码。例如,"UTF-8"是正确的文件编码,而"ISO-8859-1"是错误的。
总之,微信小程序的URLScheme有严格的限制,开发者在使用时需要特别注意这些限制,以避免出现解析错误或其他问题。