win32
parent
073762e120
commit
020f4babeb
|
@ -76,7 +76,7 @@
|
|||
|---|---|---|---|---|---|
|
||||
| C++ | win32 | 测试中 | Windows | [win32](examples/win32) | 无 |
|
||||
| Python | pyqt 5 | 开发中 | Windows / Mac | [Pyqt](examples/pyqt) | |
|
||||
| JavaScript | Electron | 测试中 | Windows | [Electron](examples/electron) | |
|
||||
| JavaScript | Electron | 测试中 | Windows | [Electron](examples/electron) | [node](https://github.com/finogeeks/finclip-win32-demo/releases) |
|
||||
|
||||
## DEMO 运行与 SDK 集成说明
|
||||
|
||||
|
@ -94,9 +94,9 @@
|
|||
|
||||
查看文档,在准备好相应的文件后,即可运行 FinClip DEMO;
|
||||
|
||||
### 查看集成文档
|
||||
您可以点击这里查看 [Windows 集成](https://www.finclip.com/mop/document/runtime-sdk/windows/windows-integrate.html) 的集成开发文档。
|
||||
## 查看集成文档
|
||||
|
||||
在demo文档中, 我们也描述了在该语言环境下, 如何集成FinClip SDK
|
||||
## 🔗 常用链接
|
||||
以下内容是您在 FinClip 进行开发与体验时,常见的问题与指引信息
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# finclip-electron-demo
|
||||
|
||||
## 添加二进制依赖
|
||||
## 📦 安装第三方依赖
|
||||
|
||||
下载finclip二进制包到`vendor`的对应目录下,如`vendor/win/x64`
|
||||
[下载finclip二进制包](https://github.com/finogeeks/finclip-win32-demo/releases)到`vendor`的对应目录下,如`vendor/win/x64`
|
||||
|
||||
## 快速开始
|
||||
|
||||
|
|
|
@ -1,46 +1,41 @@
|
|||
## 📦 安装第三方依赖
|
||||
# 📦 安装第三方依赖
|
||||
Windows 小程序运行环境需要安装以下依赖,请提前配置环境:
|
||||
- 请下载依赖包[点我下载](https://public-1251849568.cos.ap-guangzhou.myqcloud.com/sdk/lib.zip)
|
||||
- 下载完后解压到vendor/finclip目录中
|
||||
- 建议使用 Visual Studio 2019 版本 [点我下载](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0)
|
||||
- 请下载依赖包[点我下载](https://github.com/finogeeks/finclip-win32-demo/releases)
|
||||
- 如果您使用的是64位版本, 请解压至vendor/win/x64文件
|
||||
- 建议使用 Visual Studio 2019或以上版本
|
||||
|
||||
# demo运行
|
||||
## 下载依赖
|
||||
[下载finclip二进制包](https://github.com/finogeeks/finclip-win32-demo/releases)到`vendor`的对应目录下,如`vendor/win/x64`
|
||||
|
||||
## 快速开始
|
||||
|
||||
环境准备就绪后, 双击finclip-win32-demo.sln, 在vs中即可运行
|
||||
|
||||
# 集成
|
||||
|
||||
**注意:依赖包必须随缩主程序一同发布,并在独立目录中存放。**
|
||||
|
||||
解压后文件目录结构如下:
|
||||
|
||||
```
|
||||
vendor
|
||||
|--finclip
|
||||
| |--lib
|
||||
| |--****
|
||||
| |--****
|
||||
| |--****
|
||||
...
|
||||
```
|
||||
|
||||
|
||||
### 第一步 引入头文件
|
||||
|
||||
头文件: https://github.com/finogeeks/finclip-win32-demo/tree/master/src
|
||||
|
||||
```c++
|
||||
#include "finclip_wrapper.h" //引入头文件
|
||||
#include "finclip_api.h" //引入头文件
|
||||
#pragma comment(lib, "FinClipSDKWrapper.lib") //引入链接库
|
||||
```
|
||||
|
||||
### 第二步 初始化SDK
|
||||
|
||||
```c++
|
||||
FinConfig config = {
|
||||
1,
|
||||
"https://api.finclip.com",
|
||||
"/api/v1/mop",
|
||||
"这里输入SDK KEY",
|
||||
"这里输入SDK SECRET",
|
||||
"",
|
||||
1
|
||||
};
|
||||
IFinConfigPacker* configpacker = NewFinConfigPacker();
|
||||
configpacker->AddConfig(config);
|
||||
Initialize(hInstance, configpacker);
|
||||
|
||||
auto* factory = finclip_get_packer_factory();
|
||||
auto* packer = finclip_packer_factory_get_config_packer(factory);
|
||||
auto* config = finclip_config_packer_new_config(packer);
|
||||
finclip_config_packer_add_config(packer, config);
|
||||
finclip_config_set_app_store(config, 1);
|
||||
finclip_config_set_app_key(config, "这里输入SDK KEY");
|
||||
finclip_config_set_secret(config, "这里输入SDK SECRET");
|
||||
finclip_config_set_domain(config, "https://api.finclip.com");
|
||||
```
|
||||
|
||||
- **SDK KEY** 和 **SDK SECRET** 可以从 [FinClip](https://finclip.com/#/home) 获取,点 [这里](https://finclip.com/#/register) 注册账号;
|
||||
|
@ -53,13 +48,6 @@ vendor
|
|||
### 第三步 打开小程序
|
||||
|
||||
```c++
|
||||
int server_type = 1;
|
||||
init_finclipsdk(server_type,wappkey, wsecret);
|
||||
IFinPacker* packer = NewFinPacker();
|
||||
packer->BeginPacker();
|
||||
packer->AddField("appId");
|
||||
packer->AddValue("appId");
|
||||
packer->EndPacker();
|
||||
StartApplet(server_type, utf8_encode(wappid).c_str(), packer, finclip_applet_callback);
|
||||
packer->Release();
|
||||
int appstore = 1; // 与第二步一致
|
||||
finclip_start_applet(appstore, "这里输入 APP ID");
|
||||
```
|
|
@ -286,36 +286,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
|||
return 0;
|
||||
}
|
||||
InitFinclipsdk(appstore, wappkey, wsecret, wdomain);
|
||||
// IPackerFactory* factory = GetPackerFactory();
|
||||
// IFinConfigPacker* configpacker = factory->GetFinConfigPacker();
|
||||
// IFinConfig* config = configpacker->GetConfig(appstore);
|
||||
// config->SetAppWindowStyle(std::stol(wtype));
|
||||
// IFinPacker* packer = factory->GetFinPacker();
|
||||
// packer->BeginPacker();
|
||||
// packer->Add("appId", Utf8Encode(wappid).c_str());
|
||||
// packer->Add("query", "1");
|
||||
// packer->EndPacker();
|
||||
// int len = packer->GetBufferSize() + 1;
|
||||
// auto* ret = new unsigned char[len];
|
||||
// memset(ret, 0, len);
|
||||
// packer->Dump(ret, &len);
|
||||
// delete[] ret;
|
||||
|
||||
if (wtype == L"1") {
|
||||
// 嵌入模式, 准备一个窗口, 用于嵌入小程序
|
||||
if (hWnd_container == nullptr) {
|
||||
hWnd_container =
|
||||
CreateWindowW(L"child_finclip", L"child_finclip",
|
||||
WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, 1024, 768,
|
||||
nullptr, nullptr, hInst, nullptr);
|
||||
}
|
||||
finclip_start_applet(appstore, Utf8Encode(wappid).c_str());
|
||||
|
||||
} else {
|
||||
finclip_start_applet(appstore, Utf8Encode(wappid).c_str());
|
||||
}
|
||||
|
||||
// packer->Release();
|
||||
finclip_start_applet(appstore, Utf8Encode(wappid).c_str());
|
||||
}
|
||||
break;
|
||||
case WM_SIZE: {
|
||||
|
|
Loading…
Reference in New Issue