diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d22ed6b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/Laravel/public/admin
diff --git a/Laravel/app/Http/Controllers/API/CAS/CasLoginController.php b/Laravel/app/Http/Controllers/API/CAS/CasLoginController.php
new file mode 100644
index 0000000..64fa40f
--- /dev/null
+++ b/Laravel/app/Http/Controllers/API/CAS/CasLoginController.php
@@ -0,0 +1,68 @@
+query('ticket');
+ $url=env('APP_URL').'/casLogin';
+ $response = Http::get(self::$CasUrl, [
+ 'service' => $url,
+ 'ticket' => $ticket,
+ ]);
+
+ if (!$response->successful()) {
+ return \Yz::JsonError("请求CAS失败");
+ }
+
+ $xml = simplexml_load_string($response->body());
+ // 注册命名空间
+ $namespaces = $xml->getNamespaces(true);
+
+// 获取 cas 命名空间下的元素
+ $cas = $xml->children($namespaces['cas']);
+
+ if ($cas === false) {
+ return \Yz::JsonError("解析CAS响应失败");
+ }
+
+
+ if (isset($cas->authenticationFailure)) {
+ return \Yz::JsonError("认证失败");
+ }
+
+ $casResponse = $cas->authenticationSuccess;
+
+ if (!$casResponse) {
+ return \Yz::JsonError("认证失败");
+ }
+
+ $res_user = (string)$casResponse->user;
+
+ $user=DB::table('users')->where(['cas_code'=>$res_user,'status'=>1])->first();
+ if(!!$user){
+ $jwt= new JWT();
+ $accessTimeout = $jwt -> GetGetSecretTimeOut();
+ $refreshTimeout = $jwt -> GetRefreshTokenTimeOut();
+ $access_token = $jwt->BuildJWT('yz','access',$user->id,$user->group,$accessTimeout);
+ $refresh_token = $jwt->BuildJWT('yz','refresh',$user->id,'',$refreshTimeout);
+ DB::table('users')->where(['id'=>$user->id,'status'=>1])->update(['token'=>md5($refresh_token)]);
+ return redirect(env('APP_URL')."/admin/#/caslogin?access_token=".$access_token."&refresh_token=".$refresh_token);
+ }else{
+ echo "登录失败,未授权或者已注销";
+ }
+
+
+
+
+ }
+}
diff --git a/Laravel/app/Http/Controllers/API/Third/PacsController.php b/Laravel/app/Http/Controllers/API/Third/PacsController.php
index 6828325..77cd695 100644
--- a/Laravel/app/Http/Controllers/API/Third/PacsController.php
+++ b/Laravel/app/Http/Controllers/API/Third/PacsController.php
@@ -49,9 +49,10 @@ class PacsController extends Controller
"app_num",
"medicalHistory",
"diagnosisName",
- "idCardNumber"
+ "idCardNumber",
+ "reservation_sources as reservation_sources_id",
- );
+ )->where(['is_del'=>0,'is_nullify'=>0]);
if(isset($dateRange)){
if(!is_array($dateRange)) return \Yz::JsonError("日期范围必须是数组");
$entrust_list=$entrust_list->whereBetween('entrust_date',[$dateRange[0],$dateRange[1]]);
@@ -69,6 +70,18 @@ class PacsController extends Controller
$entrust_list=$entrust_list->where('idCardNumber',$idCardNumber);
}
$entrust_list=$entrust_list->get();
+ foreach ($entrust_list as $entrust) {
+ $entrust->reservation_sources_name=null;
+ if(!empty($entrust->reservation_sources_id)){
+ $source=DB::table('s_department_resources')
+ ->where('id',$entrust->reservation_sources_id)
+ ->first();
+ if(!!$source){
+ $entrust->reservation_sources_name=$source->department_resources_name;
+ }
+
+ }
+ }
return \Yz::JsonReturn(true,'查询完成',$entrust_list);
}
diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php
index 59f25d3..4b66ca8 100644
--- a/Laravel/routes/web.php
+++ b/Laravel/routes/web.php
@@ -34,6 +34,7 @@ Route::get('/yiji', function (Request $request) {
return redirect("http://192.168.80.76/jq_page/appointment.html?".$queryString);
});
-
+//cas 登录
+Route::get('/casLogin', 'App\Http\Controllers\API\CAS\CasLoginController@login');
diff --git a/YiJi-admin/.env.production b/YiJi-admin/.env.production
index 6073f96..3102f3d 100644
--- a/YiJi-admin/.env.production
+++ b/YiJi-admin/.env.production
@@ -2,5 +2,5 @@ ENV = 'production'
VITE_APP_API = 'http://192.168.80.76/api/'
VITE_APP_FILE = 'http://192.168.80.76/'
-VITE_APP_API_66666666 = 'https://yiji.yuluo.online/Laravel/public/api/'
-VITE_APP_FILE_666666666 = 'https://yiji.yuluo.online/Laravel/public/'
+VITE_APP_API_66666666 = 'http://yiji-qhdzhongyiyuan/api/'
+VITE_APP_FILE_66666666 = 'http://yiji-qhdzhongyiyuan/'
diff --git a/YiJi-admin/src/router/index.js b/YiJi-admin/src/router/index.js
index 825ba25..2acd2a2 100644
--- a/YiJi-admin/src/router/index.js
+++ b/YiJi-admin/src/router/index.js
@@ -40,7 +40,15 @@ const router = createRouter({
meta: {
requiresAuth: false
}
- }, {
+ },
+ {
+ path: '/caslogin',
+ name: 'CasLogin',
+ component: () => import('../views/CasLogin.vue'),
+ meta: {
+ requiresAuth: false
+ }
+ },{
path: '/index',
name: 'Index',
component: Index,
diff --git a/YiJi-admin/src/views/AutoLogin.vue b/YiJi-admin/src/views/AutoLogin.vue
index 7086544..c20a812 100644
--- a/YiJi-admin/src/views/AutoLogin.vue
+++ b/YiJi-admin/src/views/AutoLogin.vue
@@ -77,8 +77,8 @@
let login = () => { //登录
if (username.value == '' || pwd.value == '') return ElMessage.error('用户名和密码不能为空')
let data = { //传参
- username: username.value,
- password: hunxiao(pwd.value),
+ username: hunxiao(username.value),
+ password: hunxiao(pwd.value) ,
}
loading.value=true
//调用登录接口
diff --git a/YiJi-admin/src/views/CasLogin.vue b/YiJi-admin/src/views/CasLogin.vue
new file mode 100644
index 0000000..d07d9d1
--- /dev/null
+++ b/YiJi-admin/src/views/CasLogin.vue
@@ -0,0 +1,44 @@
+
+
+ cas登录
+
+
+
+
+
+
\ No newline at end of file