2023-08-10 06:59:52 +00:00
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | likeshop开源商城系统
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
|
|
|
|
// | gitee下载:https://gitee.com/likeshop_gitee
|
|
|
|
|
// | github下载:https://github.com/likeshop-github
|
|
|
|
|
// | 访问官网:https://www.likeshop.cn
|
|
|
|
|
// | 访问社区:https://home.likeshop.cn
|
|
|
|
|
// | 访问手册:http://doc.likeshop.cn
|
|
|
|
|
// | 微信公众号:likeshop技术社区
|
|
|
|
|
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
|
|
|
|
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
|
|
|
|
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
|
|
|
|
// | likeshop团队版权所有并拥有最终解释权
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | author: likeshop.cn.team
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
import {
|
|
|
|
|
silentLogin
|
|
|
|
|
} from '@/api/app';
|
|
|
|
|
import {
|
|
|
|
|
isWeixinClient,
|
|
|
|
|
currentPage,
|
|
|
|
|
trottle
|
|
|
|
|
} from './tools'
|
|
|
|
|
import store from '@/store'
|
|
|
|
|
import Cache from './cache'
|
|
|
|
|
import {
|
|
|
|
|
BACK_URL,
|
|
|
|
|
INVITE_CODE
|
|
|
|
|
} from '@/config/cachekey'
|
|
|
|
|
import {bindSuperior} from '@/api/user'
|
|
|
|
|
import wechath5 from './wechath5'
|
|
|
|
|
import {router} from '@/router'
|
|
|
|
|
|
|
|
|
|
// 获取登录凭证(code)
|
|
|
|
|
|
|
|
|
|
export function getWxCode() {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
uni.login({
|
|
|
|
|
success(res) {
|
|
|
|
|
resolve(res.code);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
fail(res) {
|
|
|
|
|
reject(res);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//小程序获取用户信息
|
|
|
|
|
export function getUserProfile() {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
uni.getUserProfile({
|
|
|
|
|
desc: '获取用户信息,完善用户资料 ',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
resolve(res);
|
|
|
|
|
},
|
|
|
|
|
fail(res) {}
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//小程序静默授权
|
|
|
|
|
|
|
|
|
|
export async function wxMnpLogin() {
|
|
|
|
|
const code = await getWxCode()
|
|
|
|
|
const {
|
|
|
|
|
code: loginCode,
|
|
|
|
|
data: loginData
|
|
|
|
|
} = await silentLogin({
|
|
|
|
|
code
|
|
|
|
|
})
|
|
|
|
|
const {
|
|
|
|
|
options,
|
|
|
|
|
onLoad,
|
|
|
|
|
onShow,
|
|
|
|
|
route
|
|
|
|
|
} = currentPage()
|
2023-08-22 10:14:17 +00:00
|
|
|
|
console.log(loginData.openid)
|
|
|
|
|
if(loginData.openid) {
|
|
|
|
|
Cache.set('openid',loginData.openid)
|
|
|
|
|
}
|
2023-08-10 06:59:52 +00:00
|
|
|
|
if (loginCode != 1) return
|
|
|
|
|
if (loginData.token) {
|
|
|
|
|
store.commit('login', loginData)
|
|
|
|
|
// 绑定邀请码
|
|
|
|
|
const inviteCode = Cache.get(INVITE_CODE)
|
|
|
|
|
if (inviteCode) {
|
|
|
|
|
bindSuperior({code: inviteCode})
|
|
|
|
|
Cache.remove(INVITE_CODE)
|
|
|
|
|
}
|
|
|
|
|
// 刷新页面
|
|
|
|
|
onLoad && onLoad(options)
|
|
|
|
|
onShow && onShow()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
export const toLogin = trottle(_toLogin, 1000)
|
|
|
|
|
function _toLogin() {
|
|
|
|
|
//#ifdef MP-WEIXIN
|
2023-08-22 10:14:17 +00:00
|
|
|
|
const openid = Cache.get("openid")
|
|
|
|
|
if(!openid) {
|
|
|
|
|
wxMnpLogin()
|
|
|
|
|
}
|
2023-08-10 06:59:52 +00:00
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
|
|
//#ifndef MP-WEIXIN
|
|
|
|
|
const {currentRoute} = router
|
|
|
|
|
if(currentRoute.meta.auth) {
|
|
|
|
|
router.push('/pages/login/login')
|
|
|
|
|
}
|
|
|
|
|
// #endif
|
|
|
|
|
}
|