- 版本:1.0.6
- GitHub: https://github.com/jibon57/nativescript-wechat-login
- NPM: https://npmjs.net.cn/package/nativescript-wechat-login
- 下载
- 昨日:0
- 上周:2
- 上月:11
NativeScript 微信登录插件
使用此插件,您可以在您的 APP 中实现微信登录功能。您可以在此处了解更多详情:这里
安装
tns plugin add nativescript-wechat-login
如果您正在使用 NativeScript 5.4.X,可以查看此分支
Android
如果安装成功,则应在您的 src
或 app
(根据 nsconfig.json
或 webpack.config.js
中的 appPath
值)目录中创建 wxapi.WXEntryActivity.android.ts
文件,并包含您的 APP ID。如果未成功创建,则您需要手动创建该文件。您可以从此处获取该文件的代码。在这种情况下,您需要将 YOUR_APP_ID
替换为您的应用 ID。
如果您在 src
或 app
目录中没有 wxapi.WXEntryActivity.android.ts
文件,那么 Android 不会从微信接收通知。
Webpack
您需要在 webpack.config.js
文件中添加 wxapi.WXEntryActivity.android.ts
,以便 Android 运行时可以生成适当的 Java 类。请查看示例 custom-webpack.config.js
文件。您可以在此处了解详细信息。
如果您正在使用 NativeScript 6.4.0 或更高版本,则可以创建自定义 custom-webpack.config.js
文件并将其添加到您的 nsconfig.json
文件中,如下所示
custom-webpack.config.js
const webpackConfig = require("./webpack.config");
const path = require("path");
module.exports = env => {
env = env || {};
const cnf = webpackConfig(env);
env.appComponents = env.appComponents || [];
env.appComponents.push(path.resolve(cnf.context, "wxapi.WXEntryActivity.android.ts"));
const config = webpackConfig(env);
return config;
}
nsconfig.json
...
"webpackConfigPath": "./custom-webpack.config.js"
对于 NativeScript 6.3.0 或更早版本,请手动编辑 webpack.config.js
。
const appComponents = [
"tns-core-modules/ui/frame",
"tns-core-modules/ui/frame/activity",
resolve(__dirname, "src/wxapi.WXEntryActivity.android.ts") // or resolve(__dirname, "app/wxapi.WXEntryActivity.android.ts") depends on nsconfig.json or webpack.config.js file's appPath value.
];
iOS
从 App_Resources/iOS
位置打开您的 Info.plist
文件,并添加以下行
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>weixin</string>
<key>CFBundleURLSchemes</key>
<array>
<string>WECHAT_APP_ID</string>
</array>
</dict>
</array>
将 WECHAT_APP_ID
替换为您的微信 App ID。请查看示例项目 demo/App_Resources/iOS/Info.plist
用法
有关详情,您可以查看示例项目。
在您的 main.ts
或 app.ts
中,需要导入带有微信 App ID 的 initWechatSdk(WECHAT_APP_ID)
方法。
....
import { initWechatSdk } from "nativescript-wechat-login";
initWechatSdk("wxd930ea5d5a258f4f");
在其他任何页面上
....
import { WechatLogin } from "nativescript-wechat-login";
import * as app from "tns-core-modules/application";
现在调用一个方法
let wechat = new WechatLogin();
if (wechat.isWechatInstalled()) {
wechat.doLogin("nativescript_demo");
} else {
console.log("wechat isn't installed")
}
您将收到来自 wxApiResponse
事件的响应。因此,您可以像这样注册该事件
app.on('wxApiResponse', function(res){
console.dir(res) // you will get wechat notification here.
console.dir(res.object) // information from wechat
}, this);
参考
https://open.wechat.com/cgi-bin/newreadtemplate?t=overseas_open/docs/mobile/login/guide#login_guide
https://github.com/aaronbruckner/wechatAndroidLoginDemo
许可
Apache License Version 2.0,2004 年 1 月