| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- class HTTP {
- constructor() {
- this.ENV = wx.getAccountInfoSync().miniProgram.envVersion;
- this.urls = [{
- name: "生产环境",
- url: "https://oms.idcgroup.com.cn:8079"
- }, {
- name: "开发环境",
- url: "http://61.164.207.46:8100"
- }]
- if (this.ENV === 'release') { // 正式版
- this.baseUrl = "https://oms.idcgroup.com.cn:8079";
- } else {
- this.baseUrl = "http://61.164.207.46:8100";
- // this.baseUrl = "https://oms.idcgroup.com.cn:8079";
- }
- this.init = (content, init = false) => {
- return new Promise((resolve, reject) => {
- if (init.detail != undefined) init = init.detail;
- if (init) content.pageNumber = 1;
- content.pageNumber > content.pageTotal ? reject() : resolve(content)
- })
- }
- this.paging = (data, res, that, ownertable, list = [], _Http) => {
- let content = JSON.parse(JSON.stringify(data))
- content.pageNumber = res.pageNumber + 1;
- content.pageTotal = res.pageTotal;
- content.total = res.total;
- content.sort = res.sort;
- if (this.isShowEmpty) this.empty = res.total == 0;
- if (list.length) this.getTabs(that, ownertable, list, _Http)
- return content;
- }
- //得到缩略图或者压缩图 getType默认得到缩略图传true得到压缩图
- this.getSpecifiedImage = (obj, getType = false) => {
- obj.url = this.getImageUrl(obj.url)
- try {
- let type = getType ? 'compressed' : 'thumbnail';
- let imgObj = obj.subfiles.find(v => v.type == type);
- return this.getImageUrl(imgObj.url || obj.url);
- } catch (error) {
- return this.getImageUrl(obj.url);
- }
- }
- // 判断图片是本地还是云存储
- this.getImageUrl = (url) => {
- if (!url) return '';
- //判断url中是否存在http,没有的话要拼接 this.baseUrl
- if (!/^https?:\/\//.test(url)) {
- url = _Http.baseUrl + url + wx.getStorageSync('userMsg').token;
- }
- return url;
- }
- this.getTabs = (that, ownertable, list = [], _Http) => {
- if (list.length) _Http.basic({
- "id": 20221018102001,
- "content": {
- ownertable,
- ownerids: list.map(v => v[ownertable + 'id'])
- }
- }).then(res => {
- if (res.code != 1) return;
- list.forEach(item => item.tags = res.data[item[`${ownertable}id`]] || []);
- let newList = that.data.list;
- newList.splice(newList.length - list.length, list.length, ...list);
- that.setData({
- list: newList
- })
- })
- }
- this.getTypes = async (name, _Http) => {
- let params = null;
- if (name == 'tags') {
- params = {
- "id": 20221013104401,
- "content": {
- "nochace": true,
- "isExport": 1,
- "pageNumber": 1,
- sys_systemtagid: 2,
- "pageSize": 1000,
- "where": {
- "condition": ""
- }
- }
- }
- } else {
- params = {
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "nochace": true,
- "pageNumber": 1,
- "pageSize": 1000,
- "typename": name,
- "parameter": {
- "siteid": wx.getStorageSync('userMsg').siteid
- }
- }
- }
- }
- if (!params) return;
- let res = await _Http.basic(params);
- return res.code == '1' ? res.data : [];
- }
- // 千位符格式化金额
- this.formatMoney = (num, decimalPlaces = 2, prefix = '', removeTrailingZeros = true) => {
- if (isNaN(num)) return '';
- let fixedNum = Number(num).toFixed(decimalPlaces);
- if (removeTrailingZeros) {
- fixedNum = parseFloat(fixedNum).toString();
- }
- let parts = fixedNum.split('.');
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
- return prefix + parts.join('.');
- }
- }
- request({
- url,
- data = {},
- method = "POST",
- header = {
- 'content-type': 'application/json'
- },
- loading = true
- }) {
- return new Promise((resolve, reject) => {
- this._request(url, resolve, reject, data, method, header, loading);
- })
- }
- _request(url, resolve, reject, data, method, header, loading) {
- /* if (loading) wx.showLoading({
- title: getApp().globalData.Language.getMapText('加载中...'),
- mask: true
- }) */
- if (data.method && data.method != "query_userauth") data.languagecode = wx.getStorageSync('languagecode') || 'ZH'
- wx.request({
- url: this.baseUrl + '/yos/rest/index' + url,
- data: data,
- method: method,
- header: header,
- timeout: 60000,
- success: res => resolve(res.data),
- fial: err => reject(err),
- complete: (res) => {
- // if (loading) wx.hideLoading()
- if (res.data.code != 1) {
- console.error("错误的请求", {
- request: data,
- result: res.data
- })
- }
- if (res.errMsg != 'request:ok') {
- wx.showToast({
- title: getApp().globalData.Language.getMapText('网络异常,请重新进入'),
- icon: "none"
- })
- } else if (res.data.msg == '登陆状态已过期,请重新登陆!' || res.data.msg == getApp().globalData.Language.getMapText('登陆状态已过期,请重新登陆!')) {
- wx.showToast({
- title: getApp().globalData.Language.getMapText(res.data.msg),
- icon: "none",
- mask: true
- })
- getApp().globalData.LaunchOptions = wx.getLaunchOptionsSync();
- count = setTimeout(() => {
- wx.reLaunch({
- url: '/pages/login/phone',
- });
- }, 1000)
- }
- }
- })
- }
- }
- export {
- HTTP
- }
|