123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279 |
- const {
- DEBUG,
- CODE_NOT_LOGIN
- } = require('./c.js');
- const { api } = require(`./config.js`);
- const md5 = require('./md5.js');
- const util = require('./util.js');
- const commonParams = () => {
- let deviceId = 'weapp';
- let systemVersion = 'weapp';
- let systemInfo = util.getStorageSync('systemInfo');
- if (!systemInfo) {
- systemInfo = wx.getSystemInfoSync();
- if (systemInfo) {
- wx.setStorageSync('systemInfo', systemInfo);
- }
- }
- if (systemInfo) {
- let {
- brand,
- model,
- system
- } = systemInfo;
- if (brand || model) {
- deviceId = brand + model;
- }
- if (system && 'string' === typeof (system)) {
- systemVersion = system;
- }
- }
- let params = {
- language: 'cn', //语言参数
- deviceType: 'weapp', //接口调用来源参数
- deviceId: deviceId, //设备唯一标识码
- apiVersion: '1.0.3', //api版本号
- systemVersion: systemVersion, //操作系统及版本号
- version: "2.0.0", // 线上版本号
- };
- let loginUserInfo = util.getStorageSync('userInfo');
- if (loginUserInfo) {
- let token = loginUserInfo.token;
- if (token) {
- params.token = token; //用户登录凭证token
- }
- }
- return params;
- }
- /*参数签名*/
- const paramsSign = (params, url) => {
- let key = 'a2e947b603f8a95ce24db5a3c86';
- if ((url && url.indexOf(`${api}/common`) === 0) || url.indexOf('/common/upload/files') !== -1) {
- key = 'b15681f74461af9642ab5356fba7962b';
- }
- if (url == `${api}/java/order/source-list`) {
- key = '93f725a07423fe1c889f448b33d21f46'
- }
- let allKeys = [],
- paramsLower = {},
- sArr = [],
- res = '';
- for (let k in params) {
- let kLower = k;
- allKeys.push(kLower);
- paramsLower[kLower] = "";
- if ((params[k] && params[k] !== "undefined") || params[k] === 0) {
- paramsLower[kLower] = params[k];
- }
- }
- allKeys.sort();
- allKeys.forEach((v, i, a) => {
- sArr.push(`${v}=${paramsLower[v]}`);
- });
- sArr.push(`key=${key}`);
- res = sArr.join('&');
- res = md5(res);
- return res.toLowerCase();
- }
- /**
- * 网络请求对象
- */
- const net = {
- //isDealFail是否手动处理异常,true or false
- req: function (params, isDealFail) { //get或post请求
- if (!params) {
- wx.showToast({
- title: '请设置请求参数',
- icon: 'none',
- duration: 2000
- });
- return new Promise((resolve, reject) => {
- reject();
- });
- }
- if (!params.url) {
- wx.showToast({
- title: '请设置请求url',
- icon: 'none',
- duration: 2000
- });
- return new Promise((resolve, reject) => {
- reject();
- });
- }
- let promise = new Promise((resolve, reject) => {
- params.data = Object.assign({}, commonParams(), params.data);
- params.data.signToken = paramsSign(params.data, params.url);
- wx.request({
- url: params.url,
- data: params.data || null,
- header: {
- 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
- },
- method: params.method || 'POST',
- dataType: params.dataType || 'json',
- success: function (res) {
- res = res.data;
- let {
- code,
- msg
- } = res;
- if (0 === code) { //ok
- resolve(res);
- } else if (CODE_NOT_LOGIN === code) { //未登录
- DEBUG && console.log(`Request for ${params.url} exception.--->${JSON.stringify(msg)}`);
- wx.clearStorage();
- wx.showToast({
- title: '您的用户信息已失效,请重新登录操作',
- icon: 'none',
- duration: 2000,
- success: () => {
- wx.reLaunch({
- url: '/pages/loginways/loginways'
- });
- },
- });
- } else {
- DEBUG && console.log(`Request for ${params.url} exception.--->${JSON.stringify(msg)}`);
- if (isDealFail) {
- reject(res);
- } else {
- wx.showToast({
- title: msg || 'error',
- icon: 'none',
- duration: 2000
- });
- }
- }
- },
- fail: function (e) {
- DEBUG && console.log(`Request for ${params.url} fail.--->${JSON.stringify(e)}`);
- if (isDealFail) {
- reject(e);
- } else {
- wx.showToast({
- title: (e && e.errMsg) || '',
- icon: 'none',
- duration: 2000
- });
- }
- },
- complete: function (res) {
- DEBUG && console.log(`Request for ${params.url} complete.--->${JSON.stringify(res)}`);
- }
- });
- });
- return promise;
- },
- uploadFile: function (params, isDealFail) { //get或post请求
- if (!params) {
- wx.showToast({
- title: '请设置请求参数',
- icon: 'none',
- duration: 2000
- });
- return new Promise((resolve, reject) => {
- reject();
- });
- }
- if (!params.url) {
- wx.showToast({
- title: '请设置请求url',
- icon: 'none',
- duration: 2000
- });
- return new Promise((resolve, reject) => {
- reject();
- });
- }
- if (!params.filePath || !params.filePath.length) {
- wx.showToast({
- title: '请设置文件资源的路径',
- icon: 'none',
- duration: 2000
- });
- return new Promise((resolve, reject) => {
- reject();
- });
- }
- let promise = new Promise((resolve, reject) => {
- params.data = Object.assign({}, commonParams(), params.data);
- params.data.signToken = paramsSign(params.data, params.url);
- wx.uploadFile({
- url: params.url,
- filePath: params.filePath,
- name: 'files[]',
- formData: params.data,
- header: {
- 'content-type': 'multipart/form-data'
- },
- method: 'POST',
- success: function (res) {
- let data = res.data;
- if (typeof data == 'string' && data.constructor == String) {
- data = JSON.parse(data);
- }
- let {
- code,
- msg
- } = data;
- if (0 === parseInt(code)) { //ok
- resolve(data);
- } else if (CODE_NOT_LOGIN === code) { //未登录
- DEBUG && console.log(`Request for ${params.url} exception.--->${JSON.stringify(msg)}`);
- wx.clearStorage();
- wx.showToast({
- title: '您的用户信息已失效,请重新登录操作',
- icon: 'none',
- duration: 2000,
- success: () => {
- wx.reLaunch({
- url: '/pages/loginways/loginways'
- });
- },
- });
- } else {
- DEBUG && console.log(`Request for ${params.url} exception.--->${JSON.stringify(msg)}`);
- if (isDealFail) {
- reject(data);
- } else {
- wx.showToast({
- title: msg || 'error',
- icon: 'none',
- duration: 2000
- });
- }
- }
- },
- fail: function (e) {
- DEBUG && console.log(`Request for ${params.url} fail.--->${JSON.stringify(e)}`);
- if (isDealFail) {
- reject(e);
- } else {
- wx.showToast({
- title: (e && e.errMsg) || '',
- icon: 'none',
- duration: 2000
- });
- }
- },
- complete: function (res) {
- DEBUG && console.log(`Request for ${params.url} complete.--->${JSON.stringify(res)}`);
- }
- });
- });
- return promise;
- },
- }
- module.exports = {
- commonParams,
- paramsSign,
- net
- };
|