1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/osard-wxlibrary

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

wxlibrary aar файл: использование

License API

1. Проект

  1. В папке libs есть пример проекта с использованием последних скомпилированных ресурсов aar.
  2. Проект wxlibrary arr — это проект, который содержит необходимые ресурсы.
  3. Можно использовать онлайн-репозиторий jitpack для импорта.
  4. Этот проект уже адаптирован к новой версии targetSdkVersion 30 от WeChat. После его внедрения можно писать код так же, как и в старой версии.

2. Импорт инструментов в проект

В файле build.gradle проекта добавьте:

allprojects {
    repositories {
        google()
        mavenCentral()

        //jitpack 仓库
        maven { url 'https://jitpack.io' }
    }
}

В файл build.gradle приложения добавьте:

dependencies {
    ...
    implementation 'com.gitee.osard:wxlibrary:1.1.1'
    // Импортируем ресурсы *aar* из *wxlibrary*
    implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
    implementation 'org.greenrobot:eventbus:3.2.0'
}

3. Подготовка к использованию инструментов

  • Для использования в приложении наследуйте WxApplication или application и используйте его в методе onCreate. Получите APPkey и AppSecret, используя метод mete-data.
    • isCheckSignature() и isNowRegister() можно оставить по умолчанию.
    WxApiGlobal.getInstance().init(getApplicationContext(), true, true);
  • APPkey и AppSecret необходимо получить с помощью метода mete-data.

Способ 1: в манифесте переопределить ресурс mete-data

 <application
       ...>

        <!--todo 微信appKey和appSecret赋值的方法一,tools:replace="android:value"为必要参数,否则编译无法通过-->
        <meta-data
            android:name="WX_LIBRARY_WX_APP_KEY"
            android:value="123456s"
            tools:replace="android:value"/>
        <!--secret参数不需要时覆盖为空字符串即可-->
        <meta-data
            android:name="WX_LIBRARY_WX_APP_SECRET"
            android:value="567890a"
            tools:replace="android:value"/>
        <!--todo 微信appKey和appSecret赋值的方法结束-->

        <activity .../>
 </applicaton>

*Способ 2: в манифесте не переопределять ресурс mete-data, а задать значения в gradle (app)

android {
    ...
    defaultConfig {
        ...

        //todo 微信appKey和appSecret赋值的方法二,2个参数都需要赋值,secret不需要时赋值为空字符串即可
        manifestPlaceholders = [
                WX_LIBRARY_WX_APP_KEY: '',
                WX_LIBRARY_WX_APP_SECRET: ''
        ]
    }
    ...
}

4. Использование входа, обмена и оплаты

1. Вход

 // Обратите внимание на регистрацию обратных вызовов событий, иначе они не будут вызваны
        WxLoginUtil.newInstance()
                .setSucceed((code) -> {
                    // Обратный вызов процесса входа успешен   code - это код, возвращаемый WeChat
                    // Если вам нужно получить openID в приложении, вы можете использовать WxApiGlobal.getInstance (). GetAppKey () и WxApiGlobal.getInstance (). GetAppSecret () для получения необходимых параметров WeChat, пожалуйста, убедитесь, что вы ввели правильные параметры перед использованием
                    return;
                })
                .setNoInstalled((() -> {
                    // Клиент WeChat не установлен
                    return;
                }))
                .setUserCancel(() -> {
                    // Пользователь отменяет
                    return;
                })
                .setFail((errorCode, errStr) -> {
                    // Другие типы ошибок, errorCode - это код ошибки, возвращаемый WeChat
                    return;
                })
                // Отправить запрос на вход
                .logIn();
2. Обмен

  // Обратите внимание на регистрацию обратных вызовов событий, иначе они не будут вызваны
        WxShareUtil.newInstance()
                .setSucceed(() -> {
                    // Успешный обратный вызов процесса обмена
                })
                .setNoInstalled((() -> {
                    // Клиент WeChat не установлен
                }))
                .setUserCancel(() -> {
                    // Пользователь отменяет, поскольку WeChat был скорректирован, состояние отмены пользователя не будет вызвано
                })
                .setFail((errorCode, errStr) -> {
                    // Другие типы ошибок, errorCode - это код ошибки, возвращаемый WeChat
                })
                // Отправка запроса на обмен
                .shareTextMessage("Содержание", "Заголовок", "Описание", ShareType.WXSceneTimeline);
3. Оплата

        // req.appId = json.getString("appid");
        // req.partnerId = json.getString("partnerid");
        // req.prepayId = json.getString("prepayid");
        // req.nonceStr = json.getString("noncestr");
        // req.timeStamp = json.getString("timestamp");
        // req.packageValue = json.getString("package");
        // req.sign = json.getString("sign");
        //
``` **Текст запроса:**

此json文本需要包含以上所需字段,或者使用实体方式,不列举 // 注意以下注册回调事件不注册则不会触发 WxPayUtil.newInstance() .setSucceed(() -> { // sdk支付成功,向微信服务器查询下具体结果吧 }) .setNoInstalled((() -> { // 微信客户端未安装 })) .setUserCancel(() -> { // 用户取消 }) .setFail((errorCode, errStr) -> { // 其他类型错误, errorCode为微信返回的错误码 }) //发起分享请求 .payWeChat("json文本");


**Перевод:**

Этот JSON-текст должен содержать указанные выше необходимые поля или использовать сущности, без перечисления.
    // Внимание: следующие зарегистрированные события обратного вызова не будут инициированы, если они не зарегистрированы.
    WxPayUtil.newInstance().
    setSucceed(()->{
        // Платёж через SDK прошёл успешно, запросите конкретные результаты с сервера WeChat.
    }).
    setNoInstalled(()->{
        // Клиентское приложение WeChat не установлено.
    }).
    setUserCancel(()->{
        // Пользователь отменил операцию.
    }).
    setFail((errorCode,errStr)->{
        // Другие типы ошибок, errorCode — это код ошибки, возвращаемый WeChat.
    });
    // Инициировать запрос на совместное использование.
    .payWeChat("JSON-текст");

android { signingConfigs { release { storeFile file('key文件位置,可写相对位置。默认是相对于app的文件夹下') storePassword 'key文件密码' keyAlias = '打包别名' keyPassword '别名密码' } } ... buildTypes { debug { signingConfig signingConfigs.release } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } }

}

Аndroid { signingConfigs { release { storeFile файл('расположение файла ключа, можно указать относительное расположение. По умолчанию находится в папке приложения') storePassword 'пароль файла ключа' keyAlias = 'псевдоним для пакета' keyPassword 'пароль псевдонима' } } ... buildTypes { debug { signingConfig signingConfigs.release } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } }

Copyright 2021 mjsoftking

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/osard-wxlibrary.git
git@api.gitlife.ru:oschina-mirror/osard-wxlibrary.git
oschina-mirror
osard-wxlibrary
osard-wxlibrary
master