用ps做网站是用像素还是毫米大都会app官网最新
用ps做网站是用像素还是毫米,大都会app官网最新,做网站如何能让外国人看得到,智联招聘网最新招聘20221. 从“域名不在列表中”说起#xff1a;新手的第一道坎
刚开始玩微信小程序开发#xff0c;估计不少朋友都和我一样#xff0c;兴致勃勃地写了个网络请求#xff0c;想从自己的服务器拉点数据下来#xff0c;结果一点“预览”或者“真机调试”#xff0c;控制台立马就给…1. 从“域名不在列表中”说起新手的第一道坎刚开始玩微信小程序开发估计不少朋友都和我一样兴致勃勃地写了个网络请求想从自己的服务器拉点数据下来结果一点“预览”或者“真机调试”控制台立马就给你弹个红彤彤的报错“不在以下 request 合法域名列表中请参考文档”。那一瞬间感觉就像开车上路被交警拦下说你没驾照一样有点懵又有点急。别慌这几乎是每个小程序开发者都会遇到的“新手村”任务今天我就用我这几年踩过的坑、填过的土给你掰开揉碎了讲明白保证你看完就能自己搞定。这个报错的核心其实是微信小程序为了安全考虑给你设置的一道“安检门”。你想啊小程序运行在微信这个超级App里如果它随便就能向互联网上任何一个地址发送请求那风险就太大了用户的隐私数据、支付安全都可能受到威胁。所以微信官方就定了个规矩小程序只能向事先在后台配置好的、经过认证的域名发起网络请求。这个事先配置好的名单就是所谓的“request合法域名列表”。你的代码里请求的URL其域名就是https://后面到第一个/之前的那部分必须在这个“白名单”里否则一律拒之门外。理解了这个设计初衷你就明白这其实是个好事不是微信在故意刁难你。那么遇到这个报错我们该怎么办呢别急着去后台配置域名那通常是最后一步。根据你当前所处的开发阶段解决方案是完全不同的。简单来说可以分成两大场景本地开发测试阶段和准备上线发布阶段。前者追求的是快速验证、跑通逻辑怎么方便怎么来后者则要严格遵守规范为线上用户负责。接下来我们就分场景一步步拆解。2. 测试环境怎么快怎么来先跑通再说当你还处在写代码、调试功能的阶段尤其是项目刚启动或者后端接口还在开发中时我们的首要目标是让代码能跑起来看到效果。这时候如果因为域名没配置就卡住就太影响效率了。微信开发者工具非常贴心地为我们准备了一个“快速通道”。2.1 开启“免检”模式一键解决调试难题这个功能就藏在微信开发者工具的设置里我管它叫“开发者的特权开关”。具体操作非常简单我带你走一遍首先确保你的项目已经在微信开发者工具中打开。看界面的右上角找到并点击“详情”按钮。在弹出的项目配置面板中切换到第二个标签页“本地设置”。向下滚动你会看到一个非常关键的复选框“不校验合法域名、web-view业务域名、TLS 版本以及 HTTPS 证书”。毫不犹豫地勾选它勾选之后你再运行你的小程序向任何域名哪怕是http://开头的本地地址发起网络请求都不会再弹出那个烦人的域名校验错误了。这个选项的作用范围仅限于当前电脑上的微信开发者工具。也就是说它只在你本地开发时生效方便你连接本地后端服务比如用localhost:8080、测试环境服务器或者一些临时的公网地址。我刚开始用的时候心里也打鼓这会不会不安全后来明白了这纯粹是给开发者的本地调试便利它不会影响你最终上线的小程序。你可以把它想象成汽车厂里的测试跑道在跑道上你可以测试各种极限工况但车子要出厂上路就必须符合国家的安全标准也就是配置合法域名。所以在开发阶段请放心使用这个功能它能极大提升你的开发体验。2.2 理解背后的原理与注意事项虽然勾选这个选项很方便但有几个细节你必须心里有数不然可能会掉进坑里。首先这个选项只对网络请求wx.request和web-view组件生效。它跳过了对域名合法性的校验但请注意它并没有跳过其他安全规则。例如微信仍然强制要求所有网络请求必须使用HTTPS协议WSS、UploadFile、DownloadFile等除外。如果你尝试请求一个http://的地址即使勾选了不校验域名依然会失败会提示你需要使用HTTPS。所以你的测试服务器最好也配置好SSL证书。其次这个设置是**“项目-电脑”绑定**的。也就是说你在你的电脑上为A项目勾选了这个选项换一台电脑打开同一个项目这个选项默认是未勾选状态。同样在你的电脑上新建一个B项目也需要重新勾选。这提醒我们当团队协作时如果后端提供了本地或测试环境地址最好在项目的README文档里提醒队友记得勾选这个选项。最后也是最容易忽略的一点真机调试时这个选项无效当你点击开发者工具上的“真机调试”按钮把你的代码传到手机上运行时微信会使用一套更接近真实用户环境的逻辑此时“不校验合法域名”的本地设置是不生效的。如果你在真机调试时还需要请求测试域名那就必须走另一条路将测试域名添加到小程序后台的“服务器域名”中或者使用微信提供的“开发版”体验机制。这也就自然过渡到了我们下一个话题正式环境的配置。3. 正式环境规规矩矩配置合法域名当你的功能开发得差不多了后端接口也稳定了准备提交测试或者发布上线时我们就必须关掉“免检”模式规规矩矩地配置合法域名。因为最终用户是通过微信直接运行你的小程序他们可没有“不校验”这个开关任何未配置的域名请求都会失败。3.1 找到配置入口小程序管理后台配置域名不是在代码里写也不是在开发者工具里设而是在微信公众平台的小程序管理后台。这是很多新手容易找错地方的地方。你需要用一个浏览器打开微信公众平台并登录在首页找到你的小程序点击进入管理后台。进入后台后操作路径如下在左侧菜单栏找到“开发”菜单并点击。在“开发”子菜单中选择“开发设置”。页面右侧主体内容区域向下滚动找到“服务器域名”这一大块。第一次进入你可能会看到“服务器域名”后面跟着一个“开始配置”的按钮。这是因为微信默认对新小程序或长时间未配置的域名列表是关闭状态需要你手动开启。点击“开始配置”或旁边的“修改”按钮就会触发一个重要的安全验证步骤。3.2 安全扫码与域名填写点击修改后页面会弹出一个二维码对话框提示需要管理员微信扫码验证。这是微信为了保证账号安全防止误操作的重要措施。你必须用注册小程序时绑定的管理员微信号去扫描这个二维码然后在手机上确认操作。扫码验证通过后你就会看到域名配置的界面了。这里主要分几个输入框对应不同类型的请求request合法域名这就是我们解决报错要配置的核心区域。所有通过wx.request发起的普通HTTPS请求其域名必须在此列表中。socket合法域名如果你使用了wx.connectSocket建立WebSocket长连接其WSS域名需要配置在这里。uploadFile合法域名与downloadFile合法域名对应文件上传(wx.uploadFile)和下载(wx.downloadFile)的域名。我们重点关注request合法域名。点击其下方的输入框一行只能填写一个域名。域名格式有严格要求必须是完整的域名例如api.yourcompany.com不能带http://或https://协议头。不能是IP地址如192.168.1.1也不能是localhost。域名必须经过ICP备案。这是中国境内的法规要求微信会进行校验。支持通配符域名吗不支持。你不能配置*.yourcompany.com来匹配所有子域名。api.yourcompany.com和img.yourcompany.com需要分别配置。举个例子如果你的后端接口地址是https://api.example.com/v1/user/login那么你需要配置的合法域名就是api.example.com。配置完成后点击下方的“保存并提交”按钮。提交后通常需要几分钟的生效时间不会立刻在开发者工具中看到。3.3 配置生效与开发者工具同步在后台保存域名后回到微信开发者工具你需要做一次“同步”操作让工具获取到最新的配置。确保开发者工具顶部项目名称旁边显示的AppID是你正在配置的这个小程序的真实AppID。如果你之前用的是测试号这里必须切换成正式的AppID。点击右上角“详情”-“项目配置”。查看“服务器域名”部分。如果配置成功并已生效你应该能看到你刚刚添加的域名出现在“request合法域名”列表中。如果没看到可以尝试关闭项目再重新打开或者重启开发者工具。看到列表更新后记得取消勾选之前为了调试而打开的“不校验合法域名”选项。现在你的小程序就可以正式向配置好的域名发起请求了。你可以编译预览一下之前的报错应该就消失了。4. 那些年我踩过的坑与避坑指南光讲流程可能还不够有些坑只有踩过才知道疼。下面我分享几个常见的“坑点”希望能帮你省下几个小时甚至几天的调试时间。坑一AppID不对应配置全白费。这是最最常见的问题微信开发者工具里一个项目是和特定的AppID绑定的。如果你在项目创建时图省事选择了“测试号”那么你这个项目就一直关联着这个随机生成的测试AppID。你在小程序后台关联的是正式AppID配置的域名永远不会同步到这个测试号项目里。所以当你需要配置正式域名时第一步就是检查开发者工具里的AppID是否正确。修改方法在开发者工具详情页的“基本信息”里可以修改AppID填入你小程序的正式AppID。坑二域名带了协议或路径。在配置框里填写https://api.xxx.com或者api.xxx.com/都是错误的格式。系统会提示你格式不正确。记住只填纯域名。坑三忽略备案和HTTPS。你的域名如果没有进行ICP备案配置时会直接失败。同样微信要求request域名必须支持HTTPS并且TLS版本不能过低建议1.2及以上。如果你的服务器用的是自签名证书在开发阶段可以通过“不校验合法域名”选项绕过但上线前必须更换为受信任的CA机构颁发的证书否则在部分用户手机上可能无法请求。坑四真机调试与体验版的区别。很多开发者搞不清“真机调试”和“体验版”的区别。简单说真机调试代码从开发者工具上传到手机手机运行的是一个调试包你可以看到控制台日志。此时网络请求遵守后台配置的域名规则本地“不校验”设置无效。体验版代码通过开发者工具上传为“体验版”任何有体验权限的人在管理后台设置都可以扫描体验版二维码打开。这是一个更接近线上版的包完全遵守后台域名配置。所以如果你在真机调试时请求一个未配置的测试域名会失败。解决方法要么是把测试域名加到后台不推荐容易忘记删除更好的办法是让后端同学尽快提供已配置的、正式的测试环境域名。坑五域名配置有每月修改次数限制。小程序后台的服务器域名配置每个月有修改次数限制通常为5次。这意味着你不能随意地添加、删除。在上线前一定要和后端、运维同学确认好最终要使用的线上域名一次性配置好。频繁修改会耗尽次数导致后续无法调整。5. 进阶场景与最佳实践当你熟悉了基本配置后可能会遇到更复杂的需求。这里分享几个进阶场景的处理思路。场景一多环境域名管理。一个成熟的项目通常有开发环境、测试环境、预发布环境、生产环境。每个环境的接口域名都不同。我们不可能每次切换环境都去改后台配置次数有限制。怎么办一个常见的实践是在生产环境小程序后台只配置生产环境的正式域名。对于开发、测试环境我们利用开发者工具的“不校验”功能或者通过代码逻辑动态设置请求基地址。例如可以在项目中定义一个配置模块// config.js const env development; // 可通过编译环境变量切换: development, test, production const apiMap { development: https://dev-api.example.com, test: https://test-api.example.com, production: https://api.example.com // 这个域名必须配置在后台 }; export const BASE_API apiMap[env];然后在所有请求中使用BASE_API。在开发/测试时将env设为对应值并勾选“不校验合法域名”。发布生产时确保env为production且api.example.com已配置在后台。场景二第三方API代理。有时候我们需要调用一些第三方API但对方的域名我们无法控制也无法将其添加到我们的小程序后台因为域名不属于我们。这时常见的解决方案是通过自己的后端服务器做一层代理。即小程序只请求自己的服务器域名如api.yourdomain.com由你的后端服务器去请求第三方API然后将结果返回给小程序。这样小程序只需要配置自己的一个域名安全性和可控性也更高。场景三图片等资源域名。如果你的图片、音视频等静态资源存放在独立的CDN域名下比如cdn.yourcompany.com那么请注意通过wx.request请求这个域名下的资源地址需要将该域名配置到request合法域名。如果只是在小程序的image标签的src属性中引用或者通过wx.downloadFile下载则需要分别考虑业务域名和downloadFile合法域名的配置这是另一个相关但略有不同的话题了。说到底request合法域名配置是小程序安全体系的基石之一。它看似是个简单的“填表”操作但背后涉及开发流程、环境管理、安全规范等多个方面。我的经验是在项目启动初期就和团队明确好各环境的域名策略并在开发者工具的项目配置里做好备注。养成在提交测试或发布前反复确认域名配置和“不校验”开关状态的习惯能避免很多临上线前的慌乱。小程序开发就是这样把每一个细节都落到实处体验才能流畅顺滑。