123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- // 用户数据模块
- import http from '@/common/request/index'
- import store from '@/common/store'
- import tools from '@/common/utils/tools'
- // import {
- // bindUser,
- // getUserInfo
- // } from '@/common/request/apis/user.js';
- // import {
- // logout
- // } from '@/common/request/apis/account.js';
- // import {
- // Openid,
- // getShareImage,
- // appShareConfig
- // } from '@/common/request/apis/index';
- // state 静态
- const state = {
- dynamic_switch: uni.getStorageSync("dynamic_switch") || uni.getStorageSync("dynamic_switch") === 0 ? uni.getStorageSync("dynamic_switch") : 1,
- alumni_switch: uni.getStorageSync("alumni_switch") || uni.getStorageSync("alumni_switch") === 0 ? uni.getStorageSync("alumni_switch") : 1,
- product_switch: uni.getStorageSync("product_switch") || uni.getStorageSync("product_switch") === 0 ? uni.getStorageSync("product_switch") : 1,
- token: uni.getStorageSync("token") || "",
- isStart: false, // 是否开屏
- isLogin: uni.getStorageSync("isLogin") || false, // 是否登陆
- isOneLogin: 0, // 是否登陆
- userInfo: uni.getStorageSync("userInfo") || {}, // 用户信息
- userEquity: uni.getStorageSync("userEquity") || {}, // 权益信息
- imgUrl: '', //服务器图片baseUrl
- videoHistory: uni.getStorageSync("videoHistory") || [], //查找视频历史记录
- helpHistory: uni.getStorageSync("helpHistory") || [], //查找帮助历史记录
- pageParams: {}
- }
- // getters 可以获取 computer 进行动态刷新
- const getters = {
- dynamic_switch: state => state.dynamic_switch,
- alumni_switch: state => state.alumni_switch,
- product_switch: state => state.product_switch,
- token: state => state.token,
- isStart: state => state.isStart,
- isLogin: state => state.isLogin,
- isOneLogin: state => state.isOneLogin,
- userInfo: state => state.userInfo,
- userEquity: state => state.userEquity,
- imgUrl: imgURL => state.imgUrl,
- videoHistory: videoHistory => state.videoHistory,
- helpHistory: helpHistory => state.helpHistory,
- pageParams: pageParams => state.pageParams
- }
- // actions 异步数据 接口
- const actions = {
- // 登录
- userLogin({
- commit,
- dispatch
- }, userInfo) {
- commit('setToken', userInfo.token);
- commit('setLogin', true);
- commit('setisOneLogin', 1);
- commit('setUserInfo', userInfo);
- // dispatch('chat/start', '', {
- // root: true
- // })
- const user_id = uni.getStorageSync('user_id')
- },
- // 退出登录
- userLogout({
- commit,
- dispatch
- },isPort) {
- if(isPort) {
- logout({}).then(res => {
- if (res.code == 1) {
- commit('setToken', "");
- commit('setLogin', false);
- commit('setisOneLogin', 0);
- commit('setUserInfo', {});
- uni.$u.toast(res.msg);
- } else {
- uni.$u.toast(res.msg);
- }
- }).catch(err => {
- uni.$u.toast(err.msg);
- })
- }else{
- commit('setToken', "");
- commit('setLogin', false);
- commit('setisOneLogin', 0);
- commit('setUserInfo', {});
- }
-
- },
- // 获取权益信息
- getUserEquity({
- commit,
- dispatch
- }) {
- getRemainNumber().then(res => {
- commit('setUserEquity', res.data);
- }).catch(err => {
- uni.$u.toast(err.msg);
- // 错误提示框
- });
- },
- // 更新用户信息
- updateUserInfo({
- commit,
- dispatch
- }) {
- return new Promise((resolve, reject) => {
- //调用登陆接口
- getUserInfo().then(res => {
- if (res.code == 1) {
- res.data.tagList = res.data.tag ? res.data.tag.split(",") : []
- commit('setUserInfo', res.data)
- resolve(res)
- } else {
- uni.$u.toast(res.msg);
- reject(res)
- }
- }).catch(err => {
- uni.$u.toast(err.msg);
- reject(err)
- })
- })
- },
- getPagePath({
- commit,
- dispatch
- }) {
- let curPage = getCurrentPages();
- let route = curPage[curPage.length - 1].route; //获取当前页面的路由
- let params = curPage[curPage.length - 1].options; //获取当前页面参数,如果有则返回参数的对象,没有参数返回空对象{}
- // 需要返回格式 /pages/XX?id=XX 打开下面的
- let query = '';
- let keys = Object.keys(params); //获取对象的key 返回对象key的数组
- if (keys.length > 0) {
- query = keys.reduce((pre, cur) => {
- return pre + cur + '=' + params[cur] + '&';
- }, '?').slice(0, -1);
- }
- return new Promise((resolve, reject) => {
- //调用登陆接口
- getShareImage({
- url: '/' + route
- }).then(res => {
- if (res.code == 1) {
- let obj = {
- pathObj: {
- url: route,
- params
- },
- shareImg: res.data,
- path:route + query
- }
- //存储信息在state中
- commit('setPageParams', obj)
- resolve(obj)
- }
- }).catch(err => {
- reject(err)
- })
- })
- },
- }
- //静态数据 方法 可更改数据
- const mutations = {
- set_dynamic_switch(state, payload) {
- state.dynamic_switch = +payload;
- uni.setStorageSync("dynamic_switch", +payload);
- },
- set_alumni_switch(state, payload) {
- state.alumni_switch = +payload;
- uni.setStorageSync("alumni_switch", +payload);
- },
- set_product_switch(state, payload) {
- state.product_switch = +payload;
- uni.setStorageSync("product_switch", +payload);
- },
- setToken(state, payload) {
- state.token = payload;
- uni.setStorageSync("token", payload);
- },
- // 开屏动画
- setStart(state, data) {
- state.isStart = data;
- },
- // 登录态
- setLogin(state, data) {
- state.isLogin = data;
- uni.setStorageSync('isLogin', data);
- },
- // 是否第一次登录
- setisOneLogin(state, data) {
- state.isOneLogin = data;
- uni.setStorageSync('isOneLogin', data);
- },
- // 用户信息
- setUserInfo(state, data) {
- state.userInfo = data;
- uni.setStorageSync("userInfo", data);
- },
- // 权益信息
- setUserEquity(state, data) {
- state.userEquity = data;
- uni.setStorageSync("userEquity", data);
- },
- //搜索视频历史记录
- setVideoHistory(state, data) {
- if (!data) {
- console.log(data)
- // let arr=[]
- state.videoHistory = []
- uni.setStorageSync("videoHistory", state.videoHistory);
- } else {
- state.videoHistory.push(data);
- uni.setStorageSync("videoHistory", state.videoHistory);
- }
- },
- //搜索帮助历史记录
- setHelpHistory(state, data) {
- if (!data) {
- console.log(data)
- // let arr=[]
- state.helpHistory = []
- uni.setStorageSync("helpHistory", state.helpHistory);
- } else {
- state.helpHistory.push(data);
- uni.setStorageSync("helpHistory", state.helpHistory);
- }
- },
- // 缓存当前路径和分享参数
- setPageParams(state, payload) {
- state.pageParams = payload;
- },
- }
- export default {
- state,
- mutations,
- actions,
- getters
- }
|