diff --git a/config/index.ts b/config/index.ts
index 3eb418b..267a4ac 100644
--- a/config/index.ts
+++ b/config/index.ts
@@ -3,6 +3,8 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'
import devConfig from './dev'
import prodConfig from './prod'
import vitePluginImp from 'vite-plugin-imp'
+import path from 'path'
+
// https://taro-docs.jd.com/docs/next/config#defineconfig-辅助函数
export default defineConfig<'webpack5'>(async (merge, { command, mode }) => {
const baseConfig: UserConfigExport<'webpack5'> = {
@@ -20,6 +22,16 @@ export default defineConfig<'webpack5'>(async (merge, { command, mode }) => {
plugins: ['@tarojs/plugin-html'],
defineConstants: {
},
+ alias: {
+ '@': path.resolve(__dirname, '..', 'src'),
+ '@/assets': path.resolve(__dirname, '..', 'src/assets'),
+ '@/components': path.resolve(__dirname, '..', 'src/components'),
+ '@/utils': path.resolve(__dirname, '..', 'src/utils'),
+ '@/services': path.resolve(__dirname, '..', 'src/services'),
+ '@/store': path.resolve(__dirname, '..', 'src/store'),
+ '@/config': path.resolve(__dirname, '..', 'src/config'),
+ '@/static': path.resolve(__dirname, '..', 'src/static'),
+ },
copy: {
patterns: [
],
@@ -29,7 +41,7 @@ export default defineConfig<'webpack5'>(async (merge, { command, mode }) => {
framework: 'react',
compiler: {
- type: 'webpack5',
+ type: 'webpack5',
prebundle: {
enable: false
}
diff --git a/src/config/images.js b/src/config/images.js
new file mode 100644
index 0000000..ab20192
--- /dev/null
+++ b/src/config/images.js
@@ -0,0 +1,11 @@
+export default {
+ ICON_REMOVE: require('@/static/publishBall/icon-remove.svg'),
+ ICON_UPLOAD: require('@/static/publishBall/icon-upload.svg'),
+ ICON_LOCATION: require('@/static/publishBall/icon-location.svg'),
+ ICON_GAMEPLAY: require('@/static/publishBall/icon-gameplay.svg'),
+ ICON_PERSONAL: require('@/static/publishBall/icon-personal.svg'),
+ ICON_CHANGDA: require('@/static/publishBall/icon-changda.svg'),
+ ICON_COST: require('@/static/publishBall/icon-cost.svg'),
+ ICON_TIPS: require('@/static/publishBall/icon-tips.svg'),
+ ICON_ARROW_RIGHT: require('@/static/publishBall/icon-arrow-right.svg'),
+ }
\ No newline at end of file
diff --git a/src/scss/images.scss b/src/scss/images.scss
new file mode 100644
index 0000000..32d40b4
--- /dev/null
+++ b/src/scss/images.scss
@@ -0,0 +1,30 @@
+// src/scss/images.scss
+// 暴露公共API (可选)
+@forward 'sass:map';
+@forward 'sass:meta';
+@use 'sass:map';
+
+// 使用私有变量命名 (前缀加 -)
+$-static-path: '~@/static/' !default;
+
+// 图片映射表
+$-images: (
+ 'icon-upload': '/publishBall/icon-upload.svg',
+ 'icon-add': '/publishBall/icon-add.svg',
+ 'icon-location': '/publishBall/icon-location.svg',
+ 'icon-gameplay': '/publishBall/icon-gameplay.svg',
+ 'icon-personal': '/publishBall/icon-personal.svg',
+ 'icon-changda': '/publishBall/icon-changda.svg',
+ 'icon-cost': '/publishBall/icon-cost.svg',
+ 'icon-remove': '/publishBall/icon-remove.svg'
+) !default;
+
+// 图片获取函数
+@function taro-image($name) {
+ @if not map.has-key($-images, $name) {
+ @warn "Image `#{$name}` not found in $images map";
+ @return url($-static-path + 'default.png');
+ }
+ @return url($-static-path + map.get($-images, $name));
+}
+
diff --git a/src/static/publishBall/icon-add.svg b/src/static/publishBall/icon-add.svg
new file mode 100644
index 0000000..5ef824e
--- /dev/null
+++ b/src/static/publishBall/icon-add.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/static/publishBall/icon-arrow-right.svg b/src/static/publishBall/icon-arrow-right.svg
new file mode 100644
index 0000000..a490b6d
--- /dev/null
+++ b/src/static/publishBall/icon-arrow-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/static/publishBall/icon-changda.svg b/src/static/publishBall/icon-changda.svg
new file mode 100644
index 0000000..6cc0b19
--- /dev/null
+++ b/src/static/publishBall/icon-changda.svg
@@ -0,0 +1,21 @@
+
diff --git a/src/static/publishBall/icon-cost.svg b/src/static/publishBall/icon-cost.svg
new file mode 100644
index 0000000..c7cd7e5
--- /dev/null
+++ b/src/static/publishBall/icon-cost.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/static/publishBall/icon-gameplay.svg b/src/static/publishBall/icon-gameplay.svg
new file mode 100644
index 0000000..63a7e62
--- /dev/null
+++ b/src/static/publishBall/icon-gameplay.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/static/publishBall/icon-location.svg b/src/static/publishBall/icon-location.svg
new file mode 100644
index 0000000..b5236dc
--- /dev/null
+++ b/src/static/publishBall/icon-location.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/static/publishBall/icon-personal.svg b/src/static/publishBall/icon-personal.svg
new file mode 100644
index 0000000..30a0f54
--- /dev/null
+++ b/src/static/publishBall/icon-personal.svg
@@ -0,0 +1,19 @@
+
diff --git a/src/static/publishBall/icon-remove.svg b/src/static/publishBall/icon-remove.svg
new file mode 100644
index 0000000..d63cdb8
--- /dev/null
+++ b/src/static/publishBall/icon-remove.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/static/publishBall/icon-tips.svg b/src/static/publishBall/icon-tips.svg
new file mode 100644
index 0000000..6a4eb85
--- /dev/null
+++ b/src/static/publishBall/icon-tips.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/static/publishBall/icon-upload.svg b/src/static/publishBall/icon-upload.svg
new file mode 100644
index 0000000..c72d2ce
--- /dev/null
+++ b/src/static/publishBall/icon-upload.svg
@@ -0,0 +1,20 @@
+