aiskin.js 6.21 KB
/*
 * @Author: abson
 * @Date: 2022-02-11 14:13:05
 * @LastEditTime: 2022-04-12 12:05:50
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \MShopWeApp\packageB\pages\AI-test-skin\index\aiskin.js
 */

const app = getApp();
const request = app.request;
const os = app.globalData;
const setting = os.setting;
const ut = require('../../../../utils/util');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        iurl: setting.imghost,
        ce_user_id:0,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        let user_id = options.user_id;
        if (user_id) {
             this.data.ce_user_id=user_id;
        } else {
            let user_id=getApp().globalData.user_id;
            if(!user_id) {
                setTimeout(function () {
                    let url = "/packageE/pages/togoin/togoin";
                    app.goto(url);
                }, 1000)
            }
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        getApp().check_can_share();
        this.getHistoryData();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    goto(e) {
        var that=this;
        var need=e.currentTarget.dataset.need;

        let url = e.currentTarget.dataset.url;
        if(this.data.ce_user_id){
            url+="?ce_user_id="+this.data.ce_user_id;
        }
        if(!need){

            app.goto(url);
            return false;
        }

        this.check_num(function () {
            var user = getApp().globalData.userInfo || that.data.ce_user_id
            if (!user) {
                wx.showToast({
                    title: "请先授权登陆",
                    icon: 'none',
                    duration: 2000
                });

                setTimeout(function () {
                    let url = "/packageE/pages/togoin/togoin";
                    app.goto(url);
                }, 1000)
                return false;
            }

            app.goto(url);
        })

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {
        getApp().globalData.no_clear = 1

    },

    
    async getHistoryData() {

        var user_id=getApp().globalData.user_id || getApp().globalData.ce_user_id;
        if (!user_id) return false;
        if (this.data.show_his) return false;

        let history = this.data.history;
        let url = `/api/weshop/face/storeSkinface/page`;
        const { data: res } = await request.promiseGet(url, {
            isShowLoading: true,
            data: {
                store_id: setting.stoid,
                user_id: user_id,
                page: 1,
                pageSize: 1,
            }
        });
        // initChart.setOption(option);
        if (res.code == 0 && res.data.pageData.length > 0) {
            this.setData({ show_his: 1 })
        }
    },

    check_num:function (func) {

        var user_id=this.data.ce_user_id || getApp().globalData.user_id;
        if (!user_id) return false;

        //判断右没有开AI测肤
        getApp().promiseGet("/api/weshop/wx/weappSkin/get/"+setting.stoid,{}).then(rs=>{
            if(rs.data.code!=0 || !rs.data.data){
                wx.showToast({
                    title: "未开通测肤功能,请联系商家",
                    icon: 'none',
                    duration: 3000
                })
            }else if(!rs.data.data.skin_num ||  rs.data.data.skin_num<=0){
                wx.showToast({
                    title: "测肤功能的使用次数已经达到上限,请联系商家",
                    icon: 'none',
                    duration: 3000
                })
            }else{
                var rdata={
                    store_id:setting.stoid,
                    user_id:user_id
                }
                this.json_post("/api/weshop/baidubce/face/skinvip",rdata,res=>{
                    if(res.data.code==0){
                        func();
                    }else{
                        wx.showToast({
                            title: res.data.msg,
                            icon: 'none',
                            duration: 3000
                        })
                    }
                })
            }
        })
    },

    /**
     * @param {Object} url    //url地址
     * @param {Object} data   //data入参
     * @param {Object} succ   //成功的回调
     * @param {Object} fail   //失败的回调
     */
    json_post: function (url, data, succ, fail, mathod) {
        var Mathod = "POST";
        if (mathod) Mathod = mathod;

        var url1=url;
        var arr_in_url=ut.getParams(url1);

        if (url.indexOf("http") == -1) url = getApp().globalData.setting.url + url;

        getApp().request.ck_api_token((api_tk)=> {

            var header={
                'content-type': 'application/json'
            };// 设置请求的 header

            var dd= ut.deep_cp(data);
            dd={...arr_in_url,...dd};

            var now=ut.gettimestamp();
            var tk=getApp().request.set_req_sign(dd,url1,now,api_tk,1);
            if(tk){
                header.reqtime=now;
                header.token=tk;
                header.ukey=api_tk.userkey
            }


            var str = JSON.stringify(data);
            wx.request({
                url: url,
                data: str,
                method: Mathod,
                header:header,// 设置请求的 header
                success: function (res) {
                    succ(res);
                },
                fail: function (res) {
                    fail(res);
                }
            })
        })
    },



})