diff --git a/miniprogram/app.json b/miniprogram/app.json
index f5dd91a7..8ed6fd2d 100644
--- a/miniprogram/app.json
+++ b/miniprogram/app.json
@@ -4,7 +4,17 @@
"page/API/index",
"page/cloud/index",
"page/extend/index",
- "page/animation/index"
+ "page/animation/index",
+ "page/ad/index",
+ "page/ad/smart-ad/smart-ad",
+ "page/ad/smart-ad/example1/example1",
+ "page/ad/smart-ad/example2/example2",
+ "page/ad/smart-ad/example3/example3",
+ "page/ad/optimize-ad/optimize-ad",
+ "page/ad/optimize-ad/home-small-card/home-small-card",
+ "page/ad/optimize-ad/home-large-card/home-large-card",
+ "page/ad/optimize-ad/other-small-card/other-small-card",
+ "page/ad/optimize-ad/other-large-card/other-large-card"
],
"usingComponents": {
"mp-navigation-bar": "/component/navigation-bar/navigation-bar"
@@ -484,6 +494,12 @@
"iconPath": "@iconPathCloud",
"selectedIconPath": "@selectedIconPathCloud",
"text": "云开发"
+ },
+ {
+ "pagePath": "page/ad/index",
+ "iconPath": "@iconPathAd",
+ "selectedIconPath": "@selectedIconPathAd",
+ "text": "广告"
}
]
},
diff --git a/miniprogram/demo.theme.json b/miniprogram/demo.theme.json
index 2515bafb..5b5164e5 100644
--- a/miniprogram/demo.theme.json
+++ b/miniprogram/demo.theme.json
@@ -15,6 +15,8 @@
"selectedIconPathAPI": "image/icon_API_HL.png",
"iconPathCloud": "image/icon_cloud.png",
"selectedIconPathCloud": "image/icon_cloud_HL.png",
+ "iconPathAd": "image/icon_ad.png",
+ "selectedIconPathAd": "image/icon_ad_HL.png",
"backgroundTextStyle": "dark"
},
@@ -34,6 +36,8 @@
"selectedIconPathAPI": "image/icon_API_HL.png",
"iconPathCloud": "image/icon_cloud_dark.png",
"selectedIconPathCloud": "image/icon_cloud_HL.png",
+ "iconPathAd": "image/icon_ad_dark.png",
+ "selectedIconPathAd": "image/icon_ad_HL.png",
"backgroundTextStyle": "light"
}
diff --git a/miniprogram/image/icon_ad.png b/miniprogram/image/icon_ad.png
new file mode 100644
index 00000000..78f4287a
Binary files /dev/null and b/miniprogram/image/icon_ad.png differ
diff --git a/miniprogram/image/icon_ad_HL.png b/miniprogram/image/icon_ad_HL.png
new file mode 100644
index 00000000..1e508ce5
Binary files /dev/null and b/miniprogram/image/icon_ad_HL.png differ
diff --git a/miniprogram/image/icon_ad_dark.png b/miniprogram/image/icon_ad_dark.png
new file mode 100644
index 00000000..49190ce1
Binary files /dev/null and b/miniprogram/image/icon_ad_dark.png differ
diff --git a/miniprogram/page/ad/index.js b/miniprogram/page/ad/index.js
new file mode 100644
index 00000000..cdb3fcb5
--- /dev/null
+++ b/miniprogram/page/ad/index.js
@@ -0,0 +1,81 @@
+let interstitialAd = null
+
+Page({
+ onShareAppMessage() {
+ return {
+ title: '微信广告展示',
+ path: 'page/ad/index'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+
+ // 创建插屏广告
+ if (wx.createInterstitialAd) {
+ interstitialAd = wx.createInterstitialAd({
+ adUnitId: 'adunit-7c0acfb6438237aa'
+ })
+ interstitialAd.onLoad(() => {
+ console.log('插屏广告加载成功')
+ })
+ interstitialAd.onError((err) => {
+ console.error('插屏广告加载失败', err)
+ })
+ interstitialAd.onClose(() => {
+ console.log('插屏广告关闭')
+ })
+ }
+ },
+
+ onShow() {
+ // 显示插屏广告
+ if (interstitialAd) {
+ interstitialAd.show().catch((err) => {
+ console.error('插屏广告显示失败', err)
+ })
+ }
+ },
+
+ onItemTap(e) {
+ const type = e.currentTarget.dataset.type
+ if (type === 'smart') {
+ wx.navigateTo({
+ url: '/page/ad/smart-ad/smart-ad'
+ })
+ return
+ }
+ if (type === 'optimize') {
+ wx.navigateTo({
+ url: '/page/ad/optimize-ad/optimize-ad'
+ })
+ return
+ }
+ const typeMap = {
+ hosting: '广告托管',
+ custom: '自主开发'
+ }
+ wx.showToast({
+ title: '稍后上线',
+ icon: 'none'
+ })
+ }
+})
diff --git a/miniprogram/page/ad/index.json b/miniprogram/page/ad/index.json
new file mode 100644
index 00000000..d820c434
--- /dev/null
+++ b/miniprogram/page/ad/index.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/index.wxml b/miniprogram/page/ad/index.wxml
new file mode 100644
index 00000000..426f58ca
--- /dev/null
+++ b/miniprogram/page/ad/index.wxml
@@ -0,0 +1,37 @@
+
+
+
+
+ 微信广告是微信官方提供的广告投放平台,帮助开发者通过小程序实现流量变现。支持多种广告形式,包括 Banner 广告、激励视频广告、插屏广告、原生模板广告等。
+
+
+
+
+
+ 智能广告
+
+
+
+
+
+ 广告调优
+
+
+
+
+
+ 广告托管
+
+
+
+
+
+ 自主开发
+
+
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/index.wxss b/miniprogram/page/ad/index.wxss
new file mode 100644
index 00000000..ff341ef5
--- /dev/null
+++ b/miniprogram/page/ad/index.wxss
@@ -0,0 +1,13 @@
+@import "../../common/reset.wxss";
+@import "../common/index.wxss";
+
+.index-logo {
+ display: block;
+ margin: 0 auto;
+}
+
+.kind-list-item-hd {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
diff --git a/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.js b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.js
new file mode 100644
index 00000000..26f04c87
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.js
@@ -0,0 +1,53 @@
+// 广告调优测试-首页大卡
+Page({
+ data: {
+ theme: 'light'
+ },
+
+ onShareAppMessage() {
+ return {
+ title: '广告调优测试-首页大卡',
+ path: 'page/ad/optimize-ad/home-large-card/home-large-card'
+ }
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad(options) {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ },
+
+ /**
+ * 广告加载成功回调
+ */
+ onadload(e) {
+ console.log('广告加载成功:', e)
+ },
+
+ /**
+ * 广告加载失败回调
+ */
+ onaderror(e) {
+ console.log('广告加载失败:', e)
+ },
+
+ /**
+ * 广告视频结束回调
+ */
+ onvideoended(e) {
+ console.log('广告视频播放结束:', e)
+ }
+})
+
diff --git a/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.json b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.json
new file mode 100644
index 00000000..a2ab00d3
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告调优测试-首页大卡",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxml b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxml
new file mode 100644
index 00000000..7bf9b231
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+ 广告调优测试-首页大卡
+
+
+
+
+
+ 内容区域
+
+ 这是一段填充内容,用于页面展示。
+
+
+ 此页面确保只有一个广告组件,符合一个页面只有一个广告的要求。
+
+
+ 小程序广告是微信官方推出的广告组件,支持多种广告形式。
+
+
+ 广告调优可以帮助开发者优化广告展示效果,提升用户体验。
+
+
+ 首页小卡广告适合在首屏位置展示,能够获得更高的曝光率。
+
+
+ 合理的广告布局可以在不影响用户体验的前提下实现流量变现。
+
+
+ 广告组件会根据用户特征自动匹配最合适的广告内容。
+
+
+ 开发者可以通过回调函数监听广告的加载状态和用户交互行为。
+
+
+ 广告收益与曝光量、点击率等多种因素相关。
+
+
+ 建议在合适的场景下展示广告,避免过度打扰用户。
+
+
+ 持续优化广告展示策略,可以获得更好的变现效果。
+
+
+ 感谢您使用微信广告服务,祝您使用愉快!
+
+
+
+
diff --git a/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxss b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxss
new file mode 100644
index 00000000..8cecabe8
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-large-card/home-large-card.wxss
@@ -0,0 +1,60 @@
+/* 广告调优测试-首页大卡 */
+.container {
+ display: block !important;
+ padding: 0;
+ margin: 0;
+ background-color: #fff;
+ min-height: auto;
+ justify-content: initial;
+}
+
+.ad-section {
+ margin: 0;
+ padding: 0;
+ background-color: #fff;
+}
+
+.ad-label {
+ display: block;
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #333;
+ padding: 20rpx;
+ margin: 0;
+ text-align: center;
+ background-color: #fff;
+}
+
+.ad-unit {
+ width: 100%;
+ display: block;
+}
+
+.content-section {
+ margin: 0;
+ padding: 20rpx;
+ background-color: #fff;
+}
+
+.content-title {
+ display: block;
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.content-item {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ border-left: 4rpx solid #007aff;
+}
+
+.content-text {
+ font-size: 28rpx;
+ line-height: 1.6;
+ color: #666;
+}
diff --git a/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.js b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.js
new file mode 100644
index 00000000..ca3bbba5
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.js
@@ -0,0 +1,53 @@
+// 广告调优测试-首页小卡
+Page({
+ data: {
+ theme: 'light'
+ },
+
+ onShareAppMessage() {
+ return {
+ title: '广告调优测试-首页小卡',
+ path: 'page/ad/optimize-ad/home-small-card/home-small-card'
+ }
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad(options) {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ },
+
+ /**
+ * 广告加载成功回调
+ */
+ onadload(e) {
+ console.log('广告加载成功:', e)
+ },
+
+ /**
+ * 广告加载失败回调
+ */
+ onaderror(e) {
+ console.log('广告加载失败:', e)
+ },
+
+ /**
+ * 广告视频结束回调
+ */
+ onvideoended(e) {
+ console.log('广告视频播放结束:', e)
+ }
+})
+
diff --git a/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.json b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.json
new file mode 100644
index 00000000..64531f65
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告调优测试-首页小卡",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxml b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxml
new file mode 100644
index 00000000..0b609ad3
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+ 广告由小卡免开发切为大卡
+
+
+
+
+
+ 内容区域
+
+ 这是一段填充内容,用于页面展示。
+
+
+ 此页面确保只有一个广告组件,符合一个页面只有一个广告的要求。
+
+
+ 小程序广告是微信官方推出的广告组件,支持多种广告形式。
+
+
+ 广告调优可以帮助开发者优化广告展示效果,提升用户体验。
+
+
+ 首页小卡广告适合在首屏位置展示,能够获得更高的曝光率。
+
+
+ 合理的广告布局可以在不影响用户体验的前提下实现流量变现。
+
+
+ 广告组件会根据用户特征自动匹配最合适的广告内容。
+
+
+ 开发者可以通过回调函数监听广告的加载状态和用户交互行为。
+
+
+ 广告收益与曝光量、点击率等多种因素相关。
+
+
+ 建议在合适的场景下展示广告,避免过度打扰用户。
+
+
+ 持续优化广告展示策略,可以获得更好的变现效果。
+
+
+ 感谢您使用微信广告服务,祝您使用愉快!
+
+
+
+
diff --git a/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxss b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxss
new file mode 100644
index 00000000..216c2718
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/home-small-card/home-small-card.wxss
@@ -0,0 +1,60 @@
+/* 广告调优测试-首页小卡 */
+.container {
+ display: block !important;
+ padding: 0;
+ margin: 0;
+ background-color: #fff;
+ min-height: auto;
+ justify-content: initial;
+}
+
+.ad-section {
+ margin: 0;
+ padding: 0;
+ background-color: #fff;
+}
+
+.ad-label {
+ display: block;
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #333;
+ padding: 20rpx;
+ margin: 0;
+ text-align: center;
+ background-color: #fff;
+}
+
+.ad-unit {
+ width: 100%;
+ display: block;
+}
+
+.content-section {
+ margin: 0;
+ padding: 20rpx;
+ background-color: #fff;
+}
+
+.content-title {
+ display: block;
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.content-item {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ border-left: 4rpx solid #007aff;
+}
+
+.content-text {
+ font-size: 28rpx;
+ line-height: 1.6;
+ color: #666;
+}
diff --git a/miniprogram/page/ad/optimize-ad/optimize-ad.js b/miniprogram/page/ad/optimize-ad/optimize-ad.js
new file mode 100644
index 00000000..3a1120de
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/optimize-ad.js
@@ -0,0 +1,31 @@
+Page({
+ onShareAppMessage() {
+ return {
+ title: '广告调优',
+ path: 'page/ad/optimize-ad/optimize-ad'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ }
+})
+
diff --git a/miniprogram/page/ad/optimize-ad/optimize-ad.json b/miniprogram/page/ad/optimize-ad/optimize-ad.json
new file mode 100644
index 00000000..24935fa9
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/optimize-ad.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告调优",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/optimize-ad.wxml b/miniprogram/page/ad/optimize-ad/optimize-ad.wxml
new file mode 100644
index 00000000..9b8c2937
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/optimize-ad.wxml
@@ -0,0 +1,37 @@
+
+
+
+ 广告调优示例
+ 以下展示了四种不同类型的广告调优测试示例,点击查看详情。
+
+
+
+
+
+ 首页小卡
+
+
+
+
+
+ 首页大卡
+
+
+
+
+
+ 非首页小卡
+
+
+
+
+
+ 非首页大卡
+
+
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/optimize-ad/optimize-ad.wxss b/miniprogram/page/ad/optimize-ad/optimize-ad.wxss
new file mode 100644
index 00000000..1df89d13
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/optimize-ad.wxss
@@ -0,0 +1,24 @@
+@import "../../../common/reset.wxss";
+@import "../../common/index.wxss";
+
+.index-title {
+ font-size: 18px;
+ font-weight: 600;
+ color: var(--weui-FG-0);
+ margin-bottom: 8px;
+}
+
+.kind-list-item-hd {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+
+.kind-list-arrow {
+ width: 8px;
+ height: 8px;
+ border-right: 2px solid var(--weui-FG-2);
+ border-top: 2px solid var(--weui-FG-2);
+ transform: rotate(45deg);
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.js b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.js
new file mode 100644
index 00000000..11fbce11
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.js
@@ -0,0 +1,53 @@
+// 广告调优测试-非首页大卡
+Page({
+ data: {
+ theme: 'light'
+ },
+
+ onShareAppMessage() {
+ return {
+ title: '广告调优测试-非首页大卡',
+ path: 'page/ad/optimize-ad/other-large-card/other-large-card'
+ }
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad(options) {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ },
+
+ /**
+ * 广告加载成功回调
+ */
+ onadload(e) {
+ console.log('广告加载成功:', e)
+ },
+
+ /**
+ * 广告加载失败回调
+ */
+ onaderror(e) {
+ console.log('广告加载失败:', e)
+ },
+
+ /**
+ * 广告视频结束回调
+ */
+ onvideoended(e) {
+ console.log('广告视频播放结束:', e)
+ }
+})
+
diff --git a/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.json b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.json
new file mode 100644
index 00000000..188926f4
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告调优测试-非首页大卡",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxml b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxml
new file mode 100644
index 00000000..c619d30e
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+ 页面内容区域
+
+ 这是首屏展示的内容,广告在下方非首屏位置。
+
+
+ 用户需要向下滚动才能看到广告内容。
+
+
+ 这里是一些填充文本,用于占据首屏空间。
+
+
+ 继续添加更多内容,确保广告被推到非首屏。
+
+
+ 丰富的内容展示,提供良好的用户体验。
+
+
+ 更多精彩内容等你发现,向下滚动查看更多。
+
+
+ 这是第七段填充内容,继续占据屏幕空间。
+
+
+ 第八段内容,确保广告完全在非首屏位置。
+
+
+ 第九段内容,页面内容丰富多样。
+
+
+ 第十段内容,广告即将出现在下方。
+
+
+
+
+
+ 广告调优测试-非首页大卡
+
+
+
+
+
+
+ 页面底部内容,感谢您的浏览。
+
+
+
+
diff --git a/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxss b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxss
new file mode 100644
index 00000000..21a62921
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-large-card/other-large-card.wxss
@@ -0,0 +1,59 @@
+/* 广告调优测试-非首页大卡 */
+.container {
+ padding: 0;
+ background-color: #f5f5f5;
+}
+
+.ad-section {
+ margin: 20rpx 0;
+ padding: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+}
+
+.ad-label {
+ display: block;
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #333;
+ padding: 20rpx;
+ margin-bottom: 0;
+ text-align: center;
+ background-color: #fff;
+}
+
+.ad-unit {
+ width: 100vw;
+ min-height: 200rpx;
+ background-color: #f0f0f0;
+}
+
+.content-section {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fff;
+}
+
+.content-title {
+ display: block;
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.content-item {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ border-left: 4rpx solid #007aff;
+}
+
+.content-text {
+ font-size: 28rpx;
+ line-height: 1.6;
+ color: #666;
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.js b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.js
new file mode 100644
index 00000000..13e72ceb
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.js
@@ -0,0 +1,53 @@
+// 广告调优测试-非首页小卡
+Page({
+ data: {
+ theme: 'light'
+ },
+
+ onShareAppMessage() {
+ return {
+ title: '广告调优测试-非首页小卡',
+ path: 'page/ad/optimize-ad/other-small-card/other-small-card'
+ }
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad(options) {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ },
+
+ /**
+ * 广告加载成功回调
+ */
+ onadload(e) {
+ console.log('广告加载成功:', e)
+ },
+
+ /**
+ * 广告加载失败回调
+ */
+ onaderror(e) {
+ console.log('广告加载失败:', e)
+ },
+
+ /**
+ * 广告视频结束回调
+ */
+ onvideoended(e) {
+ console.log('广告视频播放结束:', e)
+ }
+})
+
diff --git a/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.json b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.json
new file mode 100644
index 00000000..9a984aab
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "广告调优测试-非首页小卡",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxml b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxml
new file mode 100644
index 00000000..d7ba7689
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxml
@@ -0,0 +1,57 @@
+
+
+
+
+ 页面内容区域
+
+ 这是首屏展示的内容,广告在下方非首屏位置。
+
+
+ 用户需要向下滚动才能看到广告内容。
+
+
+ 这里是一些填充文本,用于占据首屏空间。
+
+
+ 继续添加更多内容,确保广告被推到非首屏。
+
+
+ 丰富的内容展示,提供良好的用户体验。
+
+
+ 更多精彩内容等你发现,向下滚动查看更多。
+
+
+ 这是第七段填充内容,继续占据屏幕空间。
+
+
+ 第八段内容,确保广告完全在非首屏位置。
+
+
+ 第九段内容,页面内容丰富多样。
+
+
+ 第十段内容,广告即将出现在下方。
+
+
+
+
+
+ 广告调优测试-非首页小卡
+
+
+
+
+
+
+ 页面底部内容,感谢您的浏览。
+
+
+
+
diff --git a/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxss b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxss
new file mode 100644
index 00000000..dd2280ce
--- /dev/null
+++ b/miniprogram/page/ad/optimize-ad/other-small-card/other-small-card.wxss
@@ -0,0 +1,59 @@
+/* 广告调优测试-非首页小卡 */
+.container {
+ padding: 0;
+ background-color: #f5f5f5;
+}
+
+.ad-section {
+ margin: 20rpx 0;
+ padding: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+}
+
+.ad-label {
+ display: block;
+ font-size: 28rpx;
+ font-weight: bold;
+ color: #333;
+ padding: 20rpx;
+ margin-bottom: 0;
+ text-align: center;
+ background-color: #fff;
+}
+
+.ad-unit {
+ width: 100vw;
+ min-height: 200rpx;
+ background-color: #f0f0f0;
+}
+
+.content-section {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fff;
+}
+
+.content-title {
+ display: block;
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333;
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.content-item {
+ margin: 20rpx 0;
+ padding: 20rpx;
+ background-color: #fafafa;
+ border-radius: 8rpx;
+ border-left: 4rpx solid #007aff;
+}
+
+.content-text {
+ font-size: 28rpx;
+ line-height: 1.6;
+ color: #666;
+}
+
diff --git a/miniprogram/page/ad/resources/kind/logo.png b/miniprogram/page/ad/resources/kind/logo.png
new file mode 100644
index 00000000..e5345b2e
Binary files /dev/null and b/miniprogram/page/ad/resources/kind/logo.png differ
diff --git a/miniprogram/page/ad/smart-ad/example1/example1.js b/miniprogram/page/ad/smart-ad/example1/example1.js
new file mode 100644
index 00000000..68f21f49
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example1/example1.js
@@ -0,0 +1,31 @@
+Page({
+ onShareAppMessage() {
+ return {
+ title: '示例 1 - 智能推荐广告',
+ path: 'page/ad/smart-ad/example1/example1'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ }
+})
+
diff --git a/miniprogram/page/ad/smart-ad/example1/example1.json b/miniprogram/page/ad/smart-ad/example1/example1.json
new file mode 100644
index 00000000..17c85be3
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example1/example1.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "示例 1",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/smart-ad/example1/example1.wxml b/miniprogram/page/ad/smart-ad/example1/example1.wxml
new file mode 100644
index 00000000..0cd646de
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example1/example1.wxml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+ 智能分析
+ 实时预览
+ 0代码
+
+
+
+
+ 核心功能
+
+
+ 智能插入推荐
+
+
+ 实时预览编辑
+
+
+ 免开发上线
+
+
+
+
+
+
+ 快速接入
+
+
+ 1
+ 登录【微信公众平台 -> 流量主 -> 广告管理 -> 广告位管理】
+
+
+
+ 2
+ 选择【智能接入】模式
+
+
+
+ 3
+ 【创建智能广告】
+
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/smart-ad/example1/example1.wxss b/miniprogram/page/ad/smart-ad/example1/example1.wxss
new file mode 100644
index 00000000..3f7504d7
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example1/example1.wxss
@@ -0,0 +1,252 @@
+@import "../../../../common/reset.wxss";
+
+.page {
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+}
+
+.container {
+ flex: 1;
+ padding: 20px 15px;
+ display: flex;
+ flex-direction: column;
+ min-height: 700px;
+}
+
+.card-header {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-bottom: 16px;
+}
+
+.card-title-group {
+ text-align: center;
+}
+
+.card-main-title {
+ font-size: 24px;
+ font-weight: 700;
+ color: var(--weui-FG-0);
+ margin-bottom: 6px;
+}
+
+.card-sub-title {
+ font-size: 14px;
+ color: var(--weui-FG-1);
+}
+
+.card-desc {
+ font-size: 13px;
+ color: var(--weui-FG-1);
+ line-height: 1.6;
+ margin-bottom: 10px;
+}
+
+.card-tags {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: center;
+ gap: 10px;
+ margin-bottom: 16px;
+}
+
+.tag {
+ padding: 4px 10px;
+ border-radius: 10px;
+ font-size: 11px;
+ font-weight: 500;
+}
+
+.tag-primary {
+ background-color: rgba(102, 126, 234, 0.15);
+ color: #667eea;
+}
+
+.tag-success {
+ background-color: rgba(76, 175, 80, 0.15);
+ color: #4caf50;
+}
+
+.tag-warning {
+ background-color: rgba(255, 152, 0, 0.15);
+ color: #ff9800;
+}
+
+.card-content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+/* 通用区块标题 */
+.section-title {
+ font-size: 14px;
+ font-weight: 600;
+ color: var(--weui-FG-0);
+ margin-bottom: 10px;
+ padding-left: 8px;
+ border-left: 3px solid #667eea;
+}
+
+/* 功能特点 */
+.feature-section {
+ margin-top: 16px;
+}
+
+.feature-list {
+ background-color: rgba(255, 255, 255, 0.5);
+ border-radius: 8px;
+ padding: 12px;
+}
+
+[data-weui-theme=dark] .feature-list {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+
+.feature-item {
+ display: flex;
+ align-items: center;
+ padding: 10px 0;
+}
+
+.feature-item:not(:last-child) {
+ border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
+}
+
+[data-weui-theme=dark] .feature-item:not(:last-child) {
+ border-bottom-color: rgba(255, 255, 255, 0.08);
+}
+
+.feature-text {
+ font-size: 13px;
+ color: var(--weui-FG-1);
+}
+
+/* 适用场景 */
+.scene-section {
+ margin-top: 16px;
+}
+
+.scene-grid {
+ display: flex;
+ justify-content: space-between;
+}
+
+.scene-item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding: 12px 8px;
+ background-color: rgba(255, 255, 255, 0.5);
+ border-radius: 8px;
+ margin: 0 4px;
+}
+
+.scene-item:first-child {
+ margin-left: 0;
+}
+
+.scene-item:last-child {
+ margin-right: 0;
+}
+
+[data-weui-theme=dark] .scene-item {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+
+.scene-icon {
+ font-size: 24px;
+ margin-bottom: 6px;
+}
+
+.scene-name {
+ font-size: 11px;
+ color: var(--weui-FG-1);
+}
+
+/* 接入指南 */
+.guide-section {
+ margin-top: 16px;
+}
+
+.guide-steps {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: rgba(255, 255, 255, 0.5);
+ border-radius: 8px;
+ padding: 16px 12px;
+}
+
+[data-weui-theme=dark] .guide-steps {
+ background-color: rgba(0, 0, 0, 0.2);
+}
+
+.guide-step {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.guide-num {
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ color: #fff;
+ font-size: 12px;
+ font-weight: 600;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 6px;
+}
+
+.guide-text {
+ font-size: 10px;
+ color: var(--weui-FG-1);
+ text-align: center;
+ white-space: nowrap;
+}
+
+.guide-line {
+ flex: 1;
+ height: 2px;
+ background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
+ margin: 0 4px;
+ margin-bottom: 20px;
+ opacity: 0.5;
+}
+
+.card-footer {
+ display: flex;
+ justify-content: space-around;
+ padding-top: 20px;
+ margin-top: auto;
+ border-top: 1px solid rgba(0, 0, 0, 0.08);
+}
+
+[data-weui-theme=dark] .card-footer {
+ border-top-color: rgba(255, 255, 255, 0.1);
+}
+
+.card-stat {
+ text-align: center;
+}
+
+.stat-value {
+ font-size: 18px;
+ font-weight: 700;
+ color: var(--weui-FG-0);
+ margin-bottom: 3px;
+}
+
+.stat-label {
+ font-size: 11px;
+ color: var(--weui-FG-2);
+}
+
diff --git a/miniprogram/page/ad/smart-ad/example2/example2.js b/miniprogram/page/ad/smart-ad/example2/example2.js
new file mode 100644
index 00000000..02b8ed40
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example2/example2.js
@@ -0,0 +1,31 @@
+Page({
+ onShareAppMessage() {
+ return {
+ title: '示例 2 - 广告投放流程',
+ path: 'page/ad/smart-ad/example2/example2'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ }
+})
+
diff --git a/miniprogram/page/ad/smart-ad/example2/example2.json b/miniprogram/page/ad/smart-ad/example2/example2.json
new file mode 100644
index 00000000..fb175835
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example2/example2.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "示例 2",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/smart-ad/example2/example2.wxml b/miniprogram/page/ad/smart-ad/example2/example2.wxml
new file mode 100644
index 00000000..788507ff
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example2/example2.wxml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ 1
+
+ 入口指引
+ 微信公众平台→流量主→广告管理→广告位管理→选择“智能接入”模式→点击“创建智能广告”。
+
+ 已完成
+
+
+ 2
+
+ 扫码预览
+ 微信扫码预览,确认广告插入的位置、时机与样式。
+
+ 已完成
+
+
+ 3
+
+ 调整与标记
+ 若需调整,可点击“编辑类型与位置”;标记“使用/不使用”后,仍需返回后台最终确认是否上线。
+
+ 进行中
+
+
+ 4
+
+ 确认上线
+ 手机预览完成后,在管理后台点击“下一步”确认广告位并上线。
+
+ 待处理
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/smart-ad/example2/example2.wxss b/miniprogram/page/ad/smart-ad/example2/example2.wxss
new file mode 100644
index 00000000..2e1c17ae
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example2/example2.wxss
@@ -0,0 +1,96 @@
+@import "../../../../common/reset.wxss";
+
+.container {
+ padding: 20px 15px;
+}
+
+.example-list {
+ background-color: var(--weui-BG-3);
+ border-radius: 8px;
+ padding: 12px;
+}
+
+.list-header {
+ font-size: 15px;
+ font-weight: 600;
+ color: var(--weui-FG-0);
+ margin-bottom: 12px;
+ padding-bottom: 8px;
+ border-bottom: 1px solid var(--weui-FG-3);
+}
+
+.step-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+}
+
+.step-item {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ padding: 12px 10px;
+ background-color: var(--weui-BG-2);
+ border-radius: 6px;
+}
+
+.step-number {
+ width: 28px;
+ height: 28px;
+ border-radius: 50%;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ color: #fff;
+ font-size: 14px;
+ font-weight: 600;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+}
+
+.step-content {
+ flex: 1;
+ margin: 0 12px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.step-title {
+ font-size: 14px;
+ font-weight: 500;
+ color: var(--weui-FG-0);
+ margin-bottom: 4px;
+}
+
+.step-desc {
+ font-size: 12px;
+ color: var(--weui-FG-2);
+}
+
+.step-status {
+ font-size: 12px;
+ padding: 4px 10px;
+ border-radius: 10px;
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.status-done {
+ background-color: rgba(76, 175, 80, 0.15);
+ color: #4caf50;
+}
+
+.status-progress {
+ background-color: rgba(33, 150, 243, 0.15);
+ color: #2196f3;
+}
+
+.status-pending {
+ background-color: rgba(158, 158, 158, 0.15);
+ color: #9e9e9e;
+}
+
diff --git a/miniprogram/page/ad/smart-ad/example3/example3.js b/miniprogram/page/ad/smart-ad/example3/example3.js
new file mode 100644
index 00000000..268b2102
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example3/example3.js
@@ -0,0 +1,31 @@
+Page({
+ onShareAppMessage() {
+ return {
+ title: '示例 3 - 数据概览',
+ path: 'page/ad/smart-ad/example3/example3'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ }
+})
+
diff --git a/miniprogram/page/ad/smart-ad/example3/example3.json b/miniprogram/page/ad/smart-ad/example3/example3.json
new file mode 100644
index 00000000..2864f706
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example3/example3.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "示例 3",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/smart-ad/example3/example3.wxml b/miniprogram/page/ad/smart-ad/example3/example3.wxml
new file mode 100644
index 00000000..9a982fcd
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example3/example3.wxml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+ 12,580
+ 展示次数
+ ↑ 15.2%
+
+
+ 1,024
+ 点击次数
+ ↑ 8.7%
+
+
+ 8.14%
+ 点击率
+ ↓ 2.1%
+
+
+ ¥2,156
+ 预估收益
+ ↑ 12.5%
+
+
+
+ 近7日收益趋势
+
+
+
+ 周一
+
+
+
+ 周二
+
+
+
+ 周三
+
+
+
+ 周四
+
+
+
+ 周五
+
+
+
+ 周六
+
+
+
+ 周日
+
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/smart-ad/example3/example3.wxss b/miniprogram/page/ad/smart-ad/example3/example3.wxss
new file mode 100644
index 00000000..a8e323f9
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/example3/example3.wxss
@@ -0,0 +1,114 @@
+@import "../../../../common/reset.wxss";
+
+.container {
+ padding: 20px 15px;
+}
+
+.example-dashboard {
+ background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
+ border-radius: 8px;
+ padding: 12px;
+ color: #fff;
+}
+
+.dashboard-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 12px;
+}
+
+.dashboard-title {
+ font-size: 15px;
+ font-weight: 600;
+}
+
+.dashboard-date {
+ font-size: 12px;
+ color: rgba(255, 255, 255, 0.6);
+}
+
+.dashboard-grid {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 8px;
+ margin-bottom: 12px;
+}
+
+.dashboard-cell {
+ width: calc(50% - 4px);
+ background-color: rgba(255, 255, 255, 0.08);
+ border-radius: 6px;
+ padding: 10px;
+ box-sizing: border-box;
+}
+
+.cell-value {
+ font-size: 18px;
+ font-weight: 700;
+ margin-bottom: 4px;
+}
+
+.cell-label {
+ font-size: 11px;
+ color: rgba(255, 255, 255, 0.6);
+ margin-bottom: 4px;
+}
+
+.cell-trend {
+ font-size: 11px;
+ font-weight: 500;
+}
+
+.trend-up {
+ color: #4caf50;
+}
+
+.trend-down {
+ color: #f44336;
+}
+
+.dashboard-chart {
+ background-color: rgba(255, 255, 255, 0.05);
+ border-radius: 6px;
+ padding: 10px;
+}
+
+.chart-title {
+ font-size: 13px;
+ margin-bottom: 10px;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+.chart-bars {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ height: 80px;
+}
+
+.bar-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ flex: 1;
+}
+
+.bar {
+ width: 16px;
+ background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
+ border-radius: 3px 3px 0 0;
+ margin-bottom: 6px;
+ opacity: 0.7;
+}
+
+.bar-active {
+ opacity: 1;
+ box-shadow: 0 0 10px rgba(102, 126, 234, 0.5);
+}
+
+.bar-label {
+ font-size: 10px;
+ color: rgba(255, 255, 255, 0.5);
+}
+
diff --git a/miniprogram/page/ad/smart-ad/smart-ad.js b/miniprogram/page/ad/smart-ad/smart-ad.js
new file mode 100644
index 00000000..924bfd04
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/smart-ad.js
@@ -0,0 +1,30 @@
+Page({
+ onShareAppMessage() {
+ return {
+ title: '智能广告',
+ path: 'page/ad/smart-ad/smart-ad'
+ }
+ },
+
+ data: {
+ theme: 'light'
+ },
+
+ onUnload() {
+ if (wx.offThemeChange) {
+ wx.offThemeChange()
+ }
+ },
+
+ onLoad() {
+ this.setData({
+ theme: getApp().globalData.theme || 'light'
+ })
+
+ if (wx.onThemeChange) {
+ wx.onThemeChange(({ theme }) => {
+ this.setData({ theme })
+ })
+ }
+ }
+})
diff --git a/miniprogram/page/ad/smart-ad/smart-ad.json b/miniprogram/page/ad/smart-ad/smart-ad.json
new file mode 100644
index 00000000..01aa459f
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/smart-ad.json
@@ -0,0 +1,5 @@
+{
+ "navigationBarTitleText": "智能广告",
+ "renderer": "webview"
+}
+
diff --git a/miniprogram/page/ad/smart-ad/smart-ad.wxml b/miniprogram/page/ad/smart-ad/smart-ad.wxml
new file mode 100644
index 00000000..535c0f5c
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/smart-ad.wxml
@@ -0,0 +1,24 @@
+
+
+
+ 智能广告示例
+ 以下展示了三种不同类型的智能广告接入示例,点击查看详情。
+
+
+
+
+
+ 示例 1
+
+
+
+
+
+ 示例 2
+
+
+
+
+
+
+
diff --git a/miniprogram/page/ad/smart-ad/smart-ad.wxss b/miniprogram/page/ad/smart-ad/smart-ad.wxss
new file mode 100644
index 00000000..e35e66f0
--- /dev/null
+++ b/miniprogram/page/ad/smart-ad/smart-ad.wxss
@@ -0,0 +1,23 @@
+@import "../../../common/reset.wxss";
+@import "../../common/index.wxss";
+
+.index-title {
+ font-size: 18px;
+ font-weight: 600;
+ color: var(--weui-FG-0);
+ margin-bottom: 8px;
+}
+
+.kind-list-item-hd {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+
+.kind-list-arrow {
+ width: 8px;
+ height: 8px;
+ border-right: 2px solid var(--weui-FG-2);
+ border-top: 2px solid var(--weui-FG-2);
+ transform: rotate(45deg);
+}
diff --git a/project.private.config.json b/project.private.config.json
index 7858c828..4559717b 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -1,213 +1,23 @@
{
- "libVersion": "3.7.6",
- "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "libVersion": "3.13.0",
+ "condition": {},
+ "projectname": "miniprogram-demo",
"setting": {
- "urlCheck": false,
- "compileHotReLoad": false,
- "lazyloadPlaceholderEnable": false,
- "skylineRenderEnable": true
+ "urlCheck": true,
"coverView": true,
- },
- "projectname": "miniprogram-demo-master",
- "condition": {
- "miniprogram": {
- "list": [
- {
- "name": "packageChatTool/pages/activity_create/index",
- "pathName": "packageChatTool/pages/activity_create/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "聊天工具-签到助手",
- "pathName": "packageAPI/pages/chattool/activity_assist/activity_assist",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "packageAPI/pages/chattool/material_view/material_view",
- "pathName": "packageAPI/pages/chattool/material_view/material_view",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "packageAPI/pages/chattool/material_open/material_open",
- "pathName": "packageAPI/pages/chattool/material_open/material_open",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "聊天工具-活动详情",
- "pathName": "packageChatTool/pages/activity_detail/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "聊天工具-创建活动",
- "pathName": "packageChatTool/pages/activity_create/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "gaussian-splatting-ar",
- "pathName": "packageAPI/pages/ar/gaussian-splatting/gaussian-splatting-ar",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "gaussian-splatting",
- "pathName": "packageAPI/pages/ar/gaussian-splatting/gaussian-splatting",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-cameraBuffer-jpg",
- "pathName": "packageAPI/pages/ar/cameraBuffer-jpg/cameraBuffer-jpg",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "plane-ar-v2-options",
- "pathName": "packageAPI/pages/ar/plane-ar-v2-options/plane-ar-v2-options",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "packageSkylineExamples/examples/app-bar/pages/index/index",
- "pathName": "packageSkylineExamples/examples/app-bar/pages/index/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "photo-idcard-detect",
- "pathName": "packageAPI/pages/ar/photo-idcard-detect/photo-idcard-detect",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-plane-v2",
- "pathName": "packageAPI/pages/ar/plane-ar-v2/plane-ar-v2",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-v2-depth",
- "pathName": "packageAPI/pages/ar/plane-ar-v2-depth/plane-ar-v2-depth",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-depth-detect",
- "pathName": "packageAPI/pages/ar/depth-detect/depth-detect",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-3dmarker",
- "pathName": "packageAPI/pages/ar/3dmarker-ar/3dmarker-ar",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-photo-shoe-detect",
- "pathName": "packageAPI/pages/ar/photo-shoe-detect/photo-shoe-detect",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-shoe-detect",
- "pathName": "packageAPI/pages/ar/shoe-detect/shoe-detect",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "ar-2dmarker",
- "pathName": "packageAPI/pages/ar/2dmarker-ar/2dmarker-ar",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "page/API/pages/storage/storage",
- "pathName": "page/API/pages/storage/storage",
- "query": "",
- "scene": null
- },
- {
- "name": "card_transition",
- "pathName": "packageSkylineExamples/examples/card_transition/pages/list/list",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "card_transition/detail",
- "pathName": "packageSkylineExamples/examples/card_transition/pages/detail/detail",
- "query": "index=1&url=https%253A%252F%252Fpicsum.photos%252F300%252F400%253Frandom%253D1&content=%E6%8E%A8%E8%8D%90%20Skyline%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%90%8E%E4%BD%93%E9%AA%8C%E6%B5%81%E7%95%85%E5%BE%88%E5%A4%9A~&ratio=0.75",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "page/animation/index",
- "pathName": "page/animation/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "",
- "pathName": "packageSkyline/pages/scroll-view/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "product-list",
- "pathName": "packageSkylineExamples/examples/product-list/pages/index/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "expanded-scroll-view",
- "pathName": "packageSkylineExamples/examples/expanded-scroll-view/pages/index/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "demo-1",
- "pathName": "packageComponent/pages/view/grid-view/demo-1/demo-1",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "",
- "pathName": "page/component/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- }
- ]
- }
+ "lazyloadPlaceholderEnable": false,
+ "skylineRenderEnable": true,
+ "preloadBackgroundData": true,
+ "autoAudits": false,
+ "useApiHook": true,
+ "showShadowRootInWxmlPanel": true,
+ "useStaticServer": true,
+ "useLanDebug": false,
+ "showES6CompileOption": false,
+ "compileHotReLoad": true,
+ "checkInvalidKey": true,
+ "ignoreDevUnusedFiles": false,
+ "bigPackageSizeSupport": false,
+ "useIsolateContext": false
}
}
\ No newline at end of file