- 版本:1.0.8
- GitHub: https://github.com/luffyzc/nativescript-wechat-login-knotes
- NPM: https://npmjs.net.cn/package/nativescript-wechat-login-knotes
- 下载
- 昨日:1
- 上周:2
- 上月:15
NativeScript 微信登录插件
使用此插件,您可以在您的应用程序中实现微信登录功能。您可以在此处了解更多详情。
安装
tns plugin add nativescript-wechat-login-knotes
如果您正在使用 NativeScript 5.4.X,您可以查看此分支。
Android
如果安装成功,则应在您的 src
或 app
目录(根据 nsconfig.json
或 webpack.config.js
的 appPath
值)中创建 wxapi.WXEntryActivity.android.ts
文件,并包含您的应用程序 ID。如果没有成功创建,则您需要手动创建该文件。您可以从此处获取该文件的代码。在这种情况下,您需要将 YOUR_APP_ID
修改为您的应用程序 ID。
如果您在 src
或 app
目录中没有 wxapi.WXEntryActivity.android.ts
文件,则 Android 将无法从微信接收通知。
Webpack
您需要将 wxapi.WXEntryActivity.android.ts
添加到您的 webpack.config.js
文件中,以便 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, UNIVERSAL_LINK)
方法。
....
import { initWechatSdk } from "nativescript-wechat-login-knotes";
initWechatSdk("wxd930ea5d5a258f4f", "https://www.your.app.universal.link");
在任何其他页面
....
import { WechatLogin } from "nativescript-wechat-login-knotes";
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 版本 2.0,2004 年 1 月