kandian-ad-sdk
| Install | |
|---|---|
npm install kandian-ad-sdk |
|
| Latest Version: | 1.7.2 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 22, 2026 |
| Links: | npm |
看点广告 SDK (kandian-ad-sdk)
Vue3 广告组件库,支持固定展位和列表穿插广告展示
✨ 功能特性
- ✅ 极简 API - 只需 2 个必需参数(广告位编号 + 省编码),其他全部自动处理
- ✅ 智能识别 - 自动识别广告类型(固定展位/列表穿插)
- ✅ 自动等待 - 参数未就绪时自动等待,无需手动判断
- ✅ 自动记录 - 点击自动调用 AddAdvertRecords 接口
- ✅ 自动跳转 - 点击自动跳转到 LinkUrl
- ✅ 智能容器 - 自动计算容器样式(max-width、padding)
- ✅ 环境自适应 - 自动选择 API 地址(测试/生产)
- ✅ Swiper 轮播 - 基于 swiper 的平滑轮播
- ✅ TypeScript - 完整的类型定义支持
- ✅ 响应式设计 - 支持移动端 rpx 单位
📦 安装
npm install kandian-ad-sdk
# 或
pnpm add kandian-ad-sdk
# 或
yarn add kandian-ad-sdk
🔧 环境要求
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| vue | >= 3.2.0 | v1.4.2 起兼容 Vue 3.2(uni-app 3.0.0-309xxx 等旧工具链) |
⚠️ v1.4.1 及之前版本要求 vue ^3.3.0。若宿主项目使用 Vue 3.2.x(如 uni-app
3.0.0-3090920231225001+ Vite 4 工具链),请升级到 v1.4.2+,否则小程序构建会在defineEmits宏处报错。
⚠️ 重要:环境配置
✅ 大多数情况下无需配置
SDK 会自动根据环境变量判断并选择正确的 API 地址:
| 环境变量值 | SDK 使用的 API 地址 |
|---|---|
production |
https://gateway.zljx.top/subjectapi (生产环境) |
development 或 test |
http://testwh.zljx.top:8072/pzxf/subjectapi (测试环境) |
| 未设置时 | 根据域名自动判断 |
📝 如何在项目中配置环境变量
Vue3 + Vite 项目
在 main.ts/main.js 中注入环境变量(推荐):
// main.ts 或 main.js
import { createApp } from "vue"
// 将环境变量注入到 window,供 SDK 使用
if (typeof window !== "undefined") {
// 方式1:注入环境标识(SDK 会自动选择对应的 API 地址)
window.__VITE_APP_ENV__ = import.meta.env.VITE_APP_ENV // production | development | test
// 或者
window.__VITE_NODE_ENV__ = import.meta.env.VITE_NODE_ENV
// 方式2:直接注入 API 地址(优先级更高,推荐)
window.__KANDIAN_AD_API_URL__ = import.meta.env.VITE_APP_subjectApi
console.log("✅ SDK 环境配置已注入:", {
环境: window.__VITE_APP_ENV__ || window.__VITE_NODE_ENV__,
API地址: window.__KANDIAN_AD_API_URL__
})
}
const app = createApp(App)
// ...
uni-app 项目
在 App.vue 的 onLaunch 中配置:
// App.vue (uni-app)
export default {
onLaunch() {
// uni-app 项目中的配置方式
if (typeof window !== "undefined") {
// 方式1:设置环境标识(推荐)
window.__VITE_APP_ENV__ = "production" // 或 'development'、'test'
// 方式2:直接设置 API 地址(优先级更高)
window.__KANDIAN_AD_API_URL__ = "https://gateway.zljx.top/subjectapi"
}
}
}
或者在页面的 script 标签中:
<script>
// 在页面 script 中设置(全局生效)
export default {
onReady() {
if (typeof window !== "undefined") {
window.__KANDIAN_AD_API_URL__ = "https://gateway.zljx.top/subjectapi"
}
}
}
</script>
🔧 环境判断优先级
SDK 按以下优先级判断使用哪个 API 地址:
- 最高优先级:
window.__KANDIAN_AD_API_URL__(直接指定 API 地址) - 次优先级:
window.__VITE_APP_subjectapi(项目注入的 API 地址) - 环境变量:
window.__VITE_APP_ENV__/window.__VITE_NODE_ENV__production→ 生产环境development/test→ 测试环境
- 最低优先级:域名自动判断
localhost/127.0.0.1/192.168.x.x→ 测试环境- 包含
test或.yiuxiu.com的域名 → 测试环境 - 其他域名 → 生产环境
🚀 快速开始
1. 在入口文件导入样式
// main.ts
import "kandian-ad-sdk/dist/index.css"
2. 基础用法
Vue 3 项目(推荐)
<template>
<!-- ✅ SDK 自动管理容器,无需外层 div 包装 -->
<KandianAd
location-no="214112578018794501"
:province-code="provinceCode"
:city-code="cityCode"
:area-code="areaCode"
/>
</template>
<script setup lang="ts">
import { ref } from "vue"
import { KandianAd } from "kandian-ad-sdk"
// ⚠️ 重要:行政区域编码需要根据用户实际位置动态获取
// 以下仅为示例,实际使用时请通过定位接口获取真实编码
const provinceCode = ref("330000") // 需要动态获取
const cityCode = ref("330700") // 需要动态获取
const areaCode = ref("330702") // 需要动态获取
</script>
Vue 2 项目
<template>
<!-- Vue 2 使用方式相同 -->
<KandianAd
location-no="214112578018794501"
:province-code="provinceCode"
:city-code="cityCode"
:area-code="areaCode"
/>
</template>
<script>
import { KandianAd } from "kandian-ad-sdk"
export default {
// ⚠️ Vue 2 必须手动注册组件
components: {
KandianAd
},
data() {
return {
// ⚠️ 行政区域编码需要根据用户实际位置动态获取
provinceCode: "330000", // 需要动态获取
cityCode: "330700", // 需要动态获取
areaCode: "330702" // 需要动态获取
}
}
}
</script>
Vue 2 与 Vue 3 的主要差异:
- 组件注册:Vue 2 需要在
components选项中手动注册,Vue 3 setup 语法自动注册 - 数据定义:Vue 2 使用
data()函数,Vue 3 使用ref()或reactive() - 模板绑定:两者都使用
:province-code动态绑定 - Props 绑定:对象类型的 props(如
custom-style)在 Vue 2 和 Vue 3 中都使用:custom-style="{...}"绑定
⚠️ Vue2/Vue3 调用注意事项
1. 对象类型 Props 的绑定方式
Vue 2 和 Vue 3 都必须使用动态绑定:
<!-- ✅ 正确:使用 :custom-style 动态绑定 -->
<KandianAd :custom-style="{ autoplayDelay: 5000 }" />
<!-- ❌ 错误:直接传递对象会在 Vue 2 中导致响应式失效 -->
<KandianAd custom-style="{ autoplayDelay: 5000 }" />
2. 响应式数据绑定
Vue 2:
<script>
export default {
data() {
return {
swiperStyle: {
autoplayDelay: 5000,
showPagination: true
}
}
}
}
</script>
<template>
<!-- ✅ 绑定 data 中的响应式对象 -->
<KandianAd :custom-style="swiperStyle" />
</template>
Vue 3:
<script setup lang="ts">
import { reactive } from "vue"
const swiperStyle = reactive({
autoplayDelay: 5000,
showPagination: true
})
</script>
<template>
<!-- ✅ 绑定响应式对象 -->
<KandianAd :custom-style="swiperStyle" />
</template>
3. 条件编译(uni-app 项目)
<script setup>
// uni-app 中条件处理环境变量
// #ifdef H5
const apiBaseUrl = "https://gateway.zljx.top/subjectapi"
// #endif
// #ifdef MP-WEIXIN
const apiBaseUrl = "https://gateway.zljx.top/subjectapi"
// #endif
</script>
🎯 参数说明
必需参数
| 参数 | 类型 | 说明 |
|---|---|---|
| location-no | String | 广告位编号 |
| province-code | String | 省编码(如:330000),最低要求,必须有值 |
| city-code | String | 市编码(如:330700),传空或 null 时接口传空字符串 |
| area-code | String | 区编码(如:330702),传空或 null 时接口传空字符串 |
⚠️ v1.4.3 变更:省市区编码参数保持必填,但运行时只校验
province-code省级编码有值(最低要求),city-code/area-code传入空字符串或 null 时,SDK 自动补空字符串传给接口。<!-- ✅ 只获取到省编码也可以(市/区传空) --> <KandianAd location-no="214112578018794501" province-code="330000" city-code="" area-code="" /> <!-- ✅ 省市区编码完整传入 --> <KandianAd location-no="214112578018794501" province-code="330000" city-code="330700" area-code="330702" />
可选参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| auto-record | Boolean | true | 是否自动记录点击 |
| auto-jump | Boolean | true | 是否自动跳转 |
| show-ad-info | Boolean | false | 是否显示广告文本信息 |
| custom-style | Object | 见下方 | 自定义轮播样式(固定展位有效) |
| insert-position | Number | 3 | 每 N 条插入一条广告(列表穿插有效) |
| hide-on-error | Boolean | true | 错误时是否隐藏组件 |
custom-style 配置
{
paginationColor?: string // 分页器颜色(默认:#fff)
paginationActiveColor?: string // 分页器激活颜色(默认:#409eff)
navigationColor?: string // 导航按钮颜色(默认:#fff)
autoplayDelay?: number // 自动播放延迟(毫秒),设置后启用自动轮播
showNavigation?: boolean // 是否显示导航按钮(默认:false)
showPagination?: boolean // 是否显示分页器(默认:true)
borderRadius?: { // 容器圆角配置(v1.6.0+,不传时保持默认圆角不变)
enabled?: boolean // 是否启用圆角(false 时关闭圆角)
positions?: AdBorderRadiusPosition | AdBorderRadiusPosition[]
// 圆角位置,默认 'all';支持数组组合,如 ["top", "bottom-left"]
size?: number | string // 圆角大小:number 跟随 size-unit(默认 20);string 直接使用(如 "16px"、"50%")
}
}
圆角 positions 可选值(v1.6.0+):
| 值 | 说明 | 值 | 说明 |
|---|---|---|---|
all |
四角(默认) | top-left |
左上角 |
top |
上侧两角 | top-right |
右上角 |
bottom |
下侧两角 | bottom-left |
左下角 |
left |
左侧两角 | bottom-right |
右下角 |
right |
右侧两角 |
💡 圆角配置作用于广告整体容器(固定展位/列表穿插均生效)。
size传 number 时跟随size-unit单位(H5 端 rpx 模式按屏幕宽度换算为 px,小程序端 rpx 原生生效);如需精确控制建议传 string(如"16px")。
自动轮播说明:
- ✅ v1.4.3 起默认自动轮播:多个广告时自动开启轮播,默认间隔 3000 毫秒(3 秒)
- 如需自定义间隔,设置
autoplayDelay为任意数值(如 5000) - 如需禁用自动轮播,设置
autoplayDelay: 0 - 鼠标悬停时会自动暂停播放
- 仅固定展位(Type=1)支持轮播功能
使用示例:
<!-- 启用自动轮播,5秒切换一次 -->
<KandianAd
location-no="214112578018794501"
:province-code="provinceCode"
:city-code="cityCode"
:area-code="areaCode"
:custom-style="{ autoplayDelay: 5000 }"
/>
<!-- 关闭圆角(v1.6.0+) -->
<KandianAd
location-no="214112578018794501"
:province-code="provinceCode"
:city-code="cityCode"
:area-code="areaCode"
:custom-style="{ borderRadius: { enabled: false } }"
/>
<!-- 只有上侧圆角,大小 16(v1.6.0+) -->
<KandianAd
location-no="214112578018794501"
:province-code="provinceCode"
:city-code="cityCode"
:area-code="areaCode"
:custom-style="{ borderRadius: { positions: 'top', size: 16 } }"
/>
📝 完整示例
监听事件
<template>
<KandianAd
location-no="214112578018794501"
province-code="330000"
city-code="330700"
area-code="330702"
@ad-load="handleAdLoad"
@ad-error="handleAdError"
/>
</template>
<script setup lang="ts">
import { KandianAd } from "kandian-ad-sdk"
import type { AdvertData } from "kandian-ad-sdk"
// 广告加载完成
const handleAdLoad = (data: AdvertData | null) => {
if (data) {
console.log("广告加载成功:", data.Title)
console.log("广告类型:", data.TypeText)
console.log("广告数量:", data.Adverts.length)
}
}
// 广告加载失败
const handleAdError = (error: Error) => {
console.error("广告加载失败:", error.message)
}
</script>
高级配置
<template>
<!-- 关闭自动记录和跳转 -->
<KandianAd
location-no="214112578018794501"
province-code="330000"
city-code="330700"
area-code="330702"
:auto-record="false"
:auto-jump="false"
@ad-click="handleAdClick"
/>
<!-- 自定义轮播样式(启用自动轮播) -->
<KandianAd
location-no="214112578018794501"
province-code="330000"
city-code="330700"
area-code="330702"
:custom-style="{
autoplayDelay: 5000, // 设置自动轮播延迟为5秒
showPagination: true,
paginationColor: '#409eff'
}"
/>
<!-- SDK 自动根据屏幕宽度适配,无需手动设置 -->
<KandianAd
location-no="214112578018794501"
province-code="330000"
city-code="330700"
area-code="330702"
/>
</template>
<script setup lang="ts">
import { KandianAd } from "kandian-ad-sdk"
import type { Advert } from "kandian-ad-sdk"
// 手动处理广告点击
const handleAdClick = (ad: Advert) => {
console.log("广告被点击:", ad.Title)
// 自定义处理逻辑
}
</script>
🔧 环境配置
SDK 会自动选择 API 地址,通常无需手动配置:
- 本地开发(localhost / 127.0.0.1 / 192.168.x.x)→ 测试环境
- 测试域名(包含 test 或 .yiuxiu.com)→ 测试环境
- 生产域名(其他)→ 生产环境
自定义 API 地址(可选)
如果需要自定义 API 地址:
<script>
// 在组件中设置(全局生效)
window.__KANDIAN_AD_API_URL__ = "https://your-custom-api.com"
</script>
<script setup lang="ts">
// 或使用环境变量
const apiBaseUrl = import.meta.env.VITE_APP_subjectapi
</script>
📱 uni-app 项目特别说明
SDK v1.3.0+ 支持 uni-app 全端:H5/App 使用 H5 产物,小程序端使用源码子包 kandian-ad-sdk/mp。
安装说明
uni-app 项目中安装和使用 SDK 与标准 Vue3 项目完全相同:
# 在 uni-app 项目根目录执行
pnpm add kandian-ad-sdk
uni-app 特殊配置(H5/App 端)
如果遇到环境变量问题,建议在 App.vue 或页面组件的 onLaunch 中设置 API 地址:
// App.vue (uni-app)
export default {
onLaunch() {
// 设置 SDK API 地址(推荐方式)
;(window as any).__KANDIAN_AD_API_URL__ =
"https://gateway.zljx.top/subjectapi"
}
}
兼容性说明
- ✅ H5 端:完全兼容(
kandian-ad-sdk主入口) - ✅ 小程序端:完全兼容(v1.3.0+ 需使用
kandian-ad-sdk/mp源码子包,见下文) - ✅ App 端:完全兼容(
kandian-ad-sdk主入口) - ✅ Vue 版本:v1.4.2 起同时兼容 Vue 3.2.x 与 Vue 3.3+(见下方"Vue 3.2 兼容性")
Vue 3.2 兼容性(v1.4.2 重要修复)
Vue 宏(defineProps/defineEmits)的类型参数中引用外部导入类型是 Vue 3.3+ 才支持的能力。v1.4.1 的 mp 子包组件使用了 import type { AdEmits } from "../../shared/types" + defineEmits<AdEmits>() 的写法,在 Vue 3.2 的 compiler-sfc(如 uni-app 3.0.0-3090920231225001 + Vite 4 工具链,Vue 3.2.47)下构建小程序会报错:
[@vue/compiler-sfc] type argument passed to defineEmits() must be a function type,
a literal type with call signatures, or a reference to the above types.
v1.4.2 已将 mp 子包各组件的 Props/Emits 类型全部改为 SFC 内本地声明,不再依赖外部导入类型,兼容 Vue 3.2。
mp 子包源码维护约定(新增/修改组件时必须遵守):
defineProps/defineEmits的类型参数只能在 SFC 内本地声明(interface 直接写在组件里)- 本地 Props 接口不得
extends外部导入的接口,字段需内联;属性类型只能使用可静态推断的基础类型(string/number/boolean/字面量联合/内联对象结构) - Emits 接口中事件名的第一个参数必须是字符串字面量;其余参数可引用导入类型(仅用于 TS 提示,不参与运行时生成)
已验证项目
- pzxf_m 品浙消费(uni-app
3.0.0-4030620241128001+ Vue3.4.21+ Vite 5,微信小程序 + H5 双端构建通过) - zljx3 浙里金消用户端(uni-app
3.0.0-3090920231225001+ Vue3.2.47+ Vite 4,微信小程序构建通过)
🧩 小程序端接入(uni-app 微信小程序等)
原理
小程序端组件模板必须在业务项目编译期编译成 WXML,因此 SDK 为小程序提供源码形式的子包 kandian-ad-sdk/mp(内置 <swiper>/<image> 等原生组件实现,不依赖 DOM)。主入口的 dist 产物在小程序端无法使用(vue 被 alias 为 @dcloudio/uni-mp-vue,缺少 openBlock 等导出)。
第 1 步:配置 vite(防止 dev 预打包 .vue 源码失败)
// vite.config.ts
export default defineConfig({
optimizeDeps: {
exclude: ["kandian-ad-sdk"]
}
})
第 2 步:条件编译导入
// #ifndef MP
import { KandianAd } from "kandian-ad-sdk"
// #endif
// #ifdef MP
import KandianAd from "kandian-ad-sdk/mp/components/KandianAd.vue"
// #endif
⚠️ 小程序分支必须使用默认导入 .vue 源文件的方式(
kandian-ad-sdk/mp/components/KandianAd.vue),这样 uni-app 编译器才能正确生成usingComponents注册。主入口kandian-ad-sdk的 CSS 也需用// #ifndef MP隔离。
模板两端统一使用:
<KandianAd
location-no="xxxxx"
:province-code="areaNoObj.ProvinceNo"
:city-code="areaNoObj.CityNo"
:area-code="areaNoObj.AreaNo"
web-view-path="/pages/webview"
/>
第 3 步:设置 API 地址(小程序端)
小程序无法通过 window/域名判断环境,需在启动时显式设置(或使用 apiBaseUrl prop):
// App.vue 或 main.ts
import { setApiBaseUrl } from "kandian-ad-sdk/mp"
setApiBaseUrl("https://gateway.zljx.top/subjectapi") // 按环境设置
// 未设置时兜底使用生产地址 https://gateway.zljx.top/subjectapi
小程序端差异说明
| 能力 | H5 行为 | 小程序行为 |
|---|---|---|
| 轮播 | swiper/vue(DOM) | 内置 <swiper>(autoplay/circular/indicator-dots) |
| 尺寸换算 | JS 动态换算 px | 原生 rpx(750 设计稿值 1:1 映射) |
| http(s) 外链跳转 | window.open 新窗口 |
跳转 web-view-path 指定的 webview 页面(需传该 prop,未传则仅触发 ad-click 事件) |
内部路由 /xxx |
location.href |
uni.navigateTo |
| 点击埋点 | 自动(AddAdvertRecords) | 自动(uni.request 实现) |
| 定位工具(location.ts) | 支持 | 不提供(小程序端请直接传区域编码 props) |
已验证项目
- pzxf_m(uni-app vue3 微信小程序 + H5 双端构建通过)
🎨 样式说明
SDK 自动管理容器样式
- ✅ 自动设置
max-width(根据广告位尺寸) - ✅ 自动设置
padding(根据样式类型计算) - ✅ 同一页面多个广告位样式互不影响
样式类型
- 纯图片模式(StyleType ≠ 2):SDK 自动计算 padding 居中显示图片
- 图文结合模式(StyleType = 2):padding 由 SDK 内部处理
📊 类型定义
interface Advert {
AdrertID: number
Title: string
SubTitle: string
ImageUrl: string
LinkUrl: string
Customer: string
Sort: number
Status: number
}
interface AdvertData {
ConfigID: number
LocationNo: string
Title: string
Type: number
TypeText: string
StyleType: number
StyleTypeText: string
AdvertSize: string
AdvertImgSize: string
Adverts: Advert[]
}
🌐 浏览器支持
- Chrome (最新版本)
- Firefox (最新版本)
- Safari (最新版本)
- Edge (最新版本)
🔗 相关链接
- 完整文档:查看项目内的 KANDIAND_AD_GUIDE.md
- 移动端适配:查看项目内的 MOBILE_ADAPTATION_GUIDE.md
- 多实例修复:查看项目内的 MULTI_INSTANCE_FIX.md
📝 更新日志
v1.6.2 (2026-09-29)
- 🐛 修复:宿主 App/小程序 web-view 中,广告图片已按平台切换为 App 图(
ImageUrl2),但广告位未配置"APP 小程序广告图片尺寸"(AdvertImgSize2)或下发接口未返回该字段时,容器仍按 H5 尺寸(AdvertImgSize)比例渲染导致高度失真 - 修复:新增图片真实比例兜底——非 Web 环境(
isNonWeb()为 true)且未配置AdvertImgSize2时,第一张广告图加载后读取真实宽高比(naturalWidth/naturalHeight),覆盖容器配置比例(多图轮播仅取第一张,容器比例保持稳定) - 影响范围:
FixedPositionAd(H5/小程序)、InlineAd(H5/小程序)四个组件的纯图片模式;已正确配置AdvertImgSize2的场景与纯 H5 环境行为完全不变 - 兜底说明:H5 版通过
aspect-ratio覆盖、小程序版通过padding-top百分比覆盖;图文结合模式(StyleType = 2)不启用兜底
v1.6.1 (2026-09-28)
- 🐛 修复:宿主 App/小程序通过 web-view 加载纯 Web 产物时,
isNonWeb()无法识别环境,导致广告始终取 H5 图(ImageUrl)而非 App/小程序图(ImageUrl2) - 原因:该场景下无 uni-app 全局对象(
uni),原判断链路恒返回false - 修复:
isNonWeb()判断链路最前面新增 宿主 UA 标识识别——UA(小写)包含miniprogram(微信小程序 web-view 自带)或pinzhexiaofeiapp(品浙消费 App 自定义标识)即视为非纯 Web;原有 uni-app 运行时判断保持不变 - 兼容性:UA 获取通过
globalThis安全访问,小程序端(无navigator)不受影响
v1.6.0 (2026-09-27)
- ✨ 新增:
customStyle.borderRadius容器圆角配置,支持开关(enabled)、位置(positions:四边/单边/单角,可数组组合)、大小(size);不传时保持默认圆角行为不变 - ⚠️ 行为变更:纯图片广告(StyleType ≠ 2)渲染尺寸改为以当前平台图片尺寸为准(H5 取
AdvertImgSize,App/小程序优先AdvertImgSize2),降级使用广告位尺寸——图片尺寸区分两端而广告位尺寸仅一套,以图片为准可保证纯图片广告比例与素材一致;图文结合广告(StyleType = 2)保持广告位尺寸优先,行为不变 - ✨ 新增类型导出:
AdBorderRadiusPosition、AdBorderRadiusStyle - ✨ 新增工具函数导出(
mp子包入口):getPreferredAdSize、resolveBorderRadiusStyle
v1.4.4 (2026-09-11)
- 🐛 重要修复:小程序端(
mp子包)图文结合模式(StyleType = 2)文字不显示 - 原因:
FixedPositionAd.vue中__image-wrapper的width: 100%(纯图片模式样式)在图文结合模式下作为 flex 子项占满整行,把flex: 1的文字区域挤压为 0 宽度,文字渲染但不可见 - 修复:图文结合模式内覆盖图片容器为
width: auto; flex-shrink: 0(宽度由图片内容决定,与 H5 版行为一致),文字区域正常分配剩余空间 - 影响范围:仅
kandian-ad-sdk/mp小程序端;H5 端无此问题
v1.4.3 (2026-09-09)
- ✨ 变更:省市区地区编码校验放宽,省编码为最低要求(必传且有值)
- ✨
city-code/area-code传入空字符串或 null 时,SDK 自动补空字符串传给接口,不再阻塞广告加载 - ✨ 变更:轮播默认自动播放(默认 3000 毫秒),
customStyle.autoplayDelay: 0可禁用 - 📝 更新参数说明文档
v1.4.2 (2026-09-05)
- 🐛 重要修复:
mp小程序源码子包兼容 Vue 3.2(uni-app3.0.0-3090920231225001+ Vite 4 等旧工具链) - 🐛 修复:
InlineAd.vue/FixedPositionAd.vue的 Props 接口不再extends外部导入的AdProps,改为 SFC 内本地完整声明 - 🐛 修复:
defineEmits类型参数由外部导入的AdEmits改为本地声明的接口,解决 Vue 3.2 compiler-sfc 报错type argument passed to defineEmits() must be a function type... - 🔧 变更:
peerDependencies.vue由^3.3.0放宽为>=3.2.0 - ✅ 验证:品浙消费 pzxf_m(Vue 3.4.21)与浙里金消 zljx3(Vue 3.2.47)微信小程序构建均通过
v1.2.21 (2025-01-22)
- 🔧 调试增强:增强 localStorage 样式合并的调试日志
- 🔧 优化:当检测到 localStorage 中存在保存的样式配置时,输出警告信息
- 🔧 优化:增强样式合并过程的调试输出,便于排查问题
- 📝 新增:localStorage 清除建议,避免旧配置影响新功能
v1.2.20 (2025-01-22)
- 🐛 重要修复:修复
customStyle.autoplayDelay不生效的问题 - 🐛 修复:
KandianAd.vue为customStyle添加默认值() => ({}),确保响应式追踪 - 🐛 修复:优化
FixedPositionAd.vue的 autoplay 判断逻辑 - 📝 新增:详细的 Vue2/Vue3 调用注意事项文档
- 📝 新增:
custom-style完整使用示例和正确绑定方式 - ✅ 测试:验证 autoplayDelay 在 Vue2 和 Vue3 中都能正常工作
v1.2.8 (2024-08-14)
- 🔧 重要修复:支持通过环境变量判断环境(支持本地开发连接线上环境)
- ✨ 新增:支持
window.__VITE_APP_ENV__和window.__VITE_NODE_ENV__环境变量 - 🔧 优化:环境判断优先级调整为:用户指定 > 环境变量 > 域名判断
- 🐛 修复:修复
watch的immediate: false导致参数已就绪时不加载的问题 - 📝 更新:完善环境配置文档,提供多种配置方式
v1.2.7 (2024-08-14)
- 🔧 重要修复:完全兼容 uni-app 项目
- 🔧 增强:移除所有可能导致
__DEFINES__ is not defined的代码 - 🔧 优化:添加
@vue/runtime-core和@vue/shared到 externals - 🔧 优化:添加
define: {}配置防止环境变量处理 - 📝 新增:uni-app 项目特别说明文档
- ✅ 测试:已在 uni-app 项目中验证通过
v1.2.4 (2024-08-14)
- ✨ 新增:参数自动等待功能,参数未就绪时不再报错
- ✨ 新增:自动监听参数变化,参数齐全时自动加载
- 🐛 修复:解决参数逐步传入时的报错问题
v1.2.3
- 📝 完善类型定义
- 🐛 修复容器样式计算问题
v1.2.2
- ✨ 新增:自动点击记录功能
- ✨ 新增:自动跳转功能
v1.1.0
- 🎉 首次发布
📄 许可证
MIT
Related Packages
一个用于 UniApp 项目的 Webpack 插件,用于处理 Vue 文件中的 `<component-config>`...
一个用于 UniApp 项目的 Vite 插件,用于处理 Vue 文件中的 `<component-config>` 标...
一个用于 uni-app Vue3 项目的 Vite 插件,用于分析组件被哪些页面使用、使用了多少次...
一个用于 uni-app Vue2 项目的 Webpack 插件,用于分析组件被哪些页面使用、使用了多...
Version History
| Version | Released | License |
|---|---|---|
| 1.7.2 | MIT | |
| 1.7.1 | MIT | |
| 1.7.0 | MIT | |
| 1.6.3 | MIT | |
| 1.6.2 | MIT | |
| 1.6.1 | MIT | |
| 1.6.0 | MIT | |
| 1.5.3 | MIT | |
| 1.5.2 | MIT | |
| 1.5.1 | MIT | |
| 1.5.0 | MIT | |
| 1.4.4 | MIT | |
| 1.4.3 | MIT | |
| 1.4.2 | MIT | |
| 1.4.1 | MIT | |
| 1.4.0 | MIT | |
| 1.2.27 | MIT | |
| 1.2.26 | MIT | |
| 1.2.25 | MIT | |
| 1.2.19 | MIT | |
| 1.2.18 | MIT | |
| 1.2.17 | MIT | |
| 1.2.16 | MIT | |
| 1.2.9 | MIT | |
| 1.2.8 | MIT | |
| 1.2.7 | MIT | |
| 1.2.6 | MIT | |
| 1.2.5 | MIT | |
| 1.2.4 | MIT | |
| 1.0.3 | MIT |
Showing the latest 30 of 33. See every release on npm