1***@qq.com
1***@qq.com
  • 发布:2025-07-18 18:23
  • 更新:2025-07-31 17:27
  • 阅读:601

【报Bug】uniapp打包app配置useragent调用原生地图页面回来后useragent被修改

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.66

手机系统: Android

手机系统版本号: Android 15

手机厂商: vivo

手机机型: iqoo neo9spro+

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

"useragent_android" : {
"value" : "com.xxx.android",
"concatenate" : true
},
"useragent_ios" : {
"value" : "com.xxx.ios",
"concatenate" : true
},

操作步骤:

按描述操作就能复现

预期结果:

进入地图选择页面不要去修改useragent

实际结果:

修改了useragent,服务器日志看到是这样的

bug描述:

打包app配置useragent,下面会提供配置代码片段,com.xxx.android是自己配置进去的,正常使用服务器日志是:Mozilla/5.0 (Linux; Android 15; V2403A Build/AP3A.240905.015.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36 com.xxx.android Html5Plus/1.0 (Immersed/38.0) ;但是在app中使用自带的 chooseLocation 打开地图页面;无论选不选地址,回来后请求接口,服务器日志会变成:Mozilla/5.0 (Linux; Android 15; V2403A Build/AP3A.240905.015.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/136.0.7103.125 Mobile Safari/537.36 com.xxx.android;后台校验了这个,导致这边登录失效,这个是为什么,为什么使用自带的chooseLocation 会修改useragent?自带的相机方法好像都不会有这个问题

2025-07-18 18:23 负责人:DCloud_Android_THB 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

是调用什么API访问服务器的?

  • 1***@qq.com (作者)

    uni自带的request二次封装公用的请求方法,底下代码这样的

    uni.request({

    url: __CFG.APIURL + '?API=' + api,

    dataType: "json",

    data: json,

    method: "POST",

    header: {

    'content-type': 'application/x-www-form-urlencoded'

    },

    success: function(res) {},fail: function(error) {}

    })

    2025-07-29 17:13

DCloud_Android_THB

DCloud_Android_THB

是缺个 Html5Plus/1.0 吧?

  • 1***@qq.com (作者)

    对,这个没了,除了 Html5Plus/1.0 没了,还有后面的(Immersed/38.0) 状态栏高度这个也没了

    2025-07-31 18:02

  • 1***@qq.com (作者)

    这个应该是bug吧,我目前看就 chooseLocation 这个方法回来会这样,选择图片就不会

    2025-07-31 18:04

  • DCloud_Android_THB

    回复 1***@qq.com: 你开了沉浸式了没?

    2025-07-31 18:41

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 啥意思,页面自定义顶部那个嘛,调用chooseLocation 有的页面是自定义顶部的,有的是自带的,但是回来都不行

    2025-08-01 09:42

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 看了下,这个页面不是自定义顶部的,调用回来就没了,然后我看刚刚看了下调用openLocation回来也是这样

    2025-08-01 09:48

  • DCloud_Android_THB

    回复 1***@qq.com: 沉浸式会影响(Immersed/38.0)内容

    2025-08-01 10:20

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 哦哦,但是目前好像都会变化,使用openLocation,chooseLocation 回来都变成了 com.xxx.android,这种有什么办法处理嘛

    2025-08-01 10:28

  • DCloud_Android_THB

    回复 1***@qq.com: 问题已经确定,后面版本修复

    2025-08-01 10:35

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 好的好的,望尽快修复

    2025-08-01 10:51

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 对了,ios你们最好也看下哈,这边调试时候看安卓有这问题,ios就没打测试包调试这个问题了

    2025-08-01 10:53

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 还有一个就是,状态栏高度有必要放在这里面嘛,这样会不会导致就像你上面说的那样,有自定义顶部的页面没有,其他页面又有的情况,这样的话app内是不是 useragent 始终都是不统一的,这样服务端校验这个是不是就容易出问题

    2025-08-01 10:58

  • DCloud_Android_THB

    回复 1***@qq.com: 这个沉浸式是配置设置的 文档 搜索immersed

    2025-08-01 11:44

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 哦哦,这个设置没用过,这边设置自定义顶部状态栏是在pages.json中{

    "path" : "pages/mine/mine",

    "style" :

    {

    "navigationBarTitleText" : "",

    "enablePullDownRefresh": false,

    "navigationStyle": "custom"

    }

    }

    这里设置的,因为这边要多端适配,h5、小程序、app,这样设置不会影响吧

    2025-08-01 13:41

  • DCloud_Android_THB

    回复 1***@qq.com: 看起来没有影响,ua的问题,你可以先让服务端忽略后面几个字符,暂时过渡一下,我们后面版本会修复。

    2025-08-01 15:54

  • 1***@qq.com (作者)

    回复 DCloud_Android_THB: 好的收到,你说的没影响,但是我用地图的方法的时候返回后会出现 (Immersed/38.0) 这个值也丢失情况,你们也看下,怀疑和 Html5Plus/1.0 一样的问题

    2025-08-01 16:27

要回复问题请先登录注册