DCloud_UNI_GSQ
DCloud_UNI_GSQ
  • 发布:2018-12-18 13:52
  • 更新:2024-05-05 09:39
  • 阅读:305616

UNI-APP 开发微信公众号(H5)JSSDK 的使用方式

分类:uni-app

uni-app 中为兼容微信小程序生态存在全局的 wx 对象,而微信 JS-SDK 也是注册全局的 wx 对象,为避免混淆,可以将微信 JS-SDK 中的 wx 对象改名。采用以下两种方案之一即可。

方案一:模块化

在 uni-app 中可以使用模块方式引用微信 js-sdk ,可以避免与 uni-app 内置 wx 全局对象冲突的问题。

微信官网直接下载的如果使用有问题,可以使用 jweixin-module

安装

- NPM安装方式(不会用NPM就不要用这种方式)

npm install jweixin-module --save

- 下载使用方式

下载地址:https://unpkg.com/jweixin-module@1.6.0/lib/index.js

使用

var jWeixin = require('jweixin-module')  
jWeixin.ready(function(){  
    // TODO  
});

方案二:全局引入

如果不使用模块化引入 JS-SDK,而采用传统方式在 html 模板中直接全局引入,可以修改全局变量名称。

<!DOCTYPE html>  
<html lang="zh-CN">  
    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <title>  
            <%= htmlWebpackPlugin.options.title %>  
        </title>  
        <!-- Open Graph data -->  
        <!-- <meta property="og:title" content="Title Here" /> -->  
        <!-- <meta property="og:url" content="http://www.example.com/" /> -->  
        <!-- <meta property="og:image" content="http://example.com/image.jpg" /> -->  
        <!-- <meta property="og:description" content="Description Here" /> -->  
        <script>  
            var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))  
            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')  
        </script>  
        <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"/>  
        <script>  
            window.jWeixin=window.wx;  
            delete window.wx;  
        </script>  
        <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />  
    </head>  
    <body>  
        <noscript>  
            <strong>Please enable JavaScript to continue.</strong>  
        </noscript>  
        <div id="app"></div>  
        <!-- built files will be auto injected -->  
    </body>  
</html>

完整API

微信JS-SDK说明文档

52 关注 分享
Trust GCJ 五叶神 虫雪浓 少年时 7***@qq.com e***@163.com 6***@qq.com z***@ichengyue.cn 1***@qq.com sonicsunsky 漩涡鸣人 战力不足五 zting590 叶冬凌 lydeon 屁小孩 w***@163.com Charlee丶毒 q***@icloud.com 天保 厘米 你的益达007 君不见 5***@qq.com 8***@qq.com rysnone 2***@qq.com 苏陌 l***@163.com 2***@qq.com 2***@qq.com 小答 c***@126.com j***@126.com 吃个大西瓜 1***@qq.com j***@163.com Qyh h***@qq.com 2***@qq.com 2***@qq.com 5***@qq.com m***@outlook.com 喜欢技术的前端 y***@126.com 2***@qq.com DCloud_UNI_HRK c***@163.com 1***@qq.com

要回复文章请先登录注册

沐枫

沐枫

H5 微信分享,debug 模式下观察到所有都返回的OK,就是分享没有效果。

原因:如果直接用后端返回的link就不行,

最后:用写死的如:link: 'http://www.xxx.com/index.html' 或用 link: this.$.__URL__ + '/index.html'来拼接就好了,折腾了我一天!!!
2019-04-15 17:55
3***@qq.com

3***@qq.com

回复 9***@qq.com :
我也遇到这个问题,请问你解决了吗?
2019-04-15 10:31
9***@qq.com

9***@qq.com

微信分享,debug 模式下观察到所有都返回的OK,但是分享没有效果。
2019-04-10 14:35
daixinguo

daixinguo

应用此包 使用微信jssdk上传图片时 循环给ios添加浏览图时出现这个问题
TypeError: wx.getLocalImgData is not a function. (In 'wx.getLocalImgData(t)', 'wx.getLocalImgData' is undefined)
上传一张没问题 多张就出现这个问题
localIds 正常能拿到数组
if (window.__wxjs_is_wkwebview){
console.log('这是苹果')
localIds.forEach(lin =>{
let jweixin = require('jweixin-module')
jweixin.getLocalImgData({
localId: lin, // 图片的localID
success:(res)=>{
console.log('上传成功')
console.log(res)
let localData = res.localData; // localData是图片的base64数据,可以用img标签显示
localData = localData.replace('jpg', 'jpeg');
//console.log(localData)
that.imgUrls.push(localData);
//console.log(this.imgUrls)
}
});
});
}
2019-04-04 10:31
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 c***@163.com :
jweixin.config调用了没?注意config配置是否正确
2019-03-20 12:23
c***@163.com

c***@163.com

安装好模块后 ,h5编译可以打印出jweixin对象,分享没起作用
// #ifdef H5
var jweixin = require('jweixin-module');
// console.log(jweixin);
jweixin.ready(function(){
jweixin.updateAppMessageShareData({
title: 'uni-app分享', // 分享标题
desc: '我正在使用HBuilderX开发uni-app,赶紧跟我一起来体验!', // 分享描述
link: 'http://sso.9shengyi.com/h5', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/uni@2x.png', // 分享图标
success: function (res) {
console.log("success:" + JSON.stringify(res));
},
fail: function (err) {
console.log("fail:" + JSON.stringify(err));
},
})
});
// #endif
2019-03-20 01:01
尘雨雾录

尘雨雾录

我下载的是这里的最新版,也是正常引用了,config这边也是ok了。但是列表里面没有updateAppMessageShareData这种接口,我在代码这里也就是list这边是确定写进去了,但是到生产环境的时候,就没有显示这个,是js没适配好么,主要是微信这边在1.4.0新改的接口出问题
2019-03-19 11:19
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 博博科技 :
最新的版本多少?这个是1.4.0
2019-02-21 20:47
博博科技

博博科技

现在微信SDK已经支持了 airkiss 配网功能 等功能,我下载了您的控件,发现这个SDK还是老的版本,我想问下什么时候可以有新的版本?
2019-02-21 15:35