diff --git a/src/components/utils/list.js b/src/components/utils/list.js
new file mode 100644
index 0000000..196e1d0
--- /dev/null
+++ b/src/components/utils/list.js
@@ -0,0 +1,36 @@
+import http from "./http";
+
+class List {
+ constructor(action) {
+ this.action = action
+ this.current = 1
+ this.total = 0
+ this.list = []
+ }
+
+ getData(params) {
+ const {action} = this
+ return http.post(action, null, {params})
+ }
+
+ init(params) {
+ this.getData({...params, current: 1}).then(res => {
+ if (res?.data) {
+ this.list = res.data.records
+ this.total = res.data.total
+ }
+ })
+ }
+
+ loadMore(params) {
+ if (this.list.length < this.total) {
+ this.getData({...params, current: ++this.current}).then(res => {
+ if (res?.data) {
+ this.list = [...this.list, ...res.data.records]
+ }
+ })
+ }
+ }
+}
+
+export default List
diff --git a/src/mods/publicity/AppAgProducts/AppAgProducts.vue b/src/mods/publicity/AppAgProducts/AppAgProducts.vue
index 5c07453..c81864f 100644
--- a/src/mods/publicity/AppAgProducts/AppAgProducts.vue
+++ b/src/mods/publicity/AppAgProducts/AppAgProducts.vue
@@ -22,11 +22,11 @@