pull/15/head
parent
1596959583
commit
97547afc4d
@ -0,0 +1,9 @@ |
|||||||
|
import request from '../request/index.js'; |
||||||
|
|
||||||
|
export function prePay(data) { |
||||||
|
return request({ |
||||||
|
url: 'driver-api/applet/pay/prepay', |
||||||
|
method: 'POST', |
||||||
|
data, |
||||||
|
}); |
||||||
|
} |
@ -0,0 +1,261 @@ |
|||||||
|
/** |
||||||
|
* Wechat v1.1.0 |
||||||
|
* @Class Wechat |
||||||
|
* @description jtools-wechat 1.1.0 wehcat第三方登录组件 |
||||||
|
* @Author lidongtony |
||||||
|
* @Date 2020-05-20 |
||||||
|
* @Email lidongtony@qq.com |
||||||
|
*/ |
||||||
|
import api from "@/jtools/request/index"; |
||||||
|
import $platform from "@/jtools/platform"; |
||||||
|
import store from "@/jtools/store"; |
||||||
|
import { |
||||||
|
API_URL |
||||||
|
} from "@/env"; |
||||||
|
|
||||||
|
export default { |
||||||
|
eventMap(event) { |
||||||
|
let map = ""; |
||||||
|
switch (event) { |
||||||
|
case "login": |
||||||
|
map = "登录中..."; |
||||||
|
break; |
||||||
|
case "refresh": |
||||||
|
map = "更新中..."; |
||||||
|
break; |
||||||
|
case "bind": |
||||||
|
map = "绑定中..."; |
||||||
|
break; |
||||||
|
} |
||||||
|
return map; |
||||||
|
}, |
||||||
|
|
||||||
|
async login() { |
||||||
|
let token = ""; |
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
token = await this.wxMiniProgramOauth("login"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
this.wxOfficialAccountOauth("login"); |
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
token = await this.wxOpenPlatformOauth("login"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
}, |
||||||
|
async refresh() { |
||||||
|
let token = ""; |
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
token = await this.wxMiniProgramOauth("refresh"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
this.wxOfficialAccountOauth("refresh"); |
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
token = await this.wxOpenPlatformOauth("refresh"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
}, |
||||||
|
async bind() { |
||||||
|
let token = ""; |
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
token = await this.wxMiniProgramOauth("bind"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
this.wxOfficialAccountOauth("bind"); |
||||||
|
// #endif
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
token = await this.wxOpenPlatformOauth("bind"); |
||||||
|
return token; |
||||||
|
// #endif
|
||||||
|
}, |
||||||
|
|
||||||
|
// #ifdef H5
|
||||||
|
// 微信公众号网页登录&刷新头像昵称&绑定
|
||||||
|
wxOfficialAccountOauth(event = "login") { |
||||||
|
if ($platform.get() !== "wxOfficialAccount") { |
||||||
|
uni.showToast({ |
||||||
|
title: "请在微信浏览器中打开", |
||||||
|
icon: "none" |
||||||
|
}); |
||||||
|
throw false; |
||||||
|
} |
||||||
|
let host = $platform.host(); |
||||||
|
let payloadObject = { |
||||||
|
host: host, |
||||||
|
event, |
||||||
|
token: (event !== "login" && store.getters.isLogin) ? uni.getStorageSync("token") : "" |
||||||
|
}; |
||||||
|
let payload = encodeURIComponent(JSON.stringify(payloadObject)); |
||||||
|
let redirect_uri = encodeURIComponent(`${API_URL}user/wxOfficialAccountOauth?payload=${payload}`); |
||||||
|
let oauthUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + store.getters.initWechat.appid + |
||||||
|
`&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=1`; |
||||||
|
uni.setStorageSync("lastPage", window.location.href); |
||||||
|
window.location = oauthUrl; |
||||||
|
}, |
||||||
|
|
||||||
|
// 微信公众号网页静默登录:临时登录获取OpenId 不入库不绑定用户
|
||||||
|
wxOfficialAccountBaseLogin() { |
||||||
|
let state = encodeURIComponent(window.location.href); |
||||||
|
window.location = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + store.getters.initWechat.appid + |
||||||
|
`&redirect_uri=${API_URL}user/wxOfficialAccountBaseLogin&response_type=code&scope=snsapi_base&state=${state}`; |
||||||
|
throw "stop"; |
||||||
|
}, |
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
// 微信开放平台登录
|
||||||
|
wxOpenPlatformOauth(event = "login") { |
||||||
|
let that = this; |
||||||
|
return new Promise((resolve, reject) => { |
||||||
|
uni.login({ |
||||||
|
provider: "weixin", |
||||||
|
success: function(loginRes) { |
||||||
|
if (loginRes.errMsg === "login:ok") { |
||||||
|
let authResult = loginRes.authResult; |
||||||
|
api("user.wxOpenPlatformOauth", { |
||||||
|
authResult, |
||||||
|
event |
||||||
|
}, that.eventMap(event)).then(res => { |
||||||
|
if (res.code === 1) { |
||||||
|
resolve(res.data.token); |
||||||
|
} else { |
||||||
|
resolve(false); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
fail: function(res) { |
||||||
|
uni.showToast({ |
||||||
|
title: "登录失败,请稍后再试" |
||||||
|
}); |
||||||
|
resolve(false); |
||||||
|
api("common.debug", { |
||||||
|
info: res |
||||||
|
}); |
||||||
|
}, |
||||||
|
complete: function(res) {} |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
// 微信小程序静默登录
|
||||||
|
async getWxMiniProgramSessionKey(autoLogin = true) { |
||||||
|
let sessionStatus = false; |
||||||
|
let session_key = ""; |
||||||
|
return new Promise((resolve, reject) => { |
||||||
|
uni.checkSession({ |
||||||
|
success(res) { |
||||||
|
if (res.errMsg === "checkSession:ok") sessionStatus = true; |
||||||
|
}, |
||||||
|
complete() { |
||||||
|
if (uni.getStorageSync("session_key") && sessionStatus && !autoLogin) { |
||||||
|
resolve(uni.getStorageSync("session_key")); |
||||||
|
} else { |
||||||
|
uni.login({ |
||||||
|
success: function(info) { |
||||||
|
let code = info.code; |
||||||
|
api("user.getWxMiniProgramSessionKey", { |
||||||
|
code: code, |
||||||
|
autoLogin: autoLogin |
||||||
|
}).then(res => { |
||||||
|
if (res.code === 1) { |
||||||
|
uni.setStorageSync("session_key", res |
||||||
|
.data.session_key); |
||||||
|
if (autoLogin) { |
||||||
|
if (res.data.token) { |
||||||
|
resolve(res.data.token); |
||||||
|
} else { |
||||||
|
resolve(false); |
||||||
|
} |
||||||
|
} |
||||||
|
resolve(res.data.session_key); |
||||||
|
} else { |
||||||
|
reject(res.msg); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
|
||||||
|
// 微信小程序获取用户信息登录
|
||||||
|
wxMiniProgramOauth(event = "login") { |
||||||
|
let that = this; |
||||||
|
let session_key = uni.getStorageSync("session_key"); |
||||||
|
uni.showLoading({ |
||||||
|
title: that.eventMap(event) |
||||||
|
}); |
||||||
|
return new Promise((resolve, reject) => { |
||||||
|
uni.getUserProfile({ // 必须手动确认触发
|
||||||
|
desc: "完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
|
||||||
|
success: res => { |
||||||
|
if (res.errMsg === "getUserProfile:ok") { |
||||||
|
api("user.wxMiniProgramOauth", { |
||||||
|
event, |
||||||
|
session_key, |
||||||
|
encryptedData: res.encryptedData, |
||||||
|
iv: res.iv, |
||||||
|
signature: res.signature, |
||||||
|
}).then(res => { |
||||||
|
console.log(res) |
||||||
|
if (res.code === 1) { |
||||||
|
resolve(res.data.token); |
||||||
|
} else { |
||||||
|
uni.removeStorageSync("session_key"); |
||||||
|
that.getWxMiniProgramSessionKey(false); |
||||||
|
resolve(false); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
complete: res => { |
||||||
|
uni.hideLoading(); |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
}, |
||||||
|
|
||||||
|
// 小程序更新
|
||||||
|
checkMiniProgramUpdate() { |
||||||
|
if (uni.canIUse("getUpdateManager")) { |
||||||
|
const updateManager = uni.getUpdateManager(); |
||||||
|
updateManager.onCheckForUpdate(function(res) { |
||||||
|
// 请求完新版本信息的回调
|
||||||
|
if (res.hasUpdate) { |
||||||
|
updateManager.onUpdateReady(function() { |
||||||
|
uni.showModal({ |
||||||
|
title: "更新提示", |
||||||
|
content: "新版本已经准备好,是否重启应用?", |
||||||
|
success: function(res) { |
||||||
|
if (res.confirm) { |
||||||
|
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
||||||
|
updateManager.applyUpdate(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
updateManager.onUpdateFailed(function() { |
||||||
|
// 新的版本下载失败
|
||||||
|
uni.showModal({ |
||||||
|
title: "已经有新版本了哟~", |
||||||
|
content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~" |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
// #endif
|
||||||
|
|
||||||
|
|
||||||
|
}; |
@ -0,0 +1,43 @@ |
|||||||
|
<template> |
||||||
|
<view class="wp100 flex jc-c bc-fff " style="height: 100vh;"> |
||||||
|
<view class="mt50 text-center flex ai-c" style="flex-direction: column;"> |
||||||
|
<view style="width: 211rpx;" class="text-center"> |
||||||
|
<image style="width: 211rpx;height: 222rpx;;" src="../../static/image/index/paysucess.jpg"></image> |
||||||
|
</view> |
||||||
|
<view style="width: 385rpx;" class="text-center"> |
||||||
|
<view class="fw600 fs16 cor-000 mb10">支付成功</view> |
||||||
|
<tetx class="fs14 cor-666">恭喜您,您已成功购买VIP课程,赶紧去学习吧!</tetx> |
||||||
|
</view> |
||||||
|
<button class="btn mt10" @click="goBack">去学习</button> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default{ |
||||||
|
data(){ |
||||||
|
return{ |
||||||
|
|
||||||
|
} |
||||||
|
}, |
||||||
|
methods:{ |
||||||
|
goBack(){ |
||||||
|
uni.switchTab({ |
||||||
|
url:"/pages/index/index" |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
.btn{ |
||||||
|
width: 260rpx; |
||||||
|
height: 80rpx; |
||||||
|
line-height: 80rpx; |
||||||
|
text-align: center; |
||||||
|
color:#00B74F; |
||||||
|
border: 2px solid #00B74F; |
||||||
|
border-radius: 40rpx; |
||||||
|
} |
||||||
|
</style> |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 774 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Loading…
Reference in new issue