| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- // +----------------------------------------------------------------------
- // | 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()
- 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
- wxMnpLogin()
- // #endif
-
- //#ifndef MP-WEIXIN
- const {currentRoute} = router
- if(currentRoute.meta.auth) {
- router.push('/pages/login/login')
- }
- // #endif
- }
|