@tmsfe/tms-core 0.0.93 → 0.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmsfe/tms-core",
3
- "version": "0.0.93",
3
+ "version": "0.0.94",
4
4
  "description": "tms运行时框架",
5
5
  "repository": {
6
6
  "type": "git",
@@ -65,7 +65,7 @@ const asyncFuncNames = [
65
65
  // 这行是tms-ui的
66
66
  'showDrawer', 'hideDrawer', 'showModal', 'hideModal',
67
67
  // 这行是runtime的
68
- 'getPhone', 'login', 'getLoginInfo', 'getOpenId', 'getMycarPubOpenId', 'getSinanPubOpenId',
68
+ 'getPhone', 'registerPhone', 'login', 'getLoginInfo', 'getOpenId', 'getMycarPubOpenId', 'getSinanPubOpenId',
69
69
  // tms-core
70
70
  'setAuthInfo', 'getConfig', 'navigateToWebview', 'callCloudFunc', 'getEncryptUserInfo',
71
71
  'setUserLocation', 'getUserLocation', 'getMpOpenId', 'getOuterOpenId',
@@ -13,8 +13,8 @@ const fieldWhiteList = [
13
13
 
14
14
  function isBasicsType(obj: any, isConstraintLen = true): { isBasics: boolean, value: any } {
15
15
  const type = typeof obj;
16
- if (obj === null || obj === undefined
17
- || type === 'number' || type === 'boolean' || type === 'bigint') {
16
+ const arr1 = ['number', 'boolean', 'bigint'];
17
+ if (obj === null || obj === undefined || arr1.includes(type)) {
18
18
  return { isBasics: true, value: obj };
19
19
  }
20
20
  if (type === 'string') {
@@ -9,7 +9,7 @@ import Login from './login';
9
9
  import Car from './car';
10
10
  import getOpenAppTrafficData from './getopenapptrafficdata';
11
11
 
12
- const { loginFn, getOpenId, getMycarPubOpenId, getSinanPubOpenId, getPhone } = Login;
12
+ const { loginFn, getOpenId, getMycarPubOpenId, getSinanPubOpenId, getPhone, registerPhone } = Login;
13
13
 
14
14
  /**
15
15
  * __resolver__ 用于维护 app.tms.fn 中数据的填充
@@ -205,6 +205,7 @@ async function queryServicePermissions(param = {}) {
205
205
 
206
206
  const api = {
207
207
  getPhone,
208
+ registerPhone,
208
209
  login,
209
210
  getLoginInfo,
210
211
  getOpenId,
@@ -18,6 +18,12 @@
18
18
 
19
19
  import getOpenAppTrafficData from './getopenapptrafficdata';
20
20
 
21
+ interface PhoneRegisterResult {
22
+ success: boolean,
23
+ phone: string,
24
+ errMsg: string,
25
+ }
26
+
21
27
  /**
22
28
  * 调用wx.login获取登录code
23
29
  * @private
@@ -93,6 +99,7 @@ const getOpenId = async () => {
93
99
  return getOpenIdProm;
94
100
  }
95
101
 
102
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
96
103
  getOpenIdProm = new Promise(async (resolve, reject) => {
97
104
  getApp().tms.callCloudFunc('user', { $url: 'user/getOpenId' })
98
105
  .then((res) => {
@@ -192,15 +199,42 @@ const getSinanPubOpenId = () => {
192
199
  const getPhone = () => getApp().tms.createRequest({ withAuth: true }).post('user/phone/fetch')
193
200
  .then((res) => {
194
201
  if (res && res.errCode === 0) {
195
- return (res.resData && res.resData.phoneno) || '';
202
+ return (res.resData?.phoneno) || '';
196
203
  }
197
204
  return Promise.reject(res);
198
205
  });
199
206
 
207
+
208
+ /**
209
+ * 绑定手机号
210
+ */
211
+ async function registerPhone({ encryptedData, iv }: {encryptedData: string, iv: string}): Promise<PhoneRegisterResult> {
212
+ try {
213
+ const result = await getApp().tms.createRequest().post('user/phone/regist', {
214
+ iv,
215
+ isCipher: 1,
216
+ phoneno: encryptedData,
217
+ });
218
+ return {
219
+ success: result.errCode === 0,
220
+ phone: result.errCode === 0 ? result.resData.phoneno : '',
221
+ errMsg: result.errMsg,
222
+ };
223
+ } catch (error: any) {
224
+ console.error(error);
225
+ return {
226
+ success: false,
227
+ phone: '',
228
+ errMsg: '绑定失败',
229
+ };
230
+ }
231
+ }
232
+
200
233
  const runtimeObj = {
201
234
  loginFn,
202
235
  getOpenId,
203
236
  getPhone,
237
+ registerPhone,
204
238
  getMycarPubOpenId,
205
239
  getSinanPubOpenId,
206
240
  };