/*******************************************************************************
* Copyright(c) 2022 dongke All rights reserved. / Confidential
* 类的信息：
*		1.程序名称：
*		2.功能描述：欢迎页面画面
* 编辑履历：
*		作者				日期					版本				修改内容
*		姜永辉		  	2022-11-22			1.00		   	新建
*******************************************************************************/
const app = getApp()

const api = require('@/utils/api.js');
const config = require('@/config/config.js');
const Constants = require('@/utils/Constants.js');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        imageUrl: config.image_url + '/static/img/',
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log("welcome", options);
        // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
        if (options.scene) {
            var scene = decodeURIComponent(options.scene)
            this.setData({
                scene: scene,
            })
        }

        // 小程序推送消息传过来的值
        if (options.loginType) {
            this.setData({
                loginType: options.loginType,
                //小程序推送消息传过来的值 pages/welcome/welcome?loginType=loginType&otherParam=值 

            })
        }
        // 推送消息的其他参数-字符串处理，需要json到各自模块转换
        if (options.otherParam) {
            let reg = /\\/g
            let otherParam = options.otherParam.replace(reg, '')
            this.setData({
                otherParam
            })
        }

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        // 登录 code
        this.wx_login()
        console.log("app.global", app.globalData);
    },

    /**
    * @desc : 登录
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    wx_login() {
        let _this = this
        _this.wxlogin().then(res => {
            _this.getopenid({ code: res.code });
        })
    },

    /**
    * @desc : 获取微信派发的临时登录凭证
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    wxlogin() {
        return new Promise((resolve, reject) => {
            // 登录
            wx.login({
                success: res => {
                    // 发送 res.code 到后台换取 openId, sessionKey, unionId
                    if (res.code) {
                        resolve(res)
                    } else {
                        reject(res)
                    }
                }
            })
        })
    },

    /**
    * @desc : 获取微信派发的 openid
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    getopenid(param) {
        let _this = this
        api.request(Constants.SYS_OPENID_API + 'oauth/wx/login_wechat', 'POST', param).then(res => {
            if (res.data.code == Constants.SUCESS_CODE) {
                app.globalData.openid = res.data.data.openid
                app.globalData.unionid = res.data.data.unionid
                app.globalData.sessionkey = res.data.data.session_key
                _this.gettoken()
            }
        })
    },

    /**
    * @desc : 通过openid获取用户信息
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    gettoken() {
        let _this = this
        //  调用接口
        _this.getTokenPromise().then(res => {
            if (res.data.code === Constants.SUCESS_CODE) {
                let data = res.data.data;
                console.log('company', data.company);
                // 记录登录的缓存
                app.globalData.company = data.company
                app.globalData.user = {
                    userId: data.userId,
                    userName: data.userName,
                    userPhone: data.userPhone
                }
                app.globalData.token = res.data.data.accessToken
                // 读取后台设置的url
                if (data.company && data.company.svcIp && data.company.svcPort) {
                    app.globalData.URI = data.company.svcIp + ':' + data.company.svcPort
                }
                if (data.company == undefined && data.joinedCps != undefined && data.joinedCps.length > 0 ) {
                    // 调转加入企业
                    wx.reLaunch({
                        url: '../../pages/company/company',
                    })
                }
                else if (data.company == undefined
                    || res.data.data.company.cpId == null
                    || res.data.data.company.cpId == ''
                    || res.data.data.company.cpId == undefined) {
                    // 调转选择公司
                    wx.reLaunch({
                        url: '../../pages/login/login',
                    })
                }
                else {
                    // // 接口登录后获取数据
                    _this.getInfoAfterLogin();
                }
            }
            else if (res.data.code === 1015) {
                // 当前用户未注册
                // 调转选择公司
                wx.reLaunch({
                    url: '../../pages/login/login',
                })
            }
        })
    },
    /**
    * @desc : 登录后获取数据
    * @date : 2022/5/12 13:49
    * @author : 周兴
    */
    getInfoAfterLogin() {
        api.request('mdm-server/mst/staff/get_info_after_login', 'POST',
            {
                'appCode': Constants.APP_CODE,
                'cpId': app.globalData.company.cpId,
                'userId': app.globalData.user.userId
            }).then(res => {
                if (res.data.code === Constants.SUCESS_CODE) {
                    console.log('red', res);
                    // 员工
                    let staff = res.data.data.staff
                    if (staff && staff.staffId) {
                        app.globalData.user.staffId = staff.staffId
                        app.globalData.user.staffCode = staff.staffCode
                        app.globalData.user.staffName = staff.staffName
                        app.globalData.user.roleIds = staff.roleIds
                        app.globalData.user.orgId = staff.orgId
                        app.globalData.user.orgName = staff.orgName
                        app.globalData.user.defaultWhName = staff.defaultWhName
                        app.globalData.user.defaultWhId = staff.defaultWhId

                        // 调转主页--注意有场景值的情况 
                        if (this.data.scene) {
                            wx.reLaunch({
                                url: '../../pages/home-page/home-page?scene=' + this.data.scene,
                            })
                        } else {
                            wx.reLaunch({
                                url: '../../pages/home-page/home-page',
                            })
                        }
                    }
                    // 菜单
                    let menuList = res.data.data.menuList
                    if (menuList) {
                        app.globalData.menus = menuList
                    }
                    // 常用菜单
                    let comMenuList = res.data.data.comMenuList
                    if (comMenuList) {
                        app.globalData.comMenuList = comMenuList
                    }
                    // 系统参数
                    let setting = res.data.data.settingValue
                    if (setting) {
                        app.globalData.setting = JSON.parse(setting.setting.value)
                        // console.log('setting', app.globalData.setting[Constants.settingCode.IVT001]);
                    }
                }
            })
        console.log('app.globalData', app.globalData);
    },

    /**
    * @desc : 获取微信派发的临时登录凭证
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    getTokenPromise() {
        return new Promise((resolve, reject) => {
            api.request(Constants.SYS_OPENID_API + 'oauth/wx/token', 'POST',
                { 'userWxid': app.globalData.openid }).then(res => {
                    resolve(res)
                })
        })
    },

    /**
     * @desc : 获取语言的方法
     * @author : 周兴
     * @date : 2024/1/19
     */
    $t(name) {
        if (this.data.$t[name]) {
            return this.data.$t[name];
        } else {
            return name;
        }
    },

})