本地开发调试后,务必上传到uniCloud服务空间才能在现网生效。 发行分为云端资源发行和客户端发行。 ## 云资源发行 各种云函数、DB Schema,都需要上传发行。 HBuilderX有多种发行方式 - 发行菜单 - 对uniCloud目录中各种文件点右键上传。快捷键是【Ctrl+u】 - 对uniCloud目录点右键,启动 uniCloud服务空间初始化向导 ### 小程序中使用uniCloud的白名单配置@useinmp 各家小程序平台,均要求在小程序管理后台配置小程序应用的联网服务器域名,否则无法联网。 使用uniCloud后,开发者将不再需要自己购买、备案域名,直接将uniCloud的域名填写在小程序管理后台即可。(如需使用前端网页托管仍需进行域名备案) 根据下表,在小程序管理后台设置request合法域名、uploadFile合法域名(如没有上传文件业务,可不设置)。下表的域名均为阿里云或腾讯云自有域名,并非DCloud所属域名。 |服务提供商 |request合法域名 |uploadFile合法域名 |download合法域名| |:-: |:-: |:-: |:-:| |阿里云 |api.bspapp.com |bsppub.oss-cn-shanghai.aliyuncs.com|需要从云存储下载文件的时候才需要配置,不同服务空间域名不同,可以在web控制台查看文件详情里面看到| |腾讯云 |tcb-api.tencentcloudapi.com|cos.ap-shanghai.myqcloud.com |需要从云存储下载文件的时候才需要配置,不同服务空间域名不同,可以在web控制台查看文件详情里面看到| **如果需要用uni.request请求云存储内的文件,需要将云存储域名(即上表中的download合法域名)配置到request合法域名内** 小程序开发工具的真机预览功能,必须添加上述域名白名单,否则无法调用云函数。模拟器的PC端预览、真机调试不受此影响。 如果遇到正确配置了合法域名但是依然报`url not in domain list`,请尝试删除手机上的小程序、清理小程序所在的客户端缓存、重启对应的小程序开发工具后重试 如果遇到`invalid ip xxx, not in whitelist`,请检查是否在小程序管理后台开启了域名白名单。如果没用到可以关闭,如果确认需要使用ip白名单,请开通腾讯云收费空间并使用[固定IP](uniCloud/cf-functions.md?id=eip)功能 **关于云函数本地调试服务在小程序中的使用** HBuilderX内使用运行菜单运行到小程序时会连接本地调试服务,即使你运行之前就选择了连接云端云函数,小程序也会发送一条请求到本地调试服务检测调用云函数是本地还是云端。 **在开发模式下推荐直接忽略域名校验。** 即使在开发工具勾选了忽略域名校验,体验版与正式版不会忽略域名校验。**如果要发布`体验版`或`正式版`,请务必在HBuilderX内使用发行菜单。** ### H5中使用uniCloud的跨域处理@useinh5 H5前端js访问云函数,涉及跨域问题,导致前端js无法连接云函数服务器。处理方式如下:。 - 运行到H5端时,使用HBuilderX内置浏览器,可以忽略跨域问题(需 HBuilderX 2.5.10+)。 - 发行到H5端时,需要在uniCloud后台操作,绑定安全域名(在部署云函数的服务空间配置部署h5的域名作为安全域名),否则会因为跨域问题而无法访问。(在`cloudfunctions`目录右键可打开uniCloud后台) > 注意跨域配置需要带上端口信息。例如:前端页面运行于:www.xxx.com:5001,跨域配置内配置:www.xxx.com不会对此页面生效,需要配置为:www.xxx.com:5001 **uniCloud后台跨域配置:**