A React Native App for Mastodon. development acount in cmx.im:
Branch: master
Clone or download
Latest commit 5920c91 Feb 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android 解决注册名称和App名称不同问题; Feb 15, 2019
ios 增加骨架图组件:预设嘟文、详情页、媒体文件的图; Feb 6, 2019
preview 完善个人详情页面的顶部Header,增加小头像展示;完善不同主题下骨架图的色彩搭配;在入口页面引入开发环境检测;解决个人主页媒体文件跳转错误; Feb 15, 2019
src 删除无效color更新文档; Feb 23, 2019
.babelrc react-navigation遇到难以解决的bug,因此降到2.x版本(增加babel插件解决新出现的问题);增加测试组件;完善动画逻辑… Dec 26, 2018
.buckconfig 初始化项目;完成基本布局; Dec 14, 2018
.flowconfig 用StatusBar组件替代函数式调用;完善TootScreen样式;替换项目中.white; Feb 2, 2019
.gitattributes 初始化项目;完成基本布局; Dec 14, 2018
.gitignore 拉下上一次commit代码后不可运行;重新init项目;添加一些devPendencies后解决;页面逻辑无变更; Dec 18, 2018
.watchmanconfig 初始化项目;完成基本布局; Dec 14, 2018
App.js 增加登陆、授权页面,实现登陆功能;扩展Notice.Confirm组件以适应更多功能; Jan 31, 2019
LICENSE 修改项目开源协议:MIT-->GNU General Public License v3.0 Jan 29, 2019
README.md Update README.md Feb 19, 2019
app.json 修改App名称; Feb 15, 2019
index.js 初始化项目;完成基本布局; Dec 14, 2018
package.json 个人详情页面滚动条在最上方时才启用下拉刷新功能; Feb 11, 2019
rn-cli.config.js 增加rn-cli配置,解决依赖项中react-native冲突;封装Header、Loading组件;完善各组件对white主题的适配 Jan 19, 2019
yarn.lock 个人详情页面滚动条在最上方时才启用下拉刷新功能; Feb 11, 2019

README.md

Gakki

这是一个用React Native写的 Mastodon 客户端(近期只考虑 Android)

这是 开发测试账号 ,我会在上面更新最新的项目开发动态

Gakki开发系列文章/教程正在紧张的书写中...(将提供同时提供英文版的哦~)

A series of tutorials are being prepared and will be available in English.

本地运行:


首先确保你本地有 ReactNative 项目所需环境(不考虑 iOS 环境),官方文档 英文教程 中文教程

下载项目:

git clone https://github.com/shuiRong/Gakki
cd ./Gakki
yarn // or npm i

添加配置文件:

新建src/utils/config.js,内容如下:

export const token = 'Bearer xxxxxxxx'  // 必须
export const deploymentKey = 'yyyyyyy'  // CodePush生成的应用发布key,必须,更多详情自行查文档
export const version = '1.0' // 当前应用的版本,会用在About页面,必须

其中xxxxxxxxx为你申请的实例token,申请方法如下:

  1. 打开你所在实例的设置页面,比如草莓县的:https://cmx.im/settings/applications
  2. 在 开发-你的应用 中创建新应用:应用名称随便填写,应用网站任意网站,比如:https://google.com,重定向 URI 不必修改,权限范围根据需要选择(建议全部勾选),最后提交
  3. 点击查看你刚创建的应用详情,上方你的访问令牌即为你需要添加到config.js中的值(注意Bearer 后面有个空格哦~)

运行项目前需要通过 USB 将手机连接到电脑上,遵循官方教程 中文教程或者自行 Google 教程

然后运行项目:

react-native run-android

P.S. 如果遇到任何项目上的问题都可以在issue区提出,或者来Mastodon找我

APK下载

效果预览


gakki gakki gakki
gakki gakki gakki
gakki gakki gakki
gakki gakki gakki
gakki gakki

待办事项


  • 通知页面细分为:提及点赞转发关注,四个Tab
  • 在本站Tab下,向右滑打开侧栏
  • 屏蔽某人后,其他嘟文中@此人的嘟文一并屏蔽(此功能可在设置页面手动启用)(by @shioko)
  • 支持DNS over HTTPS,免翻墙
  • 嘟文附近添加翻译按钮,翻译嘟文
  • 国际化:选择语言
  • 支持列表功能:自定义时间线
  • 支持多账号登陆
  • 增加设置:默认显示所有敏感文件/敏感内容(可手动启用/关闭)
  • 增加设置:删除前增加确认框(可手动启用/关闭)
  • 增加设置:是否启用GIF(因为有损性能)
  • 增加删除并重新编辑功能
  • 增加推送功能(附带提示音)
  • 增加设置:管理通知项
  • 增加更多主题
  • 支持视频上传和播放