刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
配置开发微信小程序的过程中遇见了一些问题,在此记录一下。
序号 | 常见错误提示 | 原因及解决方法 |
---|---|---|
1 | 该域名协议头非法 | 域名内包含非法的协议头,请修改 |
2 | 域名中不能含有端口号 | 域名内含有端口号,请修改 |
3 | 不能使用IP地址作为域名 | IP地址不能作为域名,请修改 |
4 | 不能使用本地域名localhost | 小程序服务器配置域名不可使用本地域名,请修改 |
5 | 为保障平台安全,请更换域名地址 | 此域名地址不可被设置,请修改 |
6 | 该域名包含非法字符,只支持英文大小写字母、数字及“-” | 域名内包含非法字符,请修改 |
7 | 操作频繁,请稍后重试 | 在一定时间周期内提交修改过于频繁,请稍后再试 |
8 | 该域名因违规被禁止设置。如有异议,请在微信客户端打开该域名进行申诉 | 该域名在微信内存在违规行为,请用微信客户端打开此域名,在错误页面中发起申诉。申诉通过后即可重新填写。 |
9 | 该域名未备案 | 填写的域名未经过icp备案,请先完成域名备案,再重新填写 |
10 | 为保障帐号安全不可使用此域名地址,请修改 | 如填写了“api.weixin.qq.com”会出现上述错误提示。出于安全考虑,为避免开发者将AppSecret放置在小程序的前端代码内,平台禁止设置此域名。小程序的开发者密码(AppSecret)是一个非常重要的字段,使用该密码可以调用小程序的所有后台接口。请不要将该字段放置在微信小程序的前端代码中,因为微信手机客户端容易被反编译并轻松获得Appsecret,造成重大的安全威胁。开发者应将Appsecret保存到后台服务器中,通过服务器使用Appsecert获取Accesstoken。微信公众平台小程序后台的服务器地址设置也将禁止将“api.weixin.qq.com”域名的配置,所有对于“api.weixin.qq.com”域名下的接口请求请全部通过后台服务器发起,请勿直接通过小程序的前端代码发起 |
11 | 该域名所在的服务平台或网页存在大量违规内容,已被禁止设置。如有异议,请联系服务平台或网页运营者对违规内容进行整顿后,在微信客户端打开该域名申请恢复。 | 该域名为云平台域名,且该云平台/网页存在大量违规内容,不可设置。开发者可联系云平台或该网页运营者对违规内容进行整顿后,在微信客户端内打开此域名,并在错误页面中发起申诉。申诉通过后即可重新填写。 |
12 | 此域名为开发环境域名,不可在正式环境下使用,请修改 | 此域名是腾讯云开发环境域名,不可用在正式环境下,请修改。 |
13 | wxss样式问题 | border-radius和transform在一起使用容易造成圆角丢失 |
14 | wx:if条件渲染失效 | 如果条件渲染中条件为运算判断,如字符是否相等,则应在对应值上加单引号’’ 如 YHModelViewTypeFlag == 'VIEW' |
15 | APP-SERVICE-SDK:Unknown URL protocol “https://“;[Component] Event Handler Error @ libs/YHModelPage YHModelPage#confrimYHModelPage Error: APP-SERVICE-SDK:Unknown URL protocol “https://“ | 注意该组件传参方法,如是原生对象可转变成字符串可以解决该问题 |
16 | 40029(invalid code) | 1.appid 配置错误,检查需要使用appid的地方是否正确,注意与小程序本体,后台保持一致 2.appsecret 是否正确 |
17 | getLocation:fail system permission denied | 用户没有为微信授权定位权限 |
18 | “code”:”40125”,”msg”:”invalid appsecret, view more at https://t.cn/RAEkdVq | 统一下单需要openid 参数,获取openid 方法:auth.code2Session, |
18 | button 组件去除边框 | button:after:{border:none} |
序号 | 名称 | 备注 |
---|---|---|
1 | 服务器域名配置 | 域名配置可以后边直接填入端口号 |
2 | 商户号该产品权限未开通,请前往商户平台>产品中心检查后重试 | 由于商户号没有做配置,检查 1.是否正确授权产品 2. 是否开通了JSAPI支付 |
3 | 小程序本地数据缓存上限 | 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。出处 |
4 | 小程序代码包大小上限 | 代码包总包上限提升至12M。出处 |
序号 | 接口名称 | 备注 |
---|---|---|
1 | wx.getsetting | 回调可能会出现失败,返回不了正确的信息,判断不了是否授权 |
2 | app全局参数 | 会出现丢失情况,最好在onShow方法中获取 |
3 | 样式setData修改与animation动画间的问题 | 会出现不能正常显示或者第一次正常其后不正常的现象,最好只使用动画或者只是用setData方法修改样式 |
4 | button有默认样式,在安卓与iOS默认表现不同 | 注意开发前最好清空内联样式 {padding:0;margin:0;…} |
5 | 当data中变量指向一个全局变量时,data中变量改变其值,对应的全局变量也会改变(即使使用了const ) |
使用 Class 或者 Function(return) 重置对象的值 |
序号 | 接口名称 | 备注 |
---|---|---|
1 | cover-view cover-image等 |
见 《微信小程序cover-view使用解析》 |
2 | app全局参数 | 会出现丢失情况,最好在onShow方法中获取 |
3 | 页面渲染出问题 | 如果wxml代码中有多余空格,特别是后引号前,会让编辑器不能解析代码。 所以请检查wxml代码中是否有多余空格 |
4 | 编译错误:bad attr wx | 1.同上 2.在wxml中语法并不是特别完善,bug时有发生,所以也有可能是编辑器本身的错误,也不能保证微信中是否会存在此类错误,所以可使用多个 wx:if 等来设置条件渲染 |
5 | 网页开发,分享朋友圈 | 1.需要微信认证(一年一次,一次300,不想认证的可以跳过) 2.需要设置域名白名单,官方文档上边描述不太清楚,不管文件在何种路径下, 在保证浏览器可读前提下,只需要在设置的input框中只输入域名即可 |
6 | scroll-view | 见 《微信小程序cover-view使用解析》 |
7 | permission | 客户端 7.0.0 新增配置,如需使用位置接口,需在 app.json 中添加配置 permission 字段用于说明位置接口用途 《文档表述》 |
8 | cover-view,cover-image等渲染出来了,但是没有响应 | 组件推荐不要内置于map等原生组件中,因为会出现没有响应的bug |
9 | 开发工具报错 “未找到入口app.json文件,请检查后重新编译 ” | 由于修改目录等级、名称或者计算机丢失缓存都会引起此错误,解决方法就是在在工具中删除此项目,然后重新导入 |
10 | cover-view,cover-image等渲染出来了,但是层级关系不对 | 注意该组件的定位设置,与之对应的层级关系(relative,absolute,fixed),另外cover相关组件总是层级高于原生组件 |
11 | onShareAppMessage不能正确回调webViewUrl | 只有点击右上角转发才可以正确触发 |
12 | 编辑器特别卡 | 1.使用audits优化代码;2.拆分终端窗口一定程度上会缓解卡顿现象 3.重启开发工具 |
13 | remote-helper.js ReferenceError: define is not defined | 1.代码错误;2.重启开发工具 :) |
14 | 自定义组件中 data 与 properties | 1.properties:组件的对外属性,是属性名到属性设置的映射表 2.data:组件的内部数据,和 properties 一同用于组件的模板渲染 3.两者都为组件数据,包括内部数据和属性值(与 data 一致) |
15 | 自定义组件中wxml文件中 data 属性 | data-key 中,key不区分大小写,在获取时全部为小写 |
16 | wx.pageScrollTo | selector 参数不能存在中文,怀疑与小程序内置编码有关 |
17 | wxcss中不能使用 :root 来定义 var()变量 | 可以在page选择器中定义。例如:page{ –theme-color:#000} .class {color:–theme-color} |
18 | 配置了navigationBarTitleText不生效 | 1.检查 {page}.json 文件中是否包含 window 关键字属性。 2.检查 app.json 文件 中是否包含该 page 路径 |
序号 | 名称 | 优化 |
---|---|---|
1 | 启动优化 | 1.减少逻辑与请求; 2.减少非页面相关data数据声明与操作 3.减少阻塞IO操作 |
2 | 设置图片缓存控制 | 在响应头中加入 Cache-Control : max-age=180 (单位秒) |
序号 | 名称 | 优化 |
---|---|---|
1 | 退出微信小程序开发者 | 在手机上关注公众平台安全助手 > 绑定查询 > 点击要退出的账号 > 解除绑定 |