genvars.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package dartgen
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "zero/core/logx"
  6. )
  7. func genVars(dir string) error {
  8. e := os.MkdirAll(dir, 0755)
  9. if e != nil {
  10. logx.Error(e)
  11. return e
  12. }
  13. if !fileExists(dir + "vars.dart") {
  14. e = ioutil.WriteFile(dir+"vars.dart", []byte(`const serverHost='demo-crm.xiaoheiban.cn';`), 0644)
  15. if e != nil {
  16. logx.Error(e)
  17. return e
  18. }
  19. }
  20. if !fileExists(dir + "kv.dart") {
  21. e = ioutil.WriteFile(dir+"kv.dart", []byte(`import 'dart:convert';
  22. import 'package:shared_preferences/shared_preferences.dart';
  23. import '../data/tokens.dart';
  24. /// 保存tokens到本地
  25. ///
  26. /// 传入null则删除本地tokens
  27. /// 返回:true:设置成功 false:设置失败
  28. Future<bool> setTokens(Tokens tokens) async {
  29. var sp = await SharedPreferences.getInstance();
  30. if (tokens == null) {
  31. sp.remove('tokens');
  32. return true;
  33. }
  34. return await sp.setString('tokens', jsonEncode(tokens.toJson()));
  35. }
  36. /// 获取本地存储的tokens
  37. ///
  38. /// 如果没有,则返回null
  39. Future<Tokens> getTokens() async {
  40. try {
  41. var sp = await SharedPreferences.getInstance();
  42. var str = sp.getString('tokens');
  43. if (str.isEmpty) {
  44. return null;
  45. }
  46. return Tokens.fromJson(jsonDecode(str));
  47. } catch (e) {
  48. print(e);
  49. return null;
  50. }
  51. }
  52. `), 0644)
  53. if e != nil {
  54. logx.Error(e)
  55. return e
  56. }
  57. }
  58. return nil
  59. }