Skip to content

[Bug]: uniapp兼容性问题,无法在部分小程序中使用 #657

@LittleTurtle2333

Description

@LittleTurtle2333

这是否是一个 Bug?

  • 我已经确认我要报告的是一个 Bug

这个问题是否已经存在?

  • 我已经确认这个 Issue 没有被报告过

Alova 版本

3.2.10

前端框架

Vue

问题描述

Image

在支付宝小程序和字节小程序中无法直接操作globalThis,支付宝需要按照这篇文档进行适配。
参照uniapp文档在项目中新建mini.project.json填下如下内容
{ "format": 2, "compileOptions": { "component2": true, "enableNodeModuleBabelTransform": true, "globalObjectMode": "enable" }, "developOptions": { "skipTranspile": true } }
随后即可访问globalThis,可以把Apis挂载到全局对象上面。此时Apis可以正常使用,useRequest功能不报错但是发不出网络请求,原因是alova判定为服务器渲染,需要结合alova文档,在alova cli生成的 api/index.ts 中 添加如下代码

import { globalConfig } from 'alova';

globalConfig({
  ssr: false
});

关闭服务器渲染后即可正常运行。

在字节小程序中,由于字节未提供开启globalThis的选项,只能通过alova.config.js中的globalHost改为'uni',将alova挂载到uni对象上进行使用。
从而引发新的问题,在调用uni.Apis时,ts在uni对象上无法找到Apis类型,但是可以运行

期望的表现

修复对ts的支持

复现链接

No response

复现步骤

使用uni cli工具创建一个新的ts项目
随后集成alova相关工具
根据指引即可复现

系统信息

System:
    OS: Windows 11 10.0.26100
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i9-12900H
    Memory: 6.95 GB / 31.70 GB
  Binaries:
    Node: 22.14.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.9.2 - C:\Program Files\nodejs\npm.CMD
    pnpm: 10.6.5 - ~\AppData\Roaming\npm\pnpm.CMD
  Browsers:
    Edge: Chromium (134.0.3124.83)
  npmPackages:
    alova: ^3.2.10 => 3.2.10
    vue: 3.4.21 => 3.4.21

补充说明

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions