import { queryGetDivisions } from "./api/common/index"; import { getTaAccounts } from './api/account/index'; import { v4 } from "../utils/uuid/index"; import { IMessageHead } from './../services/socket/trade/protobuf/proto'; import Toast from "../miniprogram_npm/@vant/weapp/toast/toast"; /// 获取履约步骤类型ID export function getSteptype(typeid: number): string { switch (typeid) { case 1: return '买方支付' break; case 2: return '卖方收款' break; case 3: return '买方自提' break; case 4: return '卖方发货' break; case 5: return '买方确认货' break; case 6: return '卖方发票' break; case 7: return '买方确认票' break; case 8: return '卖仓单转移' break; case 9: return '释放卖方冻结' break; case 10: return '货款溢短' break; case 11: return '生成合同[中江]' break; case 12: return '运费' break; case 90: return '确认支付' break; case 91: return '确认放行' break; default: return '买方支付(直接扣款)' break; } } /// 获取履约步骤类型ID export function getStepStatus(stepstatus: number): string { switch (stepstatus) { case 1: return '待开始' break; case 2: return '进行中' break; case 3: return '已完成' break; case 4: return '延期(进行中)' break; case 5: return '失败' break; case 6: return '自动完成' break; default: return '超时关闭' break; } } /// 获取履约状态 export function getPerformancestatus(status: number): string { switch (status) { case 1: return '待激活' break; case 2: return '正常' break; case 3: return '处理错误' break; case 4: return '违约待处理' break; case 5: return '违约处理中' break; case 6: return '完成' break; case 7: return '违约已完成' break; case 8: return '释放冻结失败 ' break; case 9: return '超时待处理' break; default: return '超时关闭' break; } } /// 获取地区区域信息 export function getDivisions() { /// 发送请求 queryGetDivisions({ enableAuthorization: false, success: (res) => { /// 数据缓存 setDivisions(res.data) }, fail: () => { Toast('地区信息获取失败') } }) } /// 获取资金账户信息 export function taAccounts() { /// 发送请求 getTaAccounts({ data: { loginID: loginid() }, success: (res) => { /// 数据缓存 wx.setStorageSync('GetTaAccounts', res.data) wx.setStorageSync('AccountID', res.data[0].accountid) }, fail: () => { Toast('资金账户信息获取失败') } }) } /// 获取当前对应的资金账户 export function taAccount(accountid: number): GuangZuan.TaAccount { const tas = wx.getStorageSync('GetTaAccounts') return tas.filter(obj => { return obj.accountid === accountid })[0] } /// 获取登录Loginid export function loginid() { return wx.getStorageSync('LoginID') } /// 获取用户userid export function userid() { return wx.getStorageSync('UserId') } /// 获取资金用户ID export function accountid(): number { return wx.getStorageSync('AccountID') ?? 0 } /// 获取用户Token export function xtoken() { return wx.getStorageSync('Authorization') } /// 清除用户Token export function clearXtoken() { wx.removeStorageSync('Authorization') } /// 获取市场id export function marketid() { return wx.getStorageSync('MarketID') } export function marketID(mode: number) { return loginQuery().markets.filter(obj => { return obj.trademode === mode})[0].marketid } /// 是否加密 export function isEncrypted() { return false } /// 存储地区信息 export function setDivisions(datas: GuangZuan.GetDivisions[]) { wx.setStorageSync('GetDivisions', datas) } /// 获取地区信息 export function divisions() { return wx.getStorageSync('GetDivisions') } /// 终端类型 export function clientType() { return 5 } /// 返回proto交易头 export function protoHeader(funcode: number, marketID: number = marketid()) { /// 组合请求头 const header: IMessageHead = { FunCode: funcode, AccountID: accountid(), UserID: userid(), MarketID: marketID, UUID: v4() } return header } /// 获取时间戳 export function timetample() { return Date.parse(new Date().toString()) } /// 获取登录查询数据信息 export function loginQuery(): GuangZuan.LoginQuery { const data = wx.getStorageSync('LoginQuery') return data } /// 获取登录账号 export function loginCode(): string { const code = (wx.getStorageSync('LoginQuery')).loginAccount.logincode return code === '' ? loginid() : code } /// 存储所有的枚举信息 export function setAllEnums(enums: GuangZuan.AllEnums[]) { wx.setStorageSync('AllEnums', enums) } export function getAllEnums(): GuangZuan.AllEnums[] { const objs = <[GuangZuan.AllEnums]>wx.getStorageSync('AllEnums') return objs } export function getEnumList(enumdiccode: string): GuangZuan.AllEnums[] { const objs = getAllEnums().filter(obj => { return obj.enumdiccode === enumdiccode }) return objs } /// 获取对应枚举的值 export function getEnumdicValue(enumdiccode: string, enumitemname: number): string { const objs = getEnumList(enumdiccode) if (objs.length != 0) { const enums = objs.filter(obj => { return obj.enumitemname === enumitemname }) return enums[0].enumdicname } return '' } /// 缓存所有的错误码信息 export function setAllErrors(errors: GuangZuan.Error[]) { wx.setStorageSync('AllErrors', errors) } export function getAllErrors(): GuangZuan.Error[] { return <[GuangZuan.Error]>wx.getStorageSync('AllErrors') } export function getErrorMsg(retcode: number): string { const errors = getAllErrors() return errors.filter(obj => { return retcode.toString() === obj.errorcode })[0].description } /// 设置登录账号 export function setLoginCode(code: string) { wx.setStorageSync('loginCode', code) } export function getLoginCode(): string { return wx.getStorageSync('loginCode') } /// 设置我的收藏 export function saveMyFavorites(data: String[]) { wx.setStorageSync('Favorites', data) } /// 获取我的收藏 export function getMyFavorites(): String[] { return wx.getStorageSync('Favorites') } /// 判断是否为我的收藏 export function isMyFavorite(goodsno: string): boolean { const objs = getMyFavorites() return objs.some(obj => { return obj === goodsno }) } /// 移除我的收藏 export function removeMyFavorite(goodsno: string) { const objs = getMyFavorites() /// 移除数据 if (objs.some(obj => { return obj === goodsno })) { const news = objs.filter(obj => { return obj != goodsno }) /// 更新数据 saveMyFavorites(news) } } /// 添加我的收藏 export function addMyFavotite(goodsno: String) { var objs = getMyFavorites() /// 移除数据 if (!(objs.some(obj => { return obj === goodsno }))) { objs.push(goodsno) /// 更新数据 saveMyFavorites(objs) } } /// 登录查询 export function saveLoginQuery(data: GuangZuan.LoginQuery) { /// 数据存储 wx.setStorageSync('LoginQuery', data) } /// 存储市场ID export function saveMarketID(id: number) { wx.setStorageSync('MarketID', id) } /// 默认挂牌大厅为出售 export function saveTradeActive(active: number) { wx.setStorageSync('trade_active', active) } /// getTradeActive export function getTradeActive() { return Number(wx.getStorageSync('trade_active')) } /// 存储token export function saveAuthorization(token: string) { wx.setStorageSync('Authorization', token) } /// 存储LoginID export function saveLoginID(loginId: number) { wx.setStorageSync('LoginID', loginId) } /// 存储UserId export function saveUserId(userId: number) { wx.setStorageSync('UserId', userId) } /// 存储微信头像 export function saveAvatarUrl(avatarUrl: string) { wx.setStorageSync('avatarUrl', avatarUrl) } /// 获取微信头像 export function getAvatarUrl(): string { return wx.getStorageSync('avatarUrl') } export function setRUserecevieInfo(obj: GuangZuan.UserReceiveInfo) { wx.setStorageSync('UserReceiveInfo', obj) } export function getUserRecevieInfo(): GuangZuan.UserReceiveInfo { return wx.getStorageSync('UserReceiveInfo') } export function deleteUserRecevieInfo() { const obj = getWrUserReceiptInfo() if (obj) { wx.removeStorageSync('UserReceiveInfo') } } export function setWrUserReceiptInfo(obj: GuangZuan.WrUserReceiptInfo) { wx.setStorageSync('WrUserReceiptInfo', obj) } export function getWrUserReceiptInfo(): GuangZuan.WrUserReceiptInfo { return wx.getStorageSync('WrUserReceiptInfo') } export function deleteWrUserReceiptInfo() { const obj = getWrUserReceiptInfo() if (obj) { wx.removeStorageSync('WrUserReceiptInfo') } } /// 保存查询钻石条件 export function saveDiamondFilters(info: any) { const jsonStr = JSON.stringify(info) wx.setStorageSync('TradeParams', jsonStr) } export function diamondFilters() { const jsonStr = wx.getStorageSync('TradeParams') ?? '' if (jsonStr != '' ) { return JSON.parse(jsonStr) } return undefined } export function removeDiamondFilters() { wx.removeStorageSync('TradeParams') }