更新记录
1.1.2(2023-03-30)
修改无法拉起授权回调问题
1.1.1(2023-03-20)
修改iOS端上架初步审核不通过bug
1.1.0(2023-03-09)
添加钉钉分享功能
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
体验APK下载地址:https://gitee.com/peak_3_0_admin/dingdign-apk.git
一、功能
判断APP是否安装钉钉,是否授权钉钉登录,拉起钉钉登录授权,是否支持分享到好友,是否支持分享到Ding,分享到好友-文本分享,分享到好友-图片分享,分享到好友-链接分享
二、使用示例 Android端
<script>
// 1.引入插件
var testModule = uni.requireNativePlugin("W-DDModule-DD")
var globalEvent = uni.requireNativePlugin('globalEvent')
export default {
// 2.使用插件
methods:{
isInstallDD(){
// 2.1判断手机是否安装钉钉
uni.showModal({
content: '是否安装钉钉==' + testModule.isInstallDD(),
})
},
isLoginDD(){
// 2.2判断手机安装的钉钉的版本是否支持授权
uni.showModal({
content: '是否支持登录授权==' + testModule.isLoginDD(),
})
},
loginDD(){
// 2.3拉起钉钉登录授权获取code
testModule.loginDD((res) => {
uni.showToast({
title: '拉起钉钉登录授权获取code===》' + JSON.stringify(res),
icon: "none"
})
})
},
// 是否支持分享到好友
isDDSupportAPI(){
uni.showModal({
content: '是否支持分享到好友==' + testModule.isDDSupportAPI(),
})
},
// 是否支持分享到Ding
isDDSupportDingAPI(){
uni.showModal({
content: '是否支持分享到Ding==' + testModule.isDDSupportDingAPI(),
})
},
// 分享到好友-文本分享
sendFriendText() {
testModule.sendFriendText({
'title': '分享到好友-文本分享---标题',
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
// 分享到好友-图片分享
sendFriendImage() {
testModule.sendFriendImage({
'picUrl': 'https://img-download.pchome.net/download/1k1/ut/5a/ouzdgm-1dzc.jpg', //分享到好友-图片分享---分享图片的URL
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
// 分享到好友-链接分享
sendFriendLink() {
testModule.sendFriendLink({
'title': '分享到好友-链接分享---标题', //分享到好友-链接分享---标题
'url': 'http://www.baidu.com', //分享到好友-链接分享---链接地址
'picUrl': 'http://static.dingtalk.com/media/lAHPBY0V4shLSVDMlszw_240_150.gif', //分享到好友-链接分享---logo
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
sendDingText() {
testModule.sendDingText({
'title': '分享到Ding-文本分享---标题',
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
sendDingImage() {
testModule.sendDingImage({
'picUrl': 'https://img-download.pchome.net/download/1k1/ut/5a/ouzdgm-1dzc.jpg', //分享到Ding-图片分享---分享图片的URL
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
sendDingLink() {
testModule.sendDingLink({
'title': '分享到Ding-链接分享---标题', //分享到Ding-链接分享---标题
'url': 'http://www.baidu.com', //分享到Ding-链接分享---链接地址
'picUrl': 'http://static.dingtalk.com/media/lAHPBY0V4shLSVDMlszw_240_150.gif', //分享到Ding-链接分享---logo
}, (res) => {
uni.showToast({
title: '回调===》' + JSON.stringify(res),
icon: "none"
})
})
},
}
}
</script>
备注: 此插件使用的钉钉SDK为1.1.0版本
前端请参考此文档:
https://open.dingtalk.com/document/mobile-app-guide/android-platform-application-authorization-login-access
后端根据获取的code返回用户数据请参考此网址:
https://open.dingtalk.com/document/orgapp/obtain-the-user-information-based-on-the-sns-temporary-authorization
插件使用流程(以下数据仅测试时使用):
1.参考此文档‘https://open.dingtalk.com/document/mobile-app-guide/android-platform-application-authorization-login-access’对钉钉官网进行相应配置
包名:com.xxx.xxx
签名:打包完成后自己生成
2.引入插件,使用插件,参考以上Android与iOS的使用文档,配置manifest.json,‘原生插件配置’选择插件,配置内容如下:
钉钉的AppKey(Android):dingl****************
3.打包,包名配置为:com.xxx.xxx
4.生成签名,填写到钉钉官网对应处
服务器端
@RequestMapping("/getuserinfo_bycode")
public Object getUsernfoByCode(@RequestBody String body) throws ApiException{
String code = JacksonUtil.parseString(body, "code");
DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/sns/getuserinfo_bycode");
OapiSnsGetuserinfoBycodeRequest req = new OapiSnsGetuserinfoBycodeRequest();
req.setTmpAuthCode(code);
OapiSnsGetuserinfoBycodeResponse response = client.execute(req,"钉钉官网的AppKey","钉钉官网的AppSecret");
// TODO 自己的逻辑
return ResponseUtil.success(ResultCode.INSERT_SUCCESS);
}
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
<version>2.0.0</version>
</dependency>
注意:
钉钉官网从安全的角度考虑,不支持动态变更包名。使用本插件打包时的包名需要与开发插件时的包名相同,否则没法拉起回调,不能使用
如需购买使用此插件请联系开发者,vx:wayazh