1 Star 4 Fork 0

PandoraMaze / funibase

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

FUNIBASE

Reviews

基于Flutter工程,集成uni-app小程序模式的开发框架:funibase = Flutter + Uni + Base

P.S. 可自行扩展更多UNI-APP功能库,官方文档见 https://nativesupport.dcloud.net.cn/README

Framework

PROJECT TYPE DESC
LIBX Flutter Plugin uni-app封装库 + 常用三方插件库 + 自定义插件库
UIKIT Dart Package 常用三方 + 自定义工具/UI库(纯Dart)
APP App 主项目

LIBX - pubspec.yaml

# 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

UIKIT - pubspec.yaml

# 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

Usage

LIBX Plugin

// 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)

UIKIT Package

// 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:多行文本输入框

Contact

Email: bluesofy@qq.com

空文件

简介

基于Flutter工程,集成uni-app小程序模式的开发框架:funibase = Flutter + Uni + Base 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/PandoraMaze/funibase.git
git@gitee.com:PandoraMaze/funibase.git
PandoraMaze
funibase
funibase
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891