graceRequestConfig.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // grace reuqest 请求库相关配置
  2. export default {
  3. // api 基础 url
  4. apiBaseUrl: 'http://47.107.70.17/prod-api',
  5. // 调试模式 [ false 关闭调试输出,项目发包时请设置此项为 false ]
  6. debug: true,
  7. // 本地 Token 数据键名称
  8. localTokenKeyName: 'reqToken',
  9. // 用户登录 Token 数据键名称
  10. userTokenKeyName: 'uToken',
  11. // token 有效期, 单位 秒 ,要与后端保持一致
  12. expiredTime: 3600,
  13. // post 方式 header[content-type] 默认值
  14. postHeaderDefault: 'application/x-www-form-urlencoded',
  15. // 接口请求秘钥 与后端开发人员协商格式及获取
  16. apiKey: '******',
  17. // 基础 token 获取 api 接口地址
  18. baseTokenUrl: 'https://www.******.com/api/srequest/makeToken',
  19. // 从服务器获取 token 函数
  20. // 因后端语言不同、思路不同,请跟据自己的 api 情况完成 token 获取函数
  21. // 一个示例,实际开发请跟据自己情况复写此函数
  22. getToken: function() {
  23. var apiKey = this.apiKey;
  24. var baseTokenUrl = this.baseTokenUrl;
  25. return new Promise((resolve, reject) => {
  26. // 发起请求
  27. uni.request({
  28. // token 授权 api 服务器地址
  29. url: baseTokenUrl,
  30. // 请求秘钥
  31. data: {
  32. 'appKey': apiKey
  33. },
  34. // 请求方式 POST
  35. method: "POST",
  36. // headers
  37. header: {
  38. 'content-type': 'application/x-www-form-urlencoded'
  39. },
  40. // 返回值类型
  41. dataType: "json"
  42. }).then((res) => {
  43. var data = res.data;
  44. if (data.status == 'ok') {
  45. // 将 token 保存在本地并记录获取时间
  46. uni.setStorageSync(this.localTokenKeyName, data.data);
  47. // 记录时间
  48. var dateObj = new Date();
  49. var cTime = dateObj.getTime();
  50. cTime += '';
  51. uni.setStorageSync('GraceRequestTokenTime', cTime);
  52. resolve(data.data);
  53. } else {
  54. reject('token error');
  55. }
  56. }).catch((e) => {
  57. reject('token error');
  58. });
  59. });
  60. },
  61. // 记录 用户 token 到本地方法
  62. // 格式 loginToken-uid
  63. // 您可以根据项目需要继续改进
  64. writeLoginToken: function(token, uid) {
  65. var loginToken = token + '-' + uid;
  66. uni.setStorageSync(this.userTokenKeyName, loginToken);
  67. return;
  68. },
  69. // 获取基础 token 失败提示函数
  70. tokenErrorMessage: function() {
  71. uni.showToast({
  72. title: "请求失败, 请重试",
  73. icon: "none"
  74. })
  75. }
  76. }