|
|
@@ -3,7 +3,7 @@ import {
|
|
|
share
|
|
|
} from '@/api/wx';
|
|
|
// 加载日志
|
|
|
-import * as log from '@/libs/log.js'
|
|
|
+import * as log from './log.js'
|
|
|
import {
|
|
|
isAndroid
|
|
|
} from './platform.js'
|
|
|
@@ -52,7 +52,9 @@ export function loginWinxin() {
|
|
|
function weixinSq() {
|
|
|
// 微信授权后跳转页面
|
|
|
try {
|
|
|
- let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile + '/pages/redirect/redirect');
|
|
|
+ // 判断是否真实路由模式
|
|
|
+ const type = router.mode === "history"?'':'/#'
|
|
|
+ let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile +type+ '/pages/redirect/redirect');
|
|
|
// 打开微信授权页面
|
|
|
let url =
|
|
|
'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
|
|
|
@@ -72,110 +74,144 @@ function weixinSq() {
|
|
|
// 微信注册
|
|
|
export function weixindata(config) {
|
|
|
let url;
|
|
|
- if (router.mode === "history") {
|
|
|
- if (window.entryUrl === '') {
|
|
|
- window.entryUrl = location.href.split('#')[0]
|
|
|
+ try {
|
|
|
+ if (router.mode === "history") {
|
|
|
+ // 在ios中时候注册为微信刚进入时候的页面
|
|
|
+ if (window.entryUrl === '') {
|
|
|
+ window.entryUrl = location.href.split('#')[0]
|
|
|
+ }
|
|
|
+ url = isAndroid() ? location.href.split('#')[0] : window.entryUrl;
|
|
|
}
|
|
|
- url = isAndroid() ? location.href.split('#')[0] : window.entryUrl;
|
|
|
- }
|
|
|
- if (router.mode === "hash") {
|
|
|
- url = location.href.split('#')[0];
|
|
|
+ if (router.mode === "hash") {
|
|
|
+ url = location.href.split('#')[0];
|
|
|
+ }
|
|
|
+ log.addLog('注册开始', url)
|
|
|
+ console.log('开始注册', url);
|
|
|
+
|
|
|
+ } catch (e) {
|
|
|
+ console.log('错误', e);
|
|
|
}
|
|
|
- log.addLog('注册开始',url)
|
|
|
return new Promise((ok, error) => {
|
|
|
- //注册微信信息
|
|
|
- wechatConfig({
|
|
|
- url
|
|
|
- })
|
|
|
- .then(({
|
|
|
- data
|
|
|
- }) => {
|
|
|
- // 保存appId
|
|
|
- appId = data.appId
|
|
|
- // 微信信息配置
|
|
|
- weixinObj.config({
|
|
|
- debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
|
- appId: data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
|
|
|
- timestamp: data.timestamp, // 必填,生成签名的时间戳
|
|
|
- nonceStr: data.nonceStr, // 必填,生成签名的随机串
|
|
|
- signature: data.signature, // 必填,签名,见附录1
|
|
|
- jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
|
|
- });
|
|
|
- weixinObj.ready((e) => {
|
|
|
- ok(data)
|
|
|
+ try {
|
|
|
+ //注册微信信息
|
|
|
+ wechatConfig({
|
|
|
+ url
|
|
|
})
|
|
|
-
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- error(e);
|
|
|
- console.log(e);
|
|
|
- });
|
|
|
+ .then(({
|
|
|
+ data
|
|
|
+ }) => {
|
|
|
+ try {
|
|
|
+ // 保存appId
|
|
|
+ appId = data.appId
|
|
|
+ // 微信信息配置
|
|
|
+ weixinObj.config({
|
|
|
+ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
|
+ appId: data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
|
|
|
+ timestamp: data.timestamp, // 必填,生成签名的时间戳
|
|
|
+ nonceStr: data.nonceStr, // 必填,生成签名的随机串
|
|
|
+ signature: data.signature, // 必填,签名,见附录1
|
|
|
+ jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
|
|
|
+ });
|
|
|
+ weixinObj.ready((e) => {
|
|
|
+ log.addLog("注册完毕", data)
|
|
|
+ console.log('注册完毕');
|
|
|
+ ok(data)
|
|
|
+ })
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ error(e);
|
|
|
+ console.log(e);
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ //TODO handle the exception
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 判断分享调用方法
|
|
|
-function shareLoad(config) {
|
|
|
- weixindata().then((e) => {
|
|
|
- // 判断有无自定义数据
|
|
|
- if (config) {
|
|
|
- shareFun(config)
|
|
|
- } else {
|
|
|
- // 判断是否已经缓存了默认数据
|
|
|
- if (shareData) {
|
|
|
- shareFun()
|
|
|
+export function shareLoad(config) {
|
|
|
+ console.log('开始调用分享')
|
|
|
+ try {
|
|
|
+ weixindata().then((e) => {
|
|
|
+ // 判断有无自定义数据
|
|
|
+ if (config) {
|
|
|
+ shareFun(config)
|
|
|
} else {
|
|
|
- // 请求获取默认数据
|
|
|
- share({}).then(({
|
|
|
- data
|
|
|
- }) => {
|
|
|
- shareData = data.data
|
|
|
+ // 判断是否已经缓存了默认数据
|
|
|
+ if (shareData) {
|
|
|
shareFun()
|
|
|
- });
|
|
|
+ } else {
|
|
|
+ // 请求获取默认数据
|
|
|
+ share({}).then(({
|
|
|
+ data
|
|
|
+ }) => {
|
|
|
+ shareData = data.data
|
|
|
+ shareFun()
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- })
|
|
|
+ })
|
|
|
+ } catch (e) {
|
|
|
+ console.log('报错', e)
|
|
|
+ //TODO handle the exception
|
|
|
+ }
|
|
|
}
|
|
|
// 配置分享数据
|
|
|
function shareFun(config) {
|
|
|
- let mess;
|
|
|
- if (config) {
|
|
|
- mess = {
|
|
|
- link: config.link, // 分享链接
|
|
|
- imgUrl: config.imgUrl,
|
|
|
- desc: config.desc,
|
|
|
- title: config.title,
|
|
|
- success: config.success,
|
|
|
- fail: config.fail
|
|
|
- }
|
|
|
- } else {
|
|
|
- const userInfo = uni.getStorageSync('userInfo')
|
|
|
- console.log(userInfo);
|
|
|
- const url = window.location.href + '?spread=' + userInfo.uid;
|
|
|
- url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
|
|
|
- mess = {
|
|
|
- title: shareData.title,
|
|
|
- link: url, // 分享链接
|
|
|
- imgUrl: shareData.img, // 分享图标
|
|
|
- desc: shareData.synopsis,
|
|
|
- success: function() {
|
|
|
- // uni.showModal({
|
|
|
- // title: '分享',
|
|
|
- // content: '分享成功',
|
|
|
- // showCancel: false,
|
|
|
- // success: res => {
|
|
|
- // console.log('分享成功回调接口');
|
|
|
- // },
|
|
|
- // fail: () => {},
|
|
|
- // complete: () => {}
|
|
|
- // });
|
|
|
+ try {
|
|
|
+ console.log('再付分享内容', config);
|
|
|
+ let mess;
|
|
|
+ if (config) {
|
|
|
+ mess = {
|
|
|
+ link: config.link, // 分享链接
|
|
|
+ imgUrl: config.imgUrl,
|
|
|
+ desc: config.desc,
|
|
|
+ title: config.title,
|
|
|
+ success: config.success || function(e) {
|
|
|
+ console.log(e);
|
|
|
+ },
|
|
|
+ fail: config.fail || function(e) {
|
|
|
+ console.log(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ const userInfo = uni.getStorageSync('userInfo')
|
|
|
+ console.log(userInfo);
|
|
|
+ const url = window.location.href + '?spread=' + userInfo.uid;
|
|
|
+ url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
|
|
|
+ mess = {
|
|
|
+ title: shareData.title,
|
|
|
+ link: url, // 分享链接
|
|
|
+ imgUrl: shareData.img, // 分享图标
|
|
|
+ desc: shareData.synopsis,
|
|
|
+ success: function() {
|
|
|
+ // uni.showModal({
|
|
|
+ // title: '分享',
|
|
|
+ // content: '分享成功',
|
|
|
+ // showCancel: false,
|
|
|
+ // success: res => {
|
|
|
+ // console.log('分享成功回调接口');
|
|
|
+ // },
|
|
|
+ // fail: () => {},
|
|
|
+ // complete: () => {}
|
|
|
+ // });
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ // 获取仓库数据
|
|
|
+ // 分享好友
|
|
|
+ weixinObj.updateAppMessageShareData(mess);
|
|
|
+
|
|
|
+ // 分享朋友圈
|
|
|
+ weixinObj.updateTimelineShareData(mess)
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e);
|
|
|
+ //TODO handle the exception
|
|
|
}
|
|
|
- // 获取仓库数据
|
|
|
- // 分享好友
|
|
|
- weixinObj.updateAppMessageShareData(mess);
|
|
|
- // 分享朋友圈
|
|
|
- weixinObj.updateTimelineShareData(mess)
|
|
|
}
|
|
|
|
|
|
// 保存路由对象
|
|
|
@@ -187,5 +223,6 @@ export default {
|
|
|
weixinObj,
|
|
|
shareData,
|
|
|
appId,
|
|
|
- setRouter
|
|
|
+ setRouter,
|
|
|
+ shareLoad
|
|
|
}
|