/*******************************************************************************
* Copyright(c) 2022 dongke All rights reserved. / Confidential
* 类的信息：
*		1.程序名称：
*		2.功能描述：企业选择画面
* 编辑履历：
*		作者				日期					版本				修改内容
*		姜永辉		  	2022-11-22			1.00		   	新建
*******************************************************************************/
const api = require('@/utils/api.js');
const Constants = require('@/utils/Constants.js');

const app = getApp()
Page({
    /**
     * 页面的初始数据
     */
    data: {
        // 加入企业的列表
        companyList: [],
        // 语言包
        $t: app.globalData.lang,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let that = this
        // 获取二维码
        that.loadCompanyData()
    },

    /**
   * @desc : 获取当前用户所有的公司
   * @date : 2022/5/12 13:49
   * @author : 姜永辉
   */
    loadCompanyData() {
        let _this = this
        api.request(Constants.SYS_OPENID_API + 'company/select_company/' + app.globalData.openid, 'POST', null).then(res => {
            if (res.data.code == Constants.SUCESS_CODE) {
                let list = res.data.data
                let templist = [{
                    cpId: 2,
                    cpName: '东科智云-标准版-体验',
                    svcCode: 'dkic_b1',
                    openid:'dktest',
                    svcIp: 'http://127.0.0.1',
                    gradeCode: 'STD',
                    svcPort: '7001'
                }, {
                    cpId: 3,
                    cpName: '东科智云-专业版-体验',
                    svcCode: 'dkic_b1',
                    gradeCode: 'PRO',
                    openid:'dktestpro',
                    svcIp: 'http://127.0.0.1',
                    svcPort: '7001'
                }]


                this.setData({
                    companyList: list.concat(templist)
                })
            }
        })
    },

    /**
     * @desc : 更新当前用户所在的公司id
     * @date : 2022/5/12 13:49
     * @author : 姜永辉
     */
    updateCompanyID(item) {
        let _this = this
        let param = {
            openid: app.globalData.openid,
            cpId: item.cpId
        }
        api.request(Constants.SYS_OPENID_API + 'company/update_current_cp_by_wxid', 'POST', param).then(res => {
            if (res.data.code == Constants.SUCESS_CODE) {
                // 调转主页
                wx.reLaunch({
                    url: '../../pages/welcome/welcome',
                })
            }
        })
    },


    /**
    * @desc : 点击公司进入主页
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    clickCompany(e) {
        // 点击企业时候反写当前公司
        let item = e.currentTarget.dataset.item
        if (item.cpId == 2 || item.cpId == 3) {
            this.freeClick(item)
        } else {
            this.updateCompanyID(item)
        }        
    },

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

    /**
    * @desc : 免费体验
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    freeClick(e) {
        // 测试的openid
        app.globalData.openid = e.openid
        let _this = this
        //  调用接口
        _this.getTokenPromise().then(res => {
            if (res.data.code === Constants.SUCESS_CODE) {
                app.globalData.user = res.data.data
                app.globalData.token = res.data.data.accessToken
                if (res.data.data.company == undefined
                    || res.data.data.company.cpId == undefined) {
                    // 调转选择公司
                    wx.reLaunch({
                        url: '../../pages/company/company',
                    })
                } else {
                    // 调转主页
                    wx.reLaunch({
                        url: '../../pages/home-page/home-page',
                    })
                }
            }
        })
    },

})