1 Star 0 Fork 10

petter / DiscuzQ App

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

DiscuzQ Flutter Application

该项目的诞生,离不开他们的贡献

实现目标

基本上和官方版本是保持一致的,只是会增加黑暗模式,主题颜色,字体大小等设置罢了。

  • 考虑接入腾讯云短视频SDK A new Flutter application for DiscuzQ. This Application is still under developing, this is an open source software.

If you have any question about this project, follow and post an issue. I will consit to write this application.

版权说明

第三方APP,不代表Discuz团队,仅做个人学习使用。该Flutter APP将不考虑支持Web。
该APP现在处于开发阶段,暂时不推荐clone并编译,后续编排改动都很大,直到release前暂不要使用这些代码。

开发提示

现在,我们的仓库每日都有新的commit,这样一来代码变动都是很大的,并且很多功能都没有完成,你可能跑步起来或者跑起来了还有很多问题。我们将在基础功能完成后,进行很大的Code Review工作和测试工作,现在请不要将代码用于生产环境的构建。

详细关注Release Tags

最近UI截屏

一起开发

了解开发进度,或者有疑问,可以加我微信奥

一些隐藏的功能

有的时候因为不同需要,有的功能可能开发了,但是并没有直接启用,因为这些功能取决于你的后端情况或者偏好。

HTTP2的支持

默认情况下APP没有开启HTTP2请求,如果你的站点开启了HTTP2,那么你可以使用这个特性。在./utils/request/Request.dart中找到下面的代码进行注释解除。

/// import 'package:dio_http2_adapter/dio_http2_adapter.dart';

    /// http2支持,如果你开启了HTTP2,那么移除注释,默认情况下是不启用的
    // _dio.httpClientAdapter = Http2Adapter(
    //   ConnectionManager(
    //     idleTimeout: 10000,

    //     /// Ignore bad certificate
    //     onClientCreate: (_, clientSetting) =>
    //         clientSetting.onBadCertificate = (_) => true,
    //   ),
    // );

注意

This application dose not have released any version. checkout dev branch to get latest version or contribute it. Thanks.
This is an third party software.
Find API document at: https://discuz.chat/api-docs/v1/

Please add this code into your stateful widget

@override
void setState(fn) {
    if (!mounted) {
        return;
    }
    super.setState(fn);
}

@override
void initState() {
    super.initState();
}

@override
void dispose() {
    super.dispose();
}

启动调试

首先,要确认你的Flutter版本

environment:
  sdk: ">=2.6.0 <3.0.0"

你可以使用命令行开启调试,如果你使用android studio,你可以直接运行。
不过在此之前值得说明的是,如果你的网络不能正常快速访问一些技术类网站,建议你使用pub国内源,你可以搜索找到配置的方式。

cd ./discuz
flutter run

项目中的 ./dependencies 本地化了一些依赖,这些依赖有改动所以没有直接使用pub.dev中的进行安装。
我们推荐使用IOS模拟器开始你的调试,如果你Build Android版本,首先你需要生成一个keystore文件,存储到 ./discuz/android/目录下,并命名为android.keystore
接下来,将同目录下的 key.properties.example 文件修改为 key.properties 并更新里面的签名配置内容。切记不要将其提交到Git,这些签名文件是涉及安全的。其次你还可以根据需要修改gradle文件,我们默认下使用了国内的源。

如何自定义主体颜色,字体大小

App自设计开始就设计了支持主题模式,所以你可以在lib/ui/ui.dart修改对应的参数,在lib/utils/global.dart中修改对应的参数完整定制。
使用命令行一键生成APP的图标和启动图(todo)。

如何自动生成Android 和 IOS 的应用图标

我们使用了flutter_launcher_icons, 这使得你可以快速生成一个自己的App图标,但是这样一来你就不可以改变默认的工程配置。
详细的办法参考:https://pub.dev/packages/flutter_launcher_icons
我们已经在pubspec.yaml添加了相关配置,你需要做的就是替换 assets/images/app.png 注意,图片不能包含alpha通道否则会导致Appstore上架失败等,生成图标时,在项目目录运行命令即可自动生成,无需其他操作。

flutter pub run flutter_launcher_icons:main
# or
# cd ./discuz
# bash icon

如何自动生成Android 和 IOS的启动图

和生成图标一样,超级简单。我们已经在pubspec.yaml添加了相关配置,你需要做的就是替换 assets/images/splash.png。然后在运行下面的命令行就可以啦!

flutter pub pub run flutter_native_splash:create
# or
# cd ./discuz
# bash splas

自定义隐私政策和条款

默认情况下,会考虑自动加载DZ中设置的隐私政策和条款。现在DZ API还没有这个功能,后续会加入。但是除了使用默认的DZ后台设置的协议,你还可以指定。
如果你指定了隐私政策协议,那么你可以再 ./utils/global.dart中设置下面的代码。

  /// 
  /// 隐私政策和用户协议常规不需要设置
  /// 若设置后将指定打开链接内的用户协议
  /// 默认情况下,程序设计自动加载dz中设置的协议
  /// 该配置项根据需要来开启
  /// 
  /// 隐私协议
  static const String privacyUri = '';

  ///用户协议
  static const String policiesUri = '';

空文件

简介

基于Flutter框架开发,DiscuzQ的安卓和IOS移动APP 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yunlongli6618/DiscuzQ-App.git
git@gitee.com:yunlongli6618/DiscuzQ-App.git
yunlongli6618
DiscuzQ-App
DiscuzQ App
master

搜索帮助