Skip to content

Commit 58d2b48

Browse files
authored
Update Readme.md
1 parent bfeb177 commit 58d2b48

File tree

1 file changed

+75
-107
lines changed

1 file changed

+75
-107
lines changed

Readme.md

Lines changed: 75 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,101 @@
1-
# 深入小程序系列之三、 ReactNative和小程序混编
1+
<p align="center">
2+
<a href="https://www.finclip.com?from=github">
3+
<img width="auto" src="https://www.finclip.com/mop/document/images/logo.png">
4+
</a>
5+
</p>
26

3-
## 背景
7+
<p align="center">
8+
<strong>FinClip ReactNative DEMO</strong></br>
9+
<p>
10+
<p align="center">
11+
本项目提供在 ReactNative 环境中运行小程序的 DEMO 样例
12+
<p>
413

5-
本文我们将开一下脑洞,在 ReactNative 工程基础上下集成及运行小程序方案。
14+
<p align="center">
15+
👉 <a href="https://www.finclip.com?from=github">https://www.finclip.com/</a> 👈
16+
</p>
617

7-
先看一下效果如下:
18+
-----
19+
## 🤔 FinClip 是什么?
820

9-
![](./docs/mop-react-native-demo.gif)
21+
有没有**想过**,开发好的微信小程序能放在自己的 APP 里直接运行,只需要开发一次小程序,就能在不同的应用中打开它,是不是很不可思议?
1022

