暫無描述

settings.ts 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. import { CapacitorHttp } from '@capacitor/core';
  2. //import Axios from "axios";
  3. import axios from "axios";
  4. import { setupCache } from 'axios-cache-interceptor';
  5. import { Preferences } from '@capacitor/preferences';
  6. export const TOKEN = '173cb9e357a861abd91e8008fab9246e0cc116af'
  7. //export const BASE_URL = 'http://192.168.1.35:8020/'
  8. export const BASE_URL = 'http://localhost:8020/'
  9. //export const BASE_URL = 'https://www.tigermuaythai.live/'
  10. export const APPLE_CALLBACK = BASE_URL + "soc_accounts/apple/login/callback/";
  11. //const axios = setupCache(Axios);
  12. //
  13. //axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
  14. //axios.defaults.xsrfCookieName = "csrftoken";
  15. export const getProducts = async () => {
  16. console.log("Get Products")
  17. const { data } = await axios.get("https://yesno.wtf/api");
  18. console.log(data)
  19. }
  20. export const setToken = async () => {
  21. await Preferences.set({
  22. key: 'user',
  23. value: JSON.stringify({
  24. id: 1,
  25. name: 'Max'
  26. })
  27. });
  28. }
  29. export const getObject = async () => {
  30. const ret = await Preferences.get({ key: 'user' });
  31. const user = JSON.parse(ret.value);
  32. return user
  33. }
  34. export const getToken = async () => {
  35. console.log("get token ")
  36. const token = await Preferences.get({ key: 'token' });
  37. console.log(token)
  38. if( token.value == null || token.value == "" ) {
  39. //const { data } = await axios.post(BASE_URL + "api-token-auth/", {username: 'root', password: 'Tum 1984'})
  40. const { data } = await axios.post(BASE_URL + "dj-rest-auth/login/", {username: 'root', password: 'Tum 1984'})
  41. console.log("get token ", data)
  42. await Preferences.set({
  43. key: 'token',
  44. value: data.token
  45. })
  46. return data.token
  47. }else {
  48. return token.value
  49. }
  50. }
  51. export const initAPI = async () => {
  52. const r = await axios.get(BASE_URL + "backend/api/")
  53. console.log("--- init api ---")
  54. console.log(r)
  55. console.log("-- cookie ---")
  56. const cookieHeaders = r.headers['Set-Cookie'];
  57. console.log(cookieHeaders)
  58. }
  59. export const setUserToken = async(token) => {
  60. let data = await Preferences.set({
  61. key: 'user_token',
  62. value: token
  63. })
  64. let data2 = await Preferences.set({
  65. key: 'token',
  66. value: token
  67. })
  68. return data
  69. }
  70. export const getTrainers = async () => {
  71. const token = await Preferences.get({ key: 'token' });
  72. console.log("token = ", token)
  73. const { data } = await axios.get(BASE_URL + "backend/api/trainers/", {
  74. headers: {
  75. 'Authorization': `Token ${token.value}`
  76. }
  77. })
  78. console.log(data)
  79. return data.results
  80. }
  81. export const listMats = async (ids=[]) => {
  82. const token = await Preferences.get({ key: 'token' });
  83. console.log("token = ", token)
  84. console.log("ids ", ids)
  85. if( ids.length == 0 ) {
  86. const { data } = await axios.get(BASE_URL + "backend/api/mats/?ordering=-id", {
  87. headers: {
  88. 'Authorization': `Token ${token.value}`
  89. }
  90. })
  91. return data.results
  92. }else {
  93. const { data } = await axios.get(BASE_URL + "backend/api/mats/?ids="+ids.join(), {
  94. headers: {
  95. 'Authorization': `Token ${token.value}`
  96. }
  97. })
  98. console.log("results = ", data.results)
  99. return data.results
  100. }
  101. }
  102. export const listCourses = async () => {
  103. console.log("list courses ... ")
  104. const token = await Preferences.get({ key: 'token' });
  105. console.log("token = ", token)
  106. const { data } = await axios.get(BASE_URL + "backend/api/courses/?ordering=-id&status=active", {
  107. headers: {
  108. 'Authorization': `Token ${token.value}`
  109. }
  110. })
  111. console.log(data)
  112. return data.results
  113. }
  114. export const getCourse = async (pk) => {
  115. const token = await Preferences.get({ key: 'token' });
  116. console.log("token = ", token)
  117. const { data } = await axios.get(BASE_URL + "backend/api/courses/"+pk+"/", {
  118. headers: {
  119. 'Authorization': `Token ${token.value}`
  120. }
  121. })
  122. console.log(data)
  123. return data
  124. }
  125. export const getMat = async(pk) => {
  126. const token = await Preferences.get({ key: 'token' });
  127. console.log("token = ", token)
  128. const { data } = await axios.get(BASE_URL + `backend/api/mats/${pk}/`, {
  129. headers: {
  130. 'Authorization': `Token ${token.value}`
  131. }
  132. })
  133. console.log(data)
  134. return data
  135. }
  136. export const storeAPNToken = async (device_token) => {
  137. const token = await Preferences.get({ key: 'token' });
  138. console.log("token = ", token)
  139. const { data } = await axios.post(BASE_URL + "backend/api/device_tokens/",{token: device_token},
  140. {
  141. headers: {
  142. 'Authorization': `Token ${token.value}`
  143. }
  144. })
  145. console.log(data)
  146. return data
  147. }
  148. export const listCourseMats = async (cid) => {
  149. const token = await Preferences.get({ key: 'token' });
  150. console.log("token = ", token)
  151. const { data } = await axios.get(BASE_URL + "backend/api/courses/"+cid+"/mats/", {
  152. headers: {
  153. 'Authorization': `Token ${token.value}`
  154. }
  155. })
  156. console.log(data)
  157. return data
  158. }
  159. export const listCourseMatsByLevel = async (clevels) => {
  160. const token = await Preferences.get({ key: 'token' });
  161. console.log("token = ", token)
  162. const { data } = await axios.get(BASE_URL + "backend/api/mats/?course_level="+clevels.join(","), {
  163. headers: {
  164. 'Authorization': `Token ${token.value}`
  165. }
  166. })
  167. console.log(data)
  168. return data
  169. }
  170. export const getTodayProgs = async (day=null) => {
  171. const token = await Preferences.get({ key: 'token' });
  172. console.log("token = ", token)
  173. if(day) {
  174. const { data } = await axios.get(BASE_URL + `backend/api/courses/today_progs/?day=${day}`, {
  175. headers: {
  176. 'Authorization': `Token ${token.value}`
  177. }
  178. })
  179. console.log(data)
  180. return data
  181. }else {
  182. const { data } = await axios.get(BASE_URL + "backend/api/courses/today_progs/", {
  183. headers: {
  184. 'Authorization': `Token ${token.value}`
  185. }
  186. })
  187. console.log(data)
  188. return data
  189. }
  190. }
  191. export const getLive = async () => {
  192. const token = await Preferences.get({ key: 'token' });
  193. console.log("token = ", token)
  194. const { data } = await axios.get(BASE_URL + "backend/api/scheds/get_live/", {
  195. headers: {
  196. 'Authorization': `Token ${token.value}`
  197. }
  198. })
  199. console.log(data)
  200. return data
  201. }
  202. export const getPosts = async (cat) => {
  203. const token = await Preferences.get({ key: 'token' });
  204. console.log("token = ", token)
  205. const { data } = await axios.get(BASE_URL + `backend/api/posts/?category__slug=${cat}&status=active&ordering=-created_at`, {
  206. headers: {
  207. 'Authorization': `Token ${token.value}`
  208. }
  209. })
  210. return data.results
  211. }
  212. export const getPost = async (pid) => {
  213. const token = await Preferences.get({ key: 'token' });
  214. console.log("token = ", token)
  215. const { data } = await axios.get(BASE_URL + `backend/api/posts/${pid}/`, {
  216. headers: {
  217. 'Authorization': `Token ${token.value}`
  218. }
  219. })
  220. return data
  221. }
  222. export const searchMat = async (s) => {
  223. const token = await Preferences.get({ key: 'token' });
  224. console.log("token = ", token)
  225. const { data } = await axios.get(BASE_URL + `backend/api/mats/?search=${s}`, {
  226. headers: {
  227. 'Authorization': `Token ${token.value}`
  228. }
  229. })
  230. return data
  231. }
  232. export const callUrl = async(url) => {
  233. const token = await Preferences.get({ key: 'token' });
  234. console.log("token = ", token)
  235. const { data } = await axios.get(url, {
  236. headers: {
  237. 'Authorization': `Token ${token.value}`
  238. }
  239. })
  240. return data
  241. }
  242. export const facebookLogin = async(access_token) => {
  243. const token = await Preferences.get({ key: 'token' });
  244. console.log("access_code = ", access_token)
  245. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/facebook/',{access_token: access_token.token}, {
  246. headers: {
  247. 'Content-Type': 'application/json',
  248. }
  249. })
  250. //.catch((error) => {
  251. //console.log("fb error = ", error)
  252. //})
  253. console.log("facebook login = ", data)
  254. return data
  255. }
  256. export const ggLogin = async(access_token, id_token) => {
  257. const token = await Preferences.get({ key: 'token' });
  258. console.log("access_code = ", access_token)
  259. console.log("id token = ", id_token)
  260. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/google/',{access_token: access_token}, {
  261. headers: {
  262. 'Content-Type': 'application/json',
  263. }
  264. })
  265. //.catch((error) => {
  266. //console.log("gg error = ", error)
  267. //})
  268. console.log("gg login = ", data)
  269. return data
  270. }
  271. export const userLogin = async(username, password) => {
  272. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/login/',{username: username, password: password}, {
  273. headers: {
  274. 'Content-Type': 'application/json',
  275. }
  276. })
  277. console.log("login = data", data)
  278. return data
  279. }
  280. export const logout = async() => {
  281. console.log("--- logout ---")
  282. const token = await Preferences.get({ key: 'user_token' });
  283. console.log("user_token = ", token)
  284. //const { data } = await axios.post(BASE_URL + 'dj-rest-auth/logout/', {}, {
  285. //headers: {
  286. //'Authorization': `Token ${token.value}`
  287. //}
  288. //})
  289. await clearPref()
  290. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/logout/')
  291. return data
  292. }
  293. export const clearPref = async() => {
  294. const clear = await Preferences.clear()
  295. return clear
  296. }
  297. export const isLogin = async() => {
  298. const { value } = await Preferences.get({ key: 'user_token' });
  299. console.log('-- is Login --')
  300. console.log(value)
  301. if( value )
  302. return true
  303. else
  304. return false
  305. }
  306. export const restSignup = async (username, email, pass1, pass2) => {
  307. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/registration/',{
  308. username: username,
  309. email: email,
  310. password1: pass1,
  311. password2: pass2,
  312. }, {
  313. headers: {
  314. 'Content-Type': 'application/json',
  315. }
  316. })
  317. return data
  318. }
  319. export const resetPassword = async (email) => {
  320. console.info(" email ", email)
  321. const { data } = await axios.post(BASE_URL + 'password-reset/',{
  322. email: email,
  323. }, {
  324. headers: {
  325. 'Content-Type': 'application/json',
  326. }
  327. })
  328. return data
  329. }
  330. export const getPref = async () => {
  331. const token = await Preferences.get({ key: 'token' });
  332. console.log("token = ", token)
  333. const { data } = await axios.get(BASE_URL + `backend/api/profiles/myprofile/`, {
  334. headers: {
  335. 'Authorization': `Token ${token.value}`
  336. }
  337. })
  338. //await Preferences.set({
  339. //key: 'profile',
  340. //value: data
  341. //})
  342. //console.info(data)
  343. return data
  344. }
  345. export const likeCourse = async (cid) => {
  346. const token = await Preferences.get({ key: 'token' });
  347. console.log("token = ", token)
  348. const { data } = await axios.get(BASE_URL + `backend/api/profiles/like_course/?cid=${cid}`, {
  349. headers: {
  350. 'Authorization': `Token ${token.value}`
  351. }
  352. })
  353. console.info(data)
  354. return data
  355. }
  356. export const likeMat = async (cid) => {
  357. const token = await Preferences.get({ key: 'token' });
  358. console.log("token = ", token)
  359. const { data } = await axios.get(BASE_URL + `backend/api/profiles/like_mat/?cid=${cid}`, {
  360. headers: {
  361. 'Authorization': `Token ${token.value}`
  362. }
  363. })
  364. console.info(data)
  365. return data
  366. }
  367. export const updateNoti = async (noti) => {
  368. const token = await Preferences.get({ key: 'token' });
  369. console.log("token = ", token)
  370. const { data } = await axios.post(BASE_URL + `backend/api/profiles/update_noti/`,
  371. {live_noti: noti.liveNoti, 'news_noti':noti.newsNoti},
  372. {
  373. headers: {
  374. 'Authorization': `Token ${token.value}`
  375. }
  376. })
  377. console.info(data)
  378. return data
  379. }
  380. export const appleLogin = async(access_token) => {
  381. const token = await Preferences.get({ key: 'token' });
  382. console.log("access_code = ", access_token)
  383. const { data } = await axios.post(BASE_URL + 'dj-rest-auth/apple/',{access_token: access_token.authorizationCode, id_token: access_token.identityToken}, {
  384. headers: {
  385. 'Content-Type': 'application/json',
  386. }
  387. })
  388. console.log("apple login = ", data)
  389. return data
  390. }