具体体现:
function _Ss() {
...
case 4:
_context53.next = 6;
return new Promise(function (e, t) {
uni.login({
success: function success(t) {
e(t.code);
},
fail: function fail(e) {
t(new Error(e.errMsg));
}
});
});
...
}
源码中百度小程序未包含uni.login,找不到编译到此的方法是哪来的,咨询下官方。
- 发布:2022-12-28 15:37
- 更新:2023-08-17 22:41
- 阅读:757
最佳回复
临时解决方案,在项目根目录添加 vue.config.js 文件,内容如下
module.exports = {
chainWebpack: (config) => {
config.optimization.minimizer('terser').tap((args) => {
const compress = args[0].terserOptions.compress
compress.passes = 2
compress.reduce_funcs = true
compress.reduce_vars = true
return args
})
}
}
再修改一下HBuilderX内置的uni-app编译插件的babel配置HBuilderX/plugins/uniapp-cli/babel.config.js
注释掉55行的if块
// if (process.env.UNI_PLATFORM !== 'h5') {
// plugins.push('@babel/plugin-transform-runtime')
// }
将58行的config对象修改为
const config = {
presets: [
[
'@vue/app',
{
modules: webpack.version[0] > 4 ? 'auto' : 'commonjs',
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry',
exclude: ['h5', 'app-plus'].includes(process.env.UNI_PLATFORM) ? undefined : ['@babel/plugin-transform-async-to-generator', '@babel/plugin-transform-regenerator']
}
]
],
plugins
}
注意此修改关闭了uni-app对部分es6语法的转化,如有需要请在小程序开发工具内开启es6到es5的转化
这个问题是百度小程序代码审查的问题,uniapp框架侧已经处理该问题(uni.login 转为 swan. getLoginCode),但某些情况下还是会有这个警告,可以改用 uni. getLoginCode
-
慎读服务中心 (作者)
就是已经改过,百度智能小程序是在回调中使用swan. getLoginCode进行登录,页面中是不存在uni.login方法的。但是vendor.js中还是存在一个uni.login方法,也不知道从哪编译的。上个版本没有这个问题,是更新最新版本后重新出现的
2022-12-29 18:29
-
慎读服务中心 (作者)
回复 DCloud_UNI_WZF: 文件搜索过,除登录页中条件编译里(非MP-BAIDU条件)存在uni.login方法外,没有其他任何页面存在uni.login方法。搞不明白问题出在哪
2023-01-01 00:10
慎读服务中心 (作者)
“DCloud_uniCloud_WYQ”同学提供的临时解决方案,会引发其他问题,官方有修复方案了么?
2023-02-28 10:13
DCloud_uniCloud_WYQ
回复 慎读服务中心: 引发什么问题?
2023-02-28 11:44
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 不知道什么原因,改了之后发布到其他平台的代码会出问题,大问题没有,就是些样式之类的问题。把文件换回正常的文件后,又会恢复正常
2023-03-01 17:13
DCloud_uniCloud_WYQ
回复 慎读服务中心: 可以整理个demo发出来看看吗?
2023-03-01 17:23
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 这个是真不好弄,之前的兼容性复现比较简单,现在这个比较复杂,而且它出问题的点,我到现在也没完全摸清
2023-03-01 17:27
DCloud_uniCloud_WYQ
回复 慎读服务中心: 其他平台是指什么平台,样式问题可以大致描述下吗?
2023-03-01 17:52
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 更经典的问题出现了,改了之后还是诊断不通过
2023-03-01 19:44
DCloud_uniCloud_WYQ
回复 慎读服务中心: 帖子里面那个位置的代码再发一下,看看还有没有
case 4:
这种代码2023-03-02 11:28
DCloud_uniCloud_WYQ
回复 慎读服务中心: 另外你现在用的HBuilderX版本是多少?
2023-03-02 11:29
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 3.7.3.20230223
2023-03-02 13:13
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 有7处case 4:
2023-03-02 13:14
DCloud_uniCloud_WYQ
回复 慎读服务中心: 我这用3.7.3按照上面的改法没有login了,要不你切换成vue3项目看看吧
2023-03-06 17:12
DCloud_uniCloud_WYQ
回复 慎读服务中心: 还有就是你改了上述配置后,用的是HBuilderX里面发行生成的小程序项目还是运行生成的?
2023-03-06 17:13
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 运行,发行没试过,明天试试
2023-03-08 01:36
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 发行无用~
2023-03-08 01:41
DCloud_uniCloud_WYQ
回复 慎读服务中心: 发行和运行输出的目录不一样,确定没选错吗?要不让我远程看下吧,加我QQ 2292434668
2023-03-08 11:28
慎读服务中心 (作者)
回复 DCloud_uniCloud_WYQ: 同名QQ已加
2023-03-23 12:40
DCloud_uniCloud_WYQ
回复 DCloud_uniCloud_WYQ: 此问题已解决,先按照最佳回复操作即可
2023-08-18 11:08