Browse Source

siq 对接测试提交

dev-v1.0.2
蟑螂恶霸 5 months ago
parent
commit
0447185d21
  1. 37
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseLoginController.java
  2. 6
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/StatisticalPanelController.java
  3. 7
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseLoginService.java
  4. 106
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java
  5. 2
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/StatisticalPanelMapper.xml
  6. 1596
      zdxt-web-client/zdxt-admin-plus-ui/public/enforcement-code-v1/statistical/home.html
  7. 13
      zdxt-web-client/zdxt-admin-plus-ui/src/layout/index.vue
  8. 25
      zdxt-web-client/zdxt-admin-plus-ui/src/router/index.ts
  9. 21
      zdxt-web-client/zdxt-admin-plus-ui/src/store/modules/permission.ts
  10. 16
      zdxt-web-client/zdxt-admin-plus-ui/src/utils/request.ts
  11. 12
      zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js
  12. 56
      zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/home/enterpriseHome.vue

37
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enterprise/AppEnterpriseLoginController.java

@ -8,13 +8,14 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
@ -27,17 +28,43 @@ import java.util.Map;
@RequestMapping("/app-ent/enterprise/login")
public class AppEnterpriseLoginController {
@Autowired
private IAppEnterpriseLoginService appEnterpriseLoginService;
private final IAppEnterpriseLoginService appEnterpriseLoginService;
/**
* 企业端用户登录(深i企)
* 获取深i企鉴权所需的 accessKey / accessSecret
*/
@SaIgnore
@ApiResponse(description = "获取深i企 accessKey / accessSecret")
@GetMapping("/getSiqCode")
public R<Map<String, String>> getSiqCode() {
String accessKey = "6374106c5eb449a4ad6c2430f30796e6";
String accessSecret = "434fec85aa5846e88bbeb8fac6cf6d7f";
Map<String, String> result = new HashMap<>();
result.put("accessKey", accessKey);
result.put("accessSecret", accessSecret);
return R.ok("获取成功", result);
}
/**
* 企业端用户登录(深i企)
*/
@SaIgnore
@ApiResponse(description = "企业端-用户登录(深i企)")
@PostMapping("/siqLogin")
public R<Map<String, Object>> siqLogin(@RequestBody AppEnterpriseLoginBo bo){
public R<Map<String, Object>> siqLogin(@RequestBody AppEnterpriseLoginBo bo) {
System.out.println("接收到登录请求");
Map<String, Object> result = appEnterpriseLoginService.siqLogin(bo);
return R.ok("登录成功", result);
}
/**
* 深i企模拟登录(开发/联调)
*/
@SaIgnore
@ApiResponse(description = "企业端-深i企模拟登录")
@PostMapping("/siqLoginMock")
public R<Map<String, Object>> siqLoginMock(@RequestBody AppEnterpriseLoginBo bo) {
Map<String, Object> result = appEnterpriseLoginService.siqLoginMock(bo);
return R.ok("登录成功", result);
}
}

6
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/web/supervision/StatisticalPanelController.java

@ -285,15 +285,15 @@ public class StatisticalPanelController {
Map<String, Object> resMap = new HashMap<String, Object>();
SysDeptBo deptParams = new SysDeptBo();
deptParams.setZone(2);
deptParams.setDeptName(LoginHelper.getDeptName());
deptParams.setDeptId(LoginHelper.getDeptId());
// deptId 入参传区名称,如「光明区」
deptParams.setDeptName(params.getDeptId());
List<SysDeptVo> depts = sysDeptService.selectDepts(deptParams);
if (depts == null || depts.isEmpty()) {
return R.fail("未找到相关部门信息");
}
params.setDeptId(depts.get(0).getDeptId());
params.setDeptId(String.valueOf(depts.get(0).getDeptId()));
resMap.put("area", deptParams.getDeptName());

7
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/IAppEnterpriseLoginService.java

@ -18,4 +18,11 @@ public interface IAppEnterpriseLoginService {
* @return 登录结果,包含token和用户信息
*/
Map<String, Object> siqLogin(AppEnterpriseLoginBo bo);
/**
* 深I企模拟登录(开发/联调)
* @param bo 登录参数
* @return 登录结果,包含token和用户信息
*/
Map<String, Object> siqLoginMock(AppEnterpriseLoginBo bo);
}

106
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java

@ -30,10 +30,10 @@ import org.dromara.common.core.enums.UserType;
import org.dromara.common.core.exception.base.BaseException;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.mapper.SysUserPostMapper;
import org.dromara.system.mapper.SysUserRoleMapper;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -46,6 +46,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
/**
@ -107,34 +108,50 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
@Autowired
RuoYiConfig ruoYiConfig;
@Value("${siq.mock.enabled:false}")
private boolean mockEnabled;
/**
* 深i企用户登录并自动注册(带分布式锁防重)
* 深i企用户登录并自动注册(带分布式锁防重,流程与一期 thirdLogin/siqLogin 一致)
*
* @param bo 登录参数
* @return 登录结果,包含token和用户信息
*/
@Override
public Map<String, Object> siqLogin(AppEnterpriseLoginBo bo) {
JSONObject userInfo;
log.info("---> 深i企登录用户 code:{}", bo.getCode());
JSONObject userInfo = siqLoginInfo(bo);
log.info("---> 深i企登录用户信息:{}", userInfo);
log.info("---> 后面为本地登录的验证了!!! <---");
return doSiqLoginWithLock(userInfo);
}
if (mockEnabled) {
log.info("使用模拟数据进行深i企登录测试");
userInfo = getMockSiqUserInfo(bo.getCode());
} else {
userInfo = siqLoginInfo(bo);
/**
* 深i企模拟登录(开发/联调)
*/
@Override
public Map<String, Object> siqLoginMock(AppEnterpriseLoginBo bo) {
log.info("---> 深i企模拟登录 userId:{}", bo.getUserId());
JSONObject userInfo = getMockSiqUserInfo(bo.getCode());
if (StringUtils.isNotEmpty(bo.getUserId())) {
userInfo.put("userId", bo.getUserId());
}
return doSiqLoginWithLock(userInfo);
}
String siqUserId = userInfo.getString("userId");
String lockKey = "siq_login_lock:" + siqUserId;
/**
* 加锁后完成用户注册、企业关联并签发 token
*/
private Map<String, Object> doSiqLoginWithLock(JSONObject userInfo) {
String lockKey = resolveLoginLockKey(userInfo);
RLock lock = redissonClient.getLock("siq_login_lock:" + lockKey);
boolean locked = false;
try {
log.info("深i企登录获取分布式锁成功: lockKey={}, userId={}", lockKey, siqUserId);
locked = lock.tryLock(0, 1, TimeUnit.SECONDS);
if (!locked) {
log.info("用户正在登录中,用户信息:{}", userInfo.toJSONString());
throw new BaseException("用户正在登录中,请稍后再试");
}
log.info("---> 登入锁 key: {}", lockKey);
EnterpriseUser newUser = saveOrUpdateEnterpriseUser(userInfo);
EnterpriseInformation enterpriseInformation = addSiqUserCompany(userInfo, newUser);
if (newUser != null && enterpriseInformation != null) {
@ -142,26 +159,49 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
}
String token = generateToken(newUser, enterpriseInformation);
Map<String, Object> result = new HashMap<>();
result.put("token", token);
result.put("userId", newUser.getUserId());
result.put("userName", newUser.getUserName());
result.put("loginName", newUser.getLoginName());
result.put("phonenumber", newUser.getPhonenumber() != null ? newUser.getPhonenumber() : "");
result.put("enterpriseId", enterpriseInformation.getId());
result.put("enterpriseName", enterpriseInformation.getEnterpriseName());
result.put("enterpriseNumber", enterpriseInformation.getEnterpriseNumber());
result.put("platformType", PlatformTypeEnums.ENTERPRISE.getKey());
return result;
return buildLoginResult(newUser, enterpriseInformation, token);
} catch (BaseException e) {
throw e;
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new BaseException("登录处理被中断");
} catch (Exception e) {
log.error("深i企登录处理异常: lockKey={}", lockKey, e);
throw new BaseException("登录处理失败:" + e.getMessage());
} finally {
if (locked && lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
/**
* 与一期一致:优先使用 account 作为锁键,否则使用解密后的手机号
*/
private String resolveLoginLockKey(JSONObject userInfo) {
String account = userInfo.getString("account");
if (StringUtils.isNotEmpty(account)) {
return account;
}
return IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, userInfo.getString("phone"));
}
private Map<String, Object> buildLoginResult(EnterpriseUser newUser,
EnterpriseInformation enterpriseInformation,
String token) {
Map<String, Object> result = new HashMap<>();
result.put("token", token);
result.put("userId", newUser.getUserId());
result.put("userName", newUser.getUserName());
result.put("loginName", newUser.getLoginName());
result.put("phonenumber", newUser.getPhonenumber() != null ? newUser.getPhonenumber() : "");
result.put("enterpriseId", enterpriseInformation.getId());
result.put("enterpriseName", enterpriseInformation.getEnterpriseName());
result.put("enterpriseNumber", enterpriseInformation.getEnterpriseNumber());
result.put("platformType", PlatformTypeEnums.ENTERPRISE.getKey());
return result;
}
/**
* 保存或更新企业用户信息
* <p>
@ -250,16 +290,18 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
public JSONObject siqLoginInfo(AppEnterpriseLoginBo bo) {
try {
Map<String, Object> params = new HashMap<>();
log.info("调用深i企登录接口,参数: {}", bo);
String accessKeySign = IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, bo.getCode());
params.put("accessKeySign", accessKeySign);
params.put("appCode", code);
log.info("调用深i企登录接口,参数加密后: {}", params);
String data = HttpUtil.httpSendPost(
siqUrl + ApiConstants.API_SIQUSERLOGIN,
JSONObject.toJSONString(params),
new HashMap<>()
);
log.info("调用深i企登录接口响应: {}", data);
JSONObject jsonObject = JSONObject.parseObject(data);
JSONObject userInfo = jsonObject.getJSONObject("data");
@ -269,7 +311,7 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
throw new BaseException("深i企接口返回数据异常");
}
log.debug("深i企登录返回用户信息: userId={}", userInfo.getString("userId"));
log.info("解析深i企登录接口响应成功,用户信息: {}", userInfo);
return userInfo;
} catch (BaseException e) {

2
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/StatisticalPanelMapper.xml

@ -930,7 +930,7 @@
and r.is_complaint is not null
and r.check_category is not null
and r.bureau_dept_id is not null
<if test="params.zone != null and params.zone != ''"> and r.bureau_dept_id in (select dept_id from sys_dept where zone = #{params.zone}) </if>-->
<if test="params.zone != null and params.zone != ''"> and r.bureau_dept_id in (select dept_id from sys_dept where zone = #{params.zone}) </if>
<if test="deptId != null and deptId != ''">
and r.bureau_dept_id in (select sd.dept_id from sys_dept sd where sd.area_node = #{deptId} or sd.dept_id = #{deptId})
</if>

1596
zdxt-web-client/zdxt-admin-plus-ui/public/enforcement-code-v1/statistical/home.html

File diff suppressed because it is too large

13
zdxt-web-client/zdxt-admin-plus-ui/src/layout/index.vue

@ -8,7 +8,8 @@
<navbar ref="navbarRef" @set-layout="setLayout" />
</div>
<section class="iframe-main">
<iframe :src="permissionStore.iframeUrl" class="iframe-full" frameborder="0" />
<iframe v-if="permissionStore.iframeUrl" :src="permissionStore.iframeUrl" class="iframe-full" frameborder="0" />
<router-view v-else class="iframe-full-page" />
</section>
<settings ref="settingRef" />
</div>
@ -36,6 +37,7 @@ import { useSettingsStore } from '@/store/modules/settings';
import { usePermissionStore } from '@/store/modules/permission';
import { initWebSocket } from '@/utils/websocket';
import { initSSE } from '@/utils/sse';
import router from '@/router';
const permissionStore = usePermissionStore();
const settingsStore = useSettingsStore();
@ -73,6 +75,9 @@ const settingRef = ref<InstanceType<typeof Settings>>();
onMounted(() => {
nextTick(() => {
navbarRef.value?.initTenantList();
if (permissionStore.iframeMode && permissionStore.fullscreenRoute && router.currentRoute.value.path !== permissionStore.fullscreenRoute) {
router.replace(permissionStore.fullscreenRoute);
}
});
});
@ -158,4 +163,10 @@ const setLayout = () => {
border: none;
display: block;
}
.iframe-full-page {
width: 100%;
min-height: calc(100vh - 50px);
overflow: auto;
}
</style>

25
zdxt-web-client/zdxt-admin-plus-ui/src/router/index.ts

@ -240,6 +240,31 @@ export const constantRoutes: RouteRecordRaw[] = [
meta: { title: '普法服务详情', activeMenu: '/supervision/educationServices' }
}
]
},
{
path: '/enforcement-code/statistical',
component: Layout,
hidden: true,
children: [
{
path: 'home',
component: () => import('@/views/supervision/statistical/home/index.vue'),
name: 'StatisticalHome',
meta: { title: '首页统计分析', fullscreen: true }
},
{
path: 'city-direct',
component: () => import('@/views/supervision/statistical/city-direct/index.vue'),
name: 'StatisticalCityDirect',
meta: { title: '市直综合分析', fullscreen: true }
},
{
path: 'district-direct',
component: () => import('@/views/supervision/statistical/district-direct/index.vue'),
name: 'StatisticalDistrictDirect',
meta: { title: '各区综合分析', fullscreen: true }
}
]
}
];

21
zdxt-web-client/zdxt-admin-plus-ui/src/store/modules/permission.ts

@ -20,12 +20,14 @@ export interface SystemCodeOption {
icon: string;
/** 当设置了 iframeUrl 时,切换到该选项会以全屏 iframe 展示,而非加载菜单路由 */
iframeUrl?: string;
/** 当设置了 fullscreenRoute 时,切换到该选项会以全屏 Vue 路由展示 */
fullscreenRoute?: string;
}
/** 404 兜底路由名称,方便动态移除和重新添加 */
export const CATCH_ALL_ROUTE_NAME = 'CatchAll404';
export const systemCodeOptions: SystemCodeOption[] = [
{ label: '首页', value: 'planindex', icon: 'HomeFilled', iframeUrl: '/enforcement-code-v1/statistical/home.html' },
{ label: '首页', value: 'planindex', icon: 'HomeFilled', fullscreenRoute: '/enforcement-code/statistical/home' },
{ label: '执法监督码', value: 'supervisionCode', icon: 'Document' },
{ label: '后台管理', value: 'authService', icon: 'Setting' }
];
@ -45,9 +47,11 @@ export const usePermissionStore = defineStore('permission', () => {
const savedOption = systemCodeOptions.find((o) => o.value === savedCode);
const currentSystemCode = ref<string>(savedCode);
/** 当前是否处于 iframe 全屏模式 */
const iframeMode = ref<boolean>(savedOption?.iframeUrl ? true : false);
const iframeMode = ref<boolean>(!!(savedOption?.iframeUrl || savedOption?.fullscreenRoute));
/** 当前 iframe 地址 */
const iframeUrl = ref<string>(savedOption?.iframeUrl || '');
/** 当前全屏 Vue 路由地址 */
const fullscreenRoute = ref<string>(savedOption?.fullscreenRoute || '');
const getRoutes = (): RouteRecordRaw[] => {
return routes.value as RouteRecordRaw[];
@ -154,16 +158,20 @@ export const usePermissionStore = defineStore('permission', () => {
currentSystemCode.value = systemCode;
sessionStorage.setItem(SYSTEM_CODE_KEY, systemCode);
const option = systemCodeOptions.find((o) => o.value === systemCode);
// 判断是否为 iframe 模式
if (option?.iframeUrl) {
// 判断是否为全屏模式(iframe 或 Vue 路由)
if (option?.iframeUrl || option?.fullscreenRoute) {
iframeMode.value = true;
iframeUrl.value = option.iframeUrl;
// iframe 模式下清空侧边栏路由
iframeUrl.value = option.iframeUrl || '';
fullscreenRoute.value = option.fullscreenRoute || '';
setSidebarRouters([]);
if (option.fullscreenRoute) {
await router.push(option.fullscreenRoute);
}
return;
}
iframeMode.value = false;
iframeUrl.value = '';
fullscreenRoute.value = '';
// ====== 彻底清理所有动态路由,保证路由表干净 ======
// 1. 收集所有静态路由名称(包括子路由)
@ -230,6 +238,7 @@ export const usePermissionStore = defineStore('permission', () => {
currentSystemCode,
iframeMode,
iframeUrl,
fullscreenRoute,
visibleSystemCodeOptions,
getRoutes,

16
zdxt-web-client/zdxt-admin-plus-ui/src/utils/request.ts

@ -151,13 +151,19 @@ service.interceptors.response.use(
}
return Promise.reject('无效的会话,或者会话已过期,请重新登录。');
} else if (code === HttpStatus.SERVER_ERROR) {
ElMessage({ message: msg, type: 'error' });
if (res.config.headers?.silent !== true && res.config.headers?.silent !== 'true') {
ElMessage({ message: msg, type: 'error' });
}
return Promise.reject(new Error(msg));
} else if (code === HttpStatus.WARN) {
ElMessage({ message: msg, type: 'warning' });
if (res.config.headers?.silent !== true && res.config.headers?.silent !== 'true') {
ElMessage({ message: msg, type: 'warning' });
}
return Promise.reject(new Error(msg));
} else if (code !== HttpStatus.SUCCESS) {
ElNotification.error({ title: msg });
if (res.config.headers?.silent !== true && res.config.headers?.silent !== 'true') {
ElNotification.error({ title: msg });
}
return Promise.reject('error');
} else {
return Promise.resolve(res.data);
@ -172,7 +178,9 @@ service.interceptors.response.use(
} else if (message.includes('Request failed with status code')) {
message = '系统接口' + message.substr(message.length - 3) + '异常';
}
ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
if (error?.config?.headers?.silent !== true && error?.config?.headers?.silent !== 'true') {
ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
}
return Promise.reject(error);
}
);

12
zdxt-web-client/zdxt-efcode-enterprise-app/src/api/enterprise/index.js

@ -4,11 +4,11 @@ import { _get, _post,_form,_delete } from "../../http/index";
let enterpriseAppBaseUrl = "/app-ent";
// 企业端用户登录
export const enterpriseLogin = (params, success, error) => _post(enterpriseAppBaseUrl + "/enterprise/login/siqLogin", params, success, error);
export const enterpriseLogin = (params, success, error) => _post(enterpriseAppBaseUrl + "/enterprise/login/siqLoginMock", params, success, error);
export const enterpriseLoginByPassword = (params, success, error) => _post(enterpriseAppBaseUrl + "/login/do", params, success, error);
// 获取包裹的数据
export const siqCode = (params, success, error) => _get(enterpriseAppBaseUrl+"/thirdLogin/getSiqCode",params,success,error);
// 获取深i企鉴权 accessKey / accessSecret
export const siqCode = (params, success, error) => _get(enterpriseAppBaseUrl + "/enterprise/login/getSiqCode", params, success, error);
// 获取用户关联的企业信息
@ -82,11 +82,11 @@ export const getDeptList = (params, success, error) => _get("/enforcementcode/vi
//投诉事项列表
export const getComplaintItemList = (params, success, error) => _post(enterpriseAppBaseUrl +"/complaint/listNotComplaint",params,success,error)
//深i企登录-暂时没有环境调通
export const getSiqLoginAuth = (params, success, error) => _post(enterpriseAppBaseUrl +"/thirdLogin/siqLogin",params,success,error);
//深i企登录
export const getSiqLoginAuth = (params, success, error) => _post(enterpriseAppBaseUrl + "/enterprise/login/siqLogin", params, success, error);
//深i企模拟登录(通过userId模拟)
export const getSiqLoginAuthMock = (params, success, error) => _post(enterpriseAppBaseUrl +"/thirdLogin/siqLoginMock",params,success,error);
export const getSiqLoginAuthMock = (params, success, error) => _post(enterpriseAppBaseUrl + "/enterprise/login/siqLoginMock", params, success, error);
//强制生成二维码
export const forceGenerateQrCode = (params, success, error) => _get(enterpriseAppBaseUrl+"/enterpriseInfo/forceGenerateQrCode",params,success,error)

56
zdxt-web-client/zdxt-efcode-enterprise-app/src/views/enterprise/home/enterpriseHome.vue

@ -109,8 +109,6 @@ const generateRandomNumber = () => {
const getEnterpriseMerchant = (enterpriseNum, phoneNumber) => {
getEnterpriseMerchantAuthorization({enterpriseNumber: enterpriseNum, merchantTel: phoneNumber}, success => {
//debugger;
//console.log('------------->>>: ', success.data[0].enterpriseNumber)
if (success.data != null && success.data.length > 0) {
useCommon.SET_USER_ENTERPRISE_NUMBER(success.data[0].enterpriseNumber);
}
@ -118,29 +116,31 @@ const getEnterpriseMerchant = (enterpriseNum, phoneNumber) => {
})
}
// 判断用户信息是否已完整(企业端登录后已写入store)
const hasUserInfo = () => {
return useCommon.userId
&& useCommon.enterpriseName
&& useCommon.enterpriseNumber
&& useCommon.enterpriseId;
};
/** 登录成功后写入 store(与一期 Home.vue 一致,并补充企业名称/ID) */
const applyLoginResult = (data) => {
useCommon.SET_USER_PHONENUMBER(data.phonenumber.toString());
useCommon.SET_USER_ID(data.userId);
useCommon.SET_USER_ENTERPRISE_NUMBER(data.enterpriseNumber);
if (data.enterpriseName) {
useCommon.SET_USER_ENTERPRISE_NAME(data.enterpriseName);
}
if (data.enterpriseId) {
useCommon.SET_USER_ENTERPRISE_ID(data.enterpriseId);
}
useCommon.SET_TOKEN(data.token);
useCommon.SET_IS_FIRST_LOAD(false);
if (useCommon.firstLoad) {
isLoading.value = false;
}
getEnterpriseMerchant(data.enterpriseNumber.toString(), data.phonenumber.toString());
}
onMounted(() => {
console.log(useCommon.firstLoad);
console.log(useCommon);
isLoading.value = useCommon.firstLoad;
// 如果store中已存在完整的用户和企业信息,则跳过w6s鉴权
if (hasUserInfo()) {
console.log("用户信息已存在,跳过w6s鉴权");
isLoading.value = false;
getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString());
useCommon.SET_IS_FIRST_LOAD(false);
return;
}
siqCode(null, success => {
console.log("---> 获取密钥", success);
let access_key = "";
let access_secret = "";
if (success.success) {
@ -167,7 +167,7 @@ onMounted(() => {
console.log("鉴权", res);
}).catch((err) => {
console.log("鉴权", err);
//getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString());
getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString());
});
w6s.ready(() => {
@ -178,22 +178,8 @@ onMounted(() => {
console.log("认证", res);
console.log("code: " + res.result.result.code);
getSiqLoginAuth({code: res.result.result.code}, success => {
useCommon.SET_USER_PHONENUMBER(success.data.phonenumber.toString());
useCommon.SET_USER_ID(success.data.userId);
useCommon.SET_USER_ENTERPRISE_NUMBER(success.data.enterpriseNumber);
console.log(success.data);
useCommon.SET_TOKEN(success.data.token);
console.log(useCommon.userId);
console.log(useCommon.firstLoad);
if (useCommon.firstLoad) {
isLoading.value = false;
}
//设置已经初始化
useCommon.SET_IS_FIRST_LOAD(false)
getEnterpriseMerchant(success.data.enterpriseNumber.toString(), success.data.phonenumber.toString());
if (useCommon.firstLoad) {
isLoading.value = false;
}
applyLoginResult(success.data);
}, error => {
console.log("error : " + error)
})

Loading…
Cancel
Save