代码拉取完成,页面将自动刷新
基于Flutter工程,集成uni-app小程序模式的开发框架:funibase = Flutter + Uni + Base
PROJECT | TYPE | DESC |
---|---|---|
LIBX | Flutter Plugin | uni-app封装库 + 常用三方插件库 + 自定义插件库 |
UIKIT | Dart Package | 常用三方 + 自定义工具/UI库(纯Dart) |
APP | App | 主项目 |
# First flutter.dev & fluttercommunity.dev Packages
package_info_plus: ^1.3.0
device_info_plus: ^3.2.0
shared_preferences: ^2.0.11
path_provider: ^2.0.8
url_launcher: ^6.0.17
webview_flutter: ^3.0.0
image_picker: ^0.8.4+4
# Third
permission_handler: ^8.3.0
open_file: ^3.2.1
fluttertoast: ^8.0.8
cached_network_image: ^3.2.0
# First dart.dev & flutter.dev & fluttercommunity.dev Packages
intl: ^0.17.0
equatable: ^2.0.0
# Third Packages
dio: ^4.0.4
dio_cookie_manager: ^2.0.0
cookie_jar: ^3.0.1
uuid: ^3.0.5
encrypt: ^5.0.1
flutter_easyloading: ^3.0.0
toggle_rotate: 1.0.1
// uni-app操作
// 初始化uni-Sdk
LibNative.initUniApp()
// 检查小程序是否存在
LibNative.isUniAppExists(String 小程序id)
// 启动小程序(额外参数将被解析为{'extra': 'Json串'})
LibNative.startUniApp(String 小程序id, {Map 传递参数, Map 额外参数})
// 启动小程序wgt安装包(额外参数将被解析为{'extra': 'Json串'})
LibNative.startUniWgt(String 小程序id, String 安装包路径, {Map 传递参数, Map 额外参数})
// 关闭所有小程序
LibNative.closeUniApp()
// 关闭指定小程序
LibNative.closeUniAppBy(String 小程序id)
// 获取小程序本地路径
LibNative.getUniBasePath()
// 获取指定小程序版本号
LibNative.getUniAppVersionCode(String 小程序id)
// 获取指定小程序版本名
LibNative.getUniAppVersionName(String 小程序id)
// 文件操作
// 打开Apk
FileX.openApk(String filePath)
// Uri操作
// 执行uri协议链接
Scheme.call(String uri)
// 拨打电话,等同于 call('tel:114')
Scheme.phone(String number)
// UniApps 类
UniApps.loadRemote(String wgt下载地址,
{String 小程序id, ProgressChanged 进度监听}) // 下载远程wgt包并加载
UniApps.remove(String 小程序id) // 移除本地小程序包
// StringExt 类,String 类扩展
'http://www.xxx.com/setup.apk'.urlName // 截取Url串末尾的文件名,输出 'setup.apk'
'777'.intValue // 转Int,输出 777
'18612341234'.hideMiddle() // 隐藏字符串中间指定位数,并用相应的字符替换,默认4位*号,输出 186****1234
// ScreenExt 类,分辨率数值转化,num 类扩展
8.px // 转px
8.dp // 转dp
8.pt // 转pt
// LayoutExt 类,Widget 类扩展
Row().margin({left, top, right, bottom}) // 外层嵌套 Container(),可设 margin
Row().padding({left, top, right, bottom}) // 外层嵌套 Container(),可设 padding
// 资源常量类
UiColors:通用颜色
UiShapes:常用组件,例如 div()
Keys:数值常量
UiStirngs:字符常量
UiStyles:样式类组件
// 网络请求工具,Dio 封装
HttpCat.born({BaseOptions, HttpCfg 初始配置}) // 初始化
HttpCat.wake().reset({BaseOptions, HttpCfg}) // 重置 Dio 配置
HttpCat.wake().switchBaseUrl(String baseUrl) // 重置 BaseUrl
HttpCat.wake().addHeader(Map header) // 添加 Header
HttpCat.wake().get/post/patch/delete/put/download() // 各类型请求,返回 HttpResp 类,详见代码
// 图片资源加载工具
// 普通加载
ImgLoader.asset(String 资源名,
{String 包名, String 根目录指定,默认'img',
BoxFit fit模式, double width, douoble height, Color color, bool 是否渐入})
// 返回 AssetImage类
ImgLoader.assetProvider(String 资源名, {String 包名, String 根目录指定,默认'img'})
// 返回 ImageIcon类
ImgLoader.icon(String 资源名称)
// 网络资源加载,Image.network() 封装
ImgLoader.url(String url)
// File加载,Image.file() 封装
ImgLoader.fileIn(File file)
// CachedNetworkImage() 封装,返回 Widget
ImgLoader.widget()
// 打开相机
ImgLoader.camera()
// 打开相册
ImgLoader.gallery()
// 日期工具
DateX.weekFirstDay() // 当周第一天日期
DateX.weekLastDay() // 当周最后一天日期
DateX.parse(String 日期字符串) // 字符串格式转 DataTime
// 下载工具
Downloader.start(String 下载地址, String 保存地址, {ProgressChanged 进度监听})
// 主题工具
ThemeX.toDarkStatusBar() // 切换为暗模式状态栏
ThemeX.toLightStatusBar() // 切换为亮模式状态栏
// Toast弹窗
Tips.toast(String msg)
// 普通模态加载框
Tips.loading() // 显示
Tips.disLoading() // 关闭
// 自定义加载框,返回 Widget
Tips.modalLoding()
// iOS样式对话框,showCupertinoDialog() 封装
Tips.confirm()
// 拍照/相册图片选择器,iOS样式底部弹框
Tips.pickPhoto(Context context, {FilePicked 文件回调, COlor 取消按钮文字颜色})
// 时间选择器,iOS样式底部弹框
Tips.pickDateTime(Context context,
{DateTime 默认选中, DateTime 起始时间, DateTime 终止时间, ValueChanged 选择变化监听})
// 字符串工具
StringX.isEmpty(String txt) // 是否为空(包含空串判断)
StringX.isNotEmpty(String txt) // 是否不为空(包含空串判断)
// 常用组件封装
InkBox:嵌套点击组件(包含波纹效果)
LoadingCell:页面加载组件,封装 FutureBuilder,包含加载成功,失败,页空三态
TextFormInput:文本输入框,TextFormField 封装
TextFormInput.noFrame:文本输入框,无底框样式
TextFormInput.area:多行文本输入框
Email: bluesofy@qq.com
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。