11-
## 环境搭建
12-
13-
```
14-
npm install -g react-native-cli yarn
15-
```
16-
官方的[环境搭建文档](https://reactnative.dev/docs/environment-setup)已经有详细的说明,这里不再重复。大家可以看下我本地的环境配置版本,目前整个项目运行稳定,可以借鉴。
17-
18-
```bash
19-
$ react-native info
20-
info Fetching system and libraries information...
21-
System:
22-
OS: macOS 10.15.3
23-
CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
24-
Memory: 93.87 MB / 16.00 GB
25-
Shell: 3.2.57 - /bin/bash
26-
Binaries:
27-
Node: 16.4.0 - ~/.nvm/versions/node/v10.20.1/bin/node
28-
Yarn: 1.22.4 - ~/.nvm/versions/node/v10.20.1/bin/yarn
29-
npm: 7.18.1 - ~/.nvm/versions/node/v10.20.1/bin/npm
30-
Watchman: Not Found
31-
Managers:
32-
CocoaPods: 1.10.1 - /usr/local/bin/pod
33-
SDKs:
34-
iOS SDK:
35-
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
36-
Android SDK:
37-
API Levels: 22, 23, 24, 25, 26, 27, 28, 29, 30
38-
Build Tools: 23.0.2, 23.0.3, 25.0.0, 26.0.2, 27.0.0, 27.0.3, 28.0.3, 29.0.2, 30.0.2
39-
System Images: android-28 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
40-
Android NDK: 21.3.6528147
41-
IDEs:
42-
Android Studio: 4.0 AI-193.6911.18.40.6626763
43-
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
44-
Languages:
45-
Java: 10.0.1 - /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/bin/javac
46-
Python: 2.7.16 - /usr/bin/python
47-
npmPackages:
48-
@react-native-community/cli: Not Found
49-
react: 17.0.2 => 17.0.2
50-
react-native: 0.65.1 => 0.65.1
51-
npmGlobalPackages:
52-
*react-native*: Not Found
53-
54-
```
55-
## 新建 ReactNative 样例工程
23+
有没有**试过**,在自己的 APP 中引入一个 SDK ,应用中不仅可以打开小程序,还能自定义小程序接口,修改小程序样式,是不是觉得更不可思议?
5624

25+
这就是 FinClip ,就是有这么多不可思议!
5726

58-
### 新建 ReactNative 工程
27+
## 🤩 效果预览
5928

60-
```bash
29+
**本项目是 FinClip 小程序在 ReactNative 工程基础上下集成及运行小程序 DEMO 演示,您可以按照下方流程测试,验证 FinClip 小程序在 ReactNative 环境下的实际效果。**
6130

62-
react-native init mopdemo
31+
先看一下运行效果~
6332

64-
```
65-
66-
稍等一会...
67-
68-
初始化项目完成之后,你可以选择两种不同的方式运行 App 在 iOS/Android 平台:
33+
<p align="center">
34+
<a href="#">
35+
<img width="auto" src="./docs/mop-react-native-demo.gif">
36+
</a>
37+
</p>
6938

70-
注意!ReactNative需要依赖本地安装对应的 iOS,Android 开发工具,即需要安装 Xcode 和 AndroidStudio。具体安装使用方法这里不赘述。
39+
## ⚙️ 操作步骤
40+
### 第一步 引入小程序引擎插件
41+
`package.json` 文件中引入小程序 ReactNative 插件
7142

72-
这里我们用 VSCode+Xcode 作为开发组合环境。
43+
`"react-native-mopsdk": "^1.0.1"`
7344

45+
### 第二步 初始化引擎
46+
`main.dart` 文件中增加以下小程序引擎初始化方法。
7447

75-
### 集成小程序解析引擎
48+
在 Mop.instance.initialize 中,需要用到 `SDK KEY``SECRET`
7649

77-
这里我们采用凡泰集成免费社区版的小程序解析引擎,只需要 10 行代码量不到即可完成小程序集成。
78-
79-
1. 引入小程序引擎插件。在 package.json 文件中引入小程序 ReactNative 插件
50+
```objc
51+
import MopSDK from 'react-native-mopsdk';
52+
// 1. mop初始化
53+
MopSDK.initialize({
54+
appkey: '22LyZEib0gLTQdU3MUauASlb4KFRNRajt4RmY6UDSucA',
55+
secret: '4a915e447bcbd439',
56+
apiServer: 'https://api.finclip.com',
57+
apiPrefix: '/api/v1/mop'
58+
}, (data) => {
59+
console.log('message;', data);
60+
});
61+
```
8062
81-
```javascript
82-
"react-native-mopsdk": "^1.0.2"
63+
### 第三步 打开小程序
64+
```objc
65+
MopSDK.openApplet('appid','','',(data)=>{});
8366
```
8467

85-
android 在 build.gradle 添加 maven 配置
68+
- **SDK KEY****SDK SECRET** 可以从 [FinClip](https://finclip.com/#/home) 获取,点 [这里](https://finclip.com/#/register) 注册账号;
69+
- 进入平台后,在「应用管理」页面添加你自己的包名后,点击「复制」即可获得 key\secret\apisever 字段;
70+
- **apiServer****apiPrefix** 是固定字段,请直接参考本 DEMO ;
71+
- **小程序 ID** 是管理后台上架的小程序 APP ID,需要在「小程序管理」中创建并在「应用管理」中关联;
72+
> 小程序 ID 与 微信小程序ID 不一样哦!(这里是特指 FinClip 平台的 ID )
8673
87-
```bash
88-
maven {
89-
url "https://gradle.finogeeks.club/repository/applet/"
90-
credentials {
91-
username "applet"
92-
password "123321"
93-
}
94-
}
95-
```
9674

97-
iOS 需要重新 pod install
75+
## 📋 接口文档
76+
[点击这里](https://www.finclip.com/mop/document/introduce/quickStart/intergration-guide.html#_4-reactnative-%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90) 查看 React Native 快速集成文档
9877

99-
2. 在 App.js 文件中增加以下小程序引擎初始化方法。 Mop.instance.initialize 这里需要用到 sdkkey 和 secret。可以直接在[https://mp.finogeeks.com](https://mp.finogeeks.com) 免费注册获取。注册使用方法可以参考 [接入指引](https://mp.finogeeks.com/mop/document/introduce/access/mechanism.html)
78+
## 🔗 常用链接
79+
以下内容是您在 FinClip 进行开发与体验时,常见的问题与指引信息
10080

101-
```javascript
102-
import MopSDK from 'react-native-mopsdk';
103-
// 1. mop初始化
104-
MopSDK.initialize(
105-
{
106-
appkey: '22LyZEib0gLTQdU3MUauASlb4KFRNRajt4RmY6UDSucA',
107-
secret: 'c5cc7a8c14a2b04a',
108-
apiServer: 'https://api.finclip.com',
109-
apiPrefix: '/api/v1/mop',
110-
},
111-
data => {
112-
console.log('message;', data);
113-
const s = JSON.stringify(data);
114-
this.setState({
115-
status: 'native callback received',
116-
message: s,
117-
});
118-
},
119-
);
120-
```
81+
- [FinClip 官网](https://www.finclip.com/#/home)
82+
- [示例小程序](https://www.finclip.com/#/market)
83+
- [文档中心](https://www.finclip.com/mop/document/)
84+
- [SDK 部署指南](https://www.finclip.com/mop/document/introduce/quickStart/intergration-guide.html)
85+
- [小程序代码结构](https://www.finclip.com/mop/document/develop/guide/structure.html)
86+
- [iOS 集成指引](https://www.finclip.com/mop/document/runtime-sdk/ios/ios-integrate.html)
87+
- [Android 集成指引](https://www.finclip.com/mop/document/runtime-sdk/android/android-integrate.html)
88+
- [Flutter 集成指引](https://www.finclip.com/mop/document/runtime-sdk/flutter/flutter-integrate.html)
12189

122-
3. 打开小程序
90+
## ☎️ 联系我们
91+
微信扫描下面二维码,关注官方公众号 **「凡泰极客」**,获取更多精彩内容。<br>
92+
<img width="150px" src="https://www.finclip.com/mop/document/images/ic_qr.svg">
12393

124-
```javascript
125-
MopSDK.openApplet('appid','','',(data)=>{});
126-
```
94+
微信扫描下面二维码,邀请进官方微信交流群(加好友备注:finclip 咨询),获取更多精彩内容。<br>
95+
<img width="150px" src="https://finclip-homeweb-1251849568.cos.ap-guangzhou.myqcloud.com/images/ldy111.jpg">
12796

97+
## Stargazers
98+
[![Stargazers repo roster for @finogeeks/finclip-react-native-demo](https://reporoster.com/stars/finogeeks/finclip-react-native-demo)](https://github.com/finogeeks/finclip-react-native-demo/stargazers)
12899

129-
* **SDKKEY****Secret** 可以从前面部署的社区版的管理后台获取。
130-
* **apiServer** 为这里是小程序生态后端的服务地址也就是前文所输入的`IP:端口`
131-
* **小程序id** 为在管理后台上架的小程序唯一ID(在小程序小架时自动生成)
132-
* 上述的参数可以在前文服务器部署的后台界面上获取,亦可以在没有部署服务端的情况下在[https://mp.finogeeks.com](https://mp.finogeeks.com)快速注册,免费获取。
133-
* **重要事情说三遍,您可以在官方的github仓库中查看示例代码** [https://github.com/finogeeks/mop-react-native-demo](https://github.com/finogeeks/mop-react-native-demo)
100+
## Forkers
101+
[![Forkers repo roster for @finogeeks/finclip-react-native-demo](https://reporoster.com/forks/finogeeks/finclip-react-native-demo)](https://github.com/finogeeks/finclip-react-native-demo/network/members)

0 commit comments

Comments
 (0)