You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.4 KiB
3.4 KiB
移动端页面文件生成器使用示例
快速开始
1. 配置生成器
以 ShopGenerator
为例,编辑 src/test/java/com/gxwebsoft/generator/ShopGenerator.java
:
// 需要生成的表
private static final String[] TABLE_NAMES = new String[]{
"shop_goods", // 商品表
"shop_category", // 分类表
"shop_user_address" // 用户地址表
};
2. 运行生成器
# 在 IDE 中运行 ShopGenerator.main() 方法
# 或者使用命令行
cd /Users/gxwebsoft/JAVA/cms-java-code
mvn test-compile exec:java -Dexec.mainClass="com.gxwebsoft.generator.ShopGenerator"
3. 生成的文件结构
运行后会在 /Users/gxwebsoft/VUE/template-10550/src/
目录下生成:
src/
├── shop/
│ ├── goods/
│ │ ├── index.config.ts # 商品列表页面配置
│ │ ├── index.tsx # 商品列表页面组件
│ │ ├── add.config.ts # 商品新增/编辑页面配置
│ │ └── add.tsx # 商品新增/编辑页面组件
│ ├── category/
│ │ ├── index.config.ts
│ │ ├── index.tsx
│ │ ├── add.config.ts
│ │ └── add.tsx
│ └── userAddress/
│ ├── index.config.ts
│ ├── index.tsx
│ ├── add.config.ts
│ └── add.tsx
生成的文件内容示例
index.config.ts
export default definePageConfig({
navigationBarTitleText: '商品管理',
navigationBarTextStyle: 'black'
})
index.tsx (列表页面)
import {useState} from "react";
import Taro, {useDidShow} from '@tarojs/taro'
import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro'
import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro'
import {View} from '@tarojs/components'
import {ShopGoods} from "@/api/shop/goods/model";
import {listShopGoods, removeShopGoods, updateShopGoods} from "@/api/shop/goods";
const ShopGoodsList = () => {
const [list, setList] = useState<ShopGoods[]>([])
// ... 其他逻辑
};
export default ShopGoodsList;
add.config.ts
export default definePageConfig({
navigationBarTitleText: '新增商品',
navigationBarTextStyle: 'black'
})
add.tsx (新增/编辑页面)
import {useEffect, useState, useRef} from "react";
import {useRouter} from '@tarojs/taro'
import {Button, Loading, CellGroup, Input, TextArea, Form} from '@nutui/nutui-react-taro'
import Taro from '@tarojs/taro'
import {View} from '@tarojs/components'
import {ShopGoods} from "@/api/shop/goods/model";
import {getShopGoods, updateShopGoods, addShopGoods} from "@/api/shop/goods";
const AddShopGoods = () => {
// ... 表单逻辑
};
export default AddShopGoods;
支持的模块
- ShopGenerator: 输出到
/Users/gxwebsoft/VUE/template-10550/src/shop/
- CmsGenerator: 输出到
/Users/gxwebsoft/VUE/template-10550/src/cms/
自定义配置
如需修改输出路径,可以编辑生成器中的常量:
// UniApp文件输出目录
private static final String OUTPUT_LOCATION_UNIAPP = "/Users/gxwebsoft/VUE/template-10550";
注意事项
- 生成前请确保目标目录存在
- 建议先备份现有文件
- 生成的代码可能需要根据具体业务调整
- 确保对应的 API 文件已经生